aboutsummaryrefslogtreecommitdiff
path: root/src/GPU3D_OpenGL_shaders.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/GPU3D_OpenGL_shaders.h')
-rw-r--r--src/GPU3D_OpenGL_shaders.h26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/GPU3D_OpenGL_shaders.h b/src/GPU3D_OpenGL_shaders.h
index a1aa95a..b12dc61 100644
--- a/src/GPU3D_OpenGL_shaders.h
+++ b/src/GPU3D_OpenGL_shaders.h
@@ -42,14 +42,14 @@ uniform uint uOpaquePolyID;
uniform uint uFogFlag;
out vec4 oColor;
-out uvec3 oAttr;
+out vec3 oAttr;
void main()
{
oColor = vec4(uColor).bgra / 31.0;
- oAttr.r = uOpaquePolyID;
- oAttr.g = uint(0);
- oAttr.b = uFogFlag;
+ oAttr.r = float(uOpaquePolyID) / 63.0;
+ oAttr.g = 0;
+ oAttr.b = float(uFogFlag);
}
)";
@@ -69,7 +69,7 @@ void main()
const char* kFinalPassFS = kShaderHeader R"(
uniform sampler2D DepthBuffer;
-uniform usampler2D AttrBuffer;
+uniform sampler2D AttrBuffer;
layout(std140) uniform uConfig
{
@@ -122,7 +122,7 @@ void main()
vec4 ret = vec4(0,0,0,0);
vec4 depth = texelFetch(DepthBuffer, coord, 0);
- ivec4 attr = ivec4(texelFetch(AttrBuffer, coord, 0));
+ vec4 attr = texelFetch(AttrBuffer, coord, 0);
if (attr.b != 0) ret = CalculateFog(depth.r);
@@ -178,7 +178,7 @@ smooth in vec2 fTexcoord;
flat in ivec3 fPolygonAttr;
out vec4 oColor;
-out uvec3 oAttr;
+out vec3 oAttr;
int TexcoordWrap(int c, int maxc, int mode)
{
@@ -618,8 +618,8 @@ void main()
if (col.a < 30.5/31) discard;
oColor = col;
- oAttr.r = uint((fPolygonAttr.x >> 24) & 0x3F);
- oAttr.b = uint((fPolygonAttr.x >> 15) & 0x1);
+ oAttr.r = float((fPolygonAttr.x >> 24) & 0x3F) / 63.0;
+ oAttr.b = float((fPolygonAttr.x >> 15) & 0x1);
}
)";
@@ -633,8 +633,8 @@ void main()
if (col.a < 30.5/31) discard;
oColor = col;
- oAttr.r = uint((fPolygonAttr.x >> 24) & 0x3F);
- oAttr.b = uint((fPolygonAttr.x >> 15) & 0x1);
+ oAttr.r = float((fPolygonAttr.x >> 24) & 0x3F) / 63.0;
+ oAttr.b = float((fPolygonAttr.x >> 15) & 0x1);
gl_FragDepth = fZ;
}
)";
@@ -648,7 +648,7 @@ void main()
if (col.a >= 30.5/31) discard;
oColor = col;
- oAttr.b = uint(0);
+ oAttr.b = 0;
}
)";
@@ -663,7 +663,7 @@ void main()
if (col.a >= 30.5/31) discard;
oColor = col;
- oAttr.b = uint(0);
+ oAttr.b = 0;
gl_FragDepth = fZ;
}
)";