Shader
Спадковість: Object
Підтримувані платформи:
Available since version: Gideros 2015.06.30
Опис:
Gideros внутрішньо використовує п'ять різних шейдерів:
- ‘Basic’ з постійним кольором
- ‘Color’ з кольоровими вершинами (найчастіше використовуються Mesh)
- ‘Texture’ фігури (Bitmaps)
- ‘TextureColor’ shader handle textured and per-vertex colored shapes
- ‘Particle’ системами частинок Box2D
Новий шейдер API дозволяє замінити шейдер за умовчанням, який використовує Gideros, з індивідуальним, . Як і у більшості API Gideros, : створіть об'єкт Shader і призначте його одному або декільком спрайтам.
Тим не менш, оскільки Gideros буде використовувати ваш шейдер як стандартний, вам доведеться переконатися, що ваш власний шейдер сумісний зі стандартним, що, по суті, означає, що він має однакові вхідні параметри
- ‘Basic’ з постійним кольором
- ‘Color’ з кольоровими вершинами (найчастіше використовуються Mesh)
- ‘Texture’ фігури (Bitmaps)
- ‘TextureColor’ shader handle textured and per-vertex colored shapes
- ‘Particle’ системами частинок Box2D
Новий шейдер API дозволяє замінити шейдер за умовчанням, який використовує Gideros, з індивідуальним, . Як і у більшості API Gideros, : створіть об'єкт Shader і призначте його одному або декільком спрайтам.
Тим не менш, оскільки Gideros буде використовувати ваш шейдер як стандартний, вам доведеться переконатися, що ваш власний шейдер сумісний зі стандартним, що, по суті, означає, що він має однакові вхідні параметри
використання та приклади:
Приклад шейдера
--Шейдери знаходяться у файлах vShader.glsl та fShader.glsl
local shader=Shader.new("vShader","fShader",0, {
{name="vMatrix",type=Shader.CMATRIX,sys=Shader.SYS_WVP,vertex=true},
{name="fColor",type=Shader.CFLOAT4,sys=Shader.SYS_COLOR,vertex=false},
{name="fTexture",type=Shader.CTEXTURE,vertex=false},
{name="fTexelSize",type=Shader.CFLOAT4,vertex=false},
{name="fRad",type=Shader.CINT,vertex=false}, },
{ {name="vVertex",type=Shader.DFLOAT,mult=3,slot=0,offset=0},
{name="vColor",type=Shader.DUBYTE,mult=4,slot=1,offset=0},
{name="vTexCoord",type=Shader.DFLOAT,mult=2,slot=2,offset=0}, });
shader:setConstant("fRad",Shader.CINT,1,0) --Початковий рівень розмитості
shader:setConstant("fTexelSize",Shader.CFLOAT4,1,{1/texw,1/texh,0,0}) --Початковий розмір текселя
sprite:setShader(shader)
Методи, евенти та властивості:
Методи |
---|
Shader.new |
Shader:getEngineVersion |
Shader:getShaderLanguage |
Shader:setConstant |
Властивості |
---|
Shader.CFLOAT |
Shader.CFLOAT4 |
Shader.CINT |
Shader.CMATRIX |
Shader.CTEXTURE |
Shader.DBYTE |
Shader.DFLOAT |
Shader.DINT |
Shader.DSHORT |
Shader.DUBYTE |
Shader.DUSHORT |
Shader.FLAG_FROM_CODE |
Shader.FLAG_NONE |
Shader.FLAG_NO_DEFAULT_HEADER |
Shader.SYS_COLOR |
Shader.SYS_NONE |
Shader.SYS_PARTICLESIZE |
Shader.SYS_TEXTUREINFO |
Shader.SYS_WIT |
Shader.SYS_WORLD |
Shader.SYS_WVP |
Успадковані методи |
---|
Object:getBaseClass |
Object:getClass |
Object:isInstanceOf |
Немає коментарів:
Дописати коментар