2013-10-09 65 views
1

如何在Script#中包裝WebGL。腳本#包裝WebGL?

我試圖添加東西到源代碼,但得到編譯錯誤,我不明白。

[ScriptIgnoreNamespace] 
    [ScriptImport] 
    [ScriptName("webGL")] 
    public sealed class WebGL 
    { 
     [ScriptName("fooGL")] 
     public void Foo(string test) 
     { 

     } 
    } 

錯誤1基類或接口 'System.FormatException' 在 組件 'mscorlib程序,版本= 2.0.0.0,文化=中性 公鑰= b77a5c561934e089' 由 類型引用的「System.UriFormatException 「不能 解決C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ System.dll中的Web

還是有更好的方式方法來添加WebGL的支持,作爲一個lib而不是直接將它添加到主要來源?

編輯:看起來像編譯器錯誤是從VS自動添加System.dll到項目,它不應該是。現在刪除它後編譯。所以現在的問題是在Script#中封裝一個javaScript API的最佳方式是什麼?

+0

WebGL使用的GLSL不是JavaScript。腳本#僅顯示生成的JavaScript。我不太清楚爲什麼你會認爲這會起作用。 – JayC

+0

「GLSL」是Shader朗,而不是GLES2朗。 WebGL通過javaScript控制GLES2,它不控制GLSL,GLES2是什麼負責GLSL ... – zezba9000

+0

這就像斯巴魯森林人和斯巴魯傲虎之間的差異。他們都是斯巴魯。即使是WebGL規範也能區分這一點。 「不能允許着色器引用在其他版本的GLSL中可用的狀態變量或函數,例如在用於桌面的OpenGL版本中可用的變量或函數。」如果我們想要迂腐,WebGL中的着色器不是GLES2,它*主要是*子集。請參閱=> https://www.khronos.org/registry/webgl/specs/1.0/#6 – JayC

回答

0

你應該看看github上的S#源代碼是如何編寫包裝器的。它們只是使用ScriptImport屬性標記的類,而內部方法/屬性具有空值/正文。

看看信息來源here