1
Description: Reduce flickering when enabling fog in rice
2
When enabling fog in rice video plugin some polygons near the camera starts to
3
flicker, turn to white or disappear completely. This happens due to negative
4
fog coords send to OpenGL. This is invalid and should be clamped to 0.0 in that
6
Bug: http://code.google.com/p/mupen64plus/issues/detail?id=30
7
Author: Jonathan Kleinehellefort <jk@molb.org>
10
diff --git a/rice_video/RenderBase.cpp b/rice_video/RenderBase.cpp
11
index a5dcc2e716c8b5ea9c4a88bdf70815f4a2912ce4..16372271c500872abc7e9ed6fba4482ed7ce1a99 100644
12
--- a/rice_video/RenderBase.cpp
13
+++ b/rice_video/RenderBase.cpp
14
@@ -854,7 +854,7 @@ void InitVertex(uint32 dwV, uint32 vtxIndex, bool bTexture, bool openGL)
15
g_vtxProjected5[vtxIndex][1] = g_vtxTransformed[dwV].y;
16
g_vtxProjected5[vtxIndex][2] = g_vtxTransformed[dwV].z;
17
g_vtxProjected5[vtxIndex][3] = g_vtxTransformed[dwV].w;
18
- g_vtxProjected5[vtxIndex][4] = g_vecProjected[dwV].z;
19
+ g_vtxProjected5[vtxIndex][4] = max(0.0, g_vecProjected[dwV].z);
21
if( g_vtxTransformed[dwV].w < 0 ) g_vtxProjected5[vtxIndex][4] = 0;
22
g_vtxIndex[vtxIndex] = vtxIndex;