OGL32CTX: Replace implicitly defined uniforms in displace

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14985 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
vincentlj
2014-01-09 17:32:51 +00:00
parent 75b492b871
commit 9a99c3dae6
2 changed files with 12 additions and 2 deletions

View File

@@ -1,13 +1,16 @@
#version 130
uniform mat4 ModelViewMatrix;
uniform mat4 ProjectionMatrix;
out vec2 uv;
out vec2 edger_uv;
out float camdist;
void main() {
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
vec4 position = ModelViewMatrix * gl_Vertex;
gl_Position = ProjectionMatrix * position;
uv = gl_MultiTexCoord0.xy;
edger_uv = gl_MultiTexCoord1.xy;
camdist = length((gl_ModelViewMatrix * gl_Vertex).xyz);
camdist = length(position.xyz);
}

View File

@@ -754,6 +754,13 @@ void CausticsProvider::OnSetConstants(IMaterialRendererServices *srv, int)
void DisplaceProvider::OnSetConstants(IMaterialRendererServices *srv, int)
{
core::matrix4 ProjectionMatrix = srv->getVideoDriver()->getTransform(ETS_PROJECTION);
core::matrix4 ModelViewMatrix = srv->getVideoDriver()->getTransform(ETS_VIEW);
ModelViewMatrix *= srv->getVideoDriver()->getTransform(ETS_WORLD);
srv->setVertexShaderConstant("ProjectionMatrix", ProjectionMatrix.pointer(), 16);
srv->setVertexShaderConstant("ModelViewMatrix", ModelViewMatrix.pointer(), 16);
const float time = irr_driver->getDevice()->getTimer()->getTime() / 1000.0f;
const float speed = World::getWorld()->getTrack()->getDisplacementSpeed();