diff options
Diffstat (limited to 'port/shaders/opengl/default.shader.vs')
| -rw-r--r-- | port/shaders/opengl/default.shader.vs | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/port/shaders/opengl/default.shader.vs b/port/shaders/opengl/default.shader.vs new file mode 100644 index 00000000..cf0f6276 --- /dev/null +++ b/port/shaders/opengl/default.shader.vs @@ -0,0 +1,79 @@ +@prism(type='fragment', name='Fast3D Fragment Shader', version='1.0.0', description='Ported shader to prism', author='Emill & Prism Team') + +@{GLSL_VERSION} + +@{attr} vec4 aVtxPos; + +@for(i in 0..2) + @if(o_textures[i]) + @{attr} vec2 aTexCoord@{i}; + @{out} vec2 vTexCoord@{i}; + @{update_floats(2)} + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + @{attr} float aTexClampS@{i}; + @{out} float vTexClampS@{i}; + @else + @{attr} float aTexClampT@{i}; + @{out} float vTexClampT@{i}; + @end + @{update_floats(1)} + @end + @end + @end +@end + +@if(o_fog) + @{attr} vec4 aFog; + @{out} vec4 vFog; + @{update_floats(4)} +@end + +@if(o_grayscale) + @{attr} vec4 aGrayscaleColor; + @{out} vec4 vGrayscaleColor; + @{update_floats(4)} +@end + +@for(i in 0..o_inputs) + @if(o_alpha) + @{attr} vec4 aInput@{i + 1}; + @{out} vec4 vInput@{i + 1}; + @{update_floats(4)} + @else + @{attr} vec3 aInput@{i + 1}; + @{out} vec3 vInput@{i + 1}; + @{update_floats(3)} + @end +@end + +void main() { + @for(i in 0..2) + @if(o_textures[i]) + vTexCoord@{i} = aTexCoord@{i}; + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + vTexClampS@{i} = aTexClampS@{i}; + @else + vTexClampT@{i} = aTexClampT@{i}; + @end + @end + @end + @end + @end + @if(o_fog) + vFog = aFog; + @end + @if(o_grayscale) + vGrayscaleColor = aGrayscaleColor; + @end + @for(i in 0..o_inputs) + vInput@{i + 1} = aInput@{i + 1}; + @end + gl_Position = aVtxPos; + @if(opengles) + gl_Position.z *= 0.3f; + @end +}
\ No newline at end of file |
