Made clouds rotate when vertex shaders are enabled.

ver1_5_1
Chris Laurel 2002-08-28 04:39:20 +00:00
parent 023ece7f64
commit 9db723aa16
3 changed files with 10 additions and 3 deletions

View File

@ -2607,16 +2607,19 @@ void Renderer::renderObject(Point3f pos,
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(1, 1, 1, 1);
if (useVertexPrograms)
if (vertexShaderEnabled)
{
vp::enable();
vp::use(vp::diffuse);
vp::use(vp::diffuseTexOffset);
vp::parameter(41,
(float) -pfmod(now * atmosphere->cloudSpeed / (2*PI), 1.0),
0.0f, 0.0f, 0.0f);
}
lodSphere->render(Mesh::Normals | Mesh::TexCoords0,
viewFrustum,
ri.lod,
cloudTex);
if (useVertexPrograms)
if (vertexShaderEnabled)
{
vp::disable();
}

View File

@ -24,6 +24,7 @@ unsigned int vp::diffuseBump = 0;
unsigned int vp::diffuseBumpHaze = 0;
unsigned int vp::shadowTexture = 0;
unsigned int vp::everything = 0;
unsigned int vp::diffuseTexOffset = 0;
static string* ReadTextFromFile(const string& filename)
@ -90,6 +91,8 @@ bool vp::init()
return false;
if (!LoadVertexProgram("shaders/shadowtex.vp", shadowTexture))
return false;
if (!LoadVertexProgram("shaders/diffuse_texoff.vp", diffuseTexOffset))
return false;
everything = 0;
EXTglTrackMatrixNV(GL_VERTEX_PROGRAM_NV,

View File

@ -32,6 +32,7 @@ namespace vp
extern unsigned int diffuseBumpHaze;
extern unsigned int everything;
extern unsigned int shadowTexture;
extern unsigned int diffuseTexOffset;
};
#endif // _VERTEXPROG_H_