1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00

Simplify vertex_shader.

This commit is contained in:
Sergey Lipskiy 2015-02-20 12:38:17 +06:00
parent b353028969
commit 07599ad5ab

View File

@ -62,6 +62,20 @@ static const char* vertex_shader =
"out float vNumLights; \n"
"out float vFogFragCoord; \n"
#endif
"mediump vec2 calcTexCoord(in vec2 texCoord, in int idx) \n"
"{ \n"
" vec2 texCoordOut = texCoord*uCacheShiftScale[idx]; \n"
" if (uCacheFrameBuffer[idx] != 0) { \n"
" if (uTexMask[idx] != vec2(0.0, 0.0)) \n"
" texCoordOut -= mod(uTexOffset[idx], uTexMask[idx]); \n"
" else \n"
" texCoordOut -= uTexOffset[idx]; \n"
" texCoordOut.t = -texCoordOut.t; \n"
" } else \n"
" texCoordOut -= uTexOffset[idx]; \n"
" return (uCacheOffset[idx] + texCoordOut)* uCacheScale[idx];\n"
"} \n"
" \n"
"void main() \n"
"{ \n"
" gl_Position = aPosition; \n"
@ -71,26 +85,8 @@ static const char* vertex_shader =
" vec2 texCoord = aTexCoord0; \n"
" texCoord *= uTexScale; \n"
" if (uTexturePersp == 0) texCoord *= 0.5; \n"
" vec2 texCoord0 = texCoord*uCacheShiftScale[0]; \n"
" if (uCacheFrameBuffer[0] != 0) { \n"
" if (uTexMask[0] != vec2(0.0, 0.0)) \n"
" texCoord0 -= mod(uTexOffset[0], uTexMask[0]); \n"
" else \n"
" texCoord0 -= uTexOffset[0]; \n"
" texCoord0.t = -texCoord0.t; \n"
" } else \n"
" texCoord0 -= uTexOffset[0]; \n"
" vTexCoord0 = (uCacheOffset[0] + texCoord0)* uCacheScale[0];\n"
" vec2 texCoord1 = texCoord*uCacheShiftScale[1]; \n"
" if (uCacheFrameBuffer[1] != 0) { \n"
" if (uTexMask[1] != vec2(0.0, 0.0)) \n"
" texCoord1 -= mod(uTexOffset[1], uTexMask[1]); \n"
" else \n"
" texCoord1 -= uTexOffset[1]; \n"
" texCoord1.t = -texCoord1.t; \n"
" } else \n"
" texCoord1 -= uTexOffset[1]; \n"
" vTexCoord1 = (uCacheOffset[1] + texCoord1)* uCacheScale[1];\n"
" vTexCoord0 = calcTexCoord(texCoord, 0); \n"
" vTexCoord1 = calcTexCoord(texCoord, 1); \n"
" vLodTexCoord = texCoord * uCacheShiftScale[0]; \n"
" vNumLights = aNumLights; \n"
" switch (uFogMode) { \n"