2014-01-13 92 views
4

我有大量的GLSL片段着色器,我幾乎可以保證它們符合#version 120它們使用標準的非ES符合值並且它們沒有任何ES特定的編譯指示。是否有可能使用WebGL運行#version 120着色器

我真的想爲他們使用WebGL製作Web預覽器。預覽器不會在手機上使用。這是可行的嗎?與GLSL版本相比,WebGL中受GLSL着色器影響的功能集是否受到限制?有精度差異嗎?

我已經試過與THREE.js玩過,但是這並沒有真正消除它,因爲它在加載到GPU(我不能這麼做)之前將我的着色器代碼分解了。

簡而言之:GLSL規範是否足以讓我運行這些着色器?..因爲如果它不是我所能做到的,我應該放棄它。

回答

3

不,WebGL着色器必須是版本號100。其他任何東西都是不允許的。

如果您很好奇爲什麼這是因爲WebGL需要儘可能多地運行。如果您可以選擇任何版本,則您的網頁只能在具有處理該版本的GPU /驅動程序的系統上運行。

WebGL的下一個版本將提高版本號。它將允許GLSL ES 3.0(注意ES)。目前在Chrome和Firefox中可以使用2016年5月後的國旗

+0

謝謝。讓我難過(儘管這是一個非常具體的用例)。 – Julik

相關問題