2011-11-05 10 views
14

Deklaruję GLSL ES programu cieniowania w pliku HTML, przy użyciu tego kodu:WebGL i HTML shader typu

<script id="shader-fs" type="x-shader/x-fragment">..shader-code..</script> 

jak widać na przykładach learning WebGL. Wszystko działa dobrze, ale nie rozumiem, dlaczego powinienem używać atrybutu type znacznika script. Chcę wiedzieć, gdzie określono wartość "x-shader/x-fragment". Kto to robi ... W3C, Khronos Group lub deweloperzy przeglądarki? Czy ktoś może mi pomóc? Tahnk ty.

+1

Poniższe komentarze są poprawne. Nie ma oficjalnej wartości dla znacznika skryptu dla shaderów. Smutno mi, gdy tutoriale robią takie rzeczy, które wyglądają na oficjalne, ale nie są. W moich próbkach zawsze używam

3

Chodzi o to, że przeglądarka nie zna typu "x-shader/x-fragment". Twój kod będzie działał dobrze, jeśli zmienisz typ na coś innego (np. "Foo").

Innymi słowy, nie ma standardu przechowywania kodu źródłowego modułu cieniującego. Ale będziesz potrzebował go jako napisu podczas kompilacji shaderów.