Fix texture matrix for gles2 driver
This commit is contained in:
parent
16173207ee
commit
b77160527c
data/shaders/irrlicht
lib/irrlicht/source/Irrlicht
@ -10,7 +10,7 @@ attribute vec2 inTexCoord0;
|
||||
|
||||
uniform mat4 uMvpMatrix;
|
||||
|
||||
uniform mat4 uTextureMatrix0;
|
||||
uniform vec2 uTextureTrans0;
|
||||
//uniform mat4 uTextureMatrix1;
|
||||
|
||||
/* Varyings */
|
||||
@ -24,8 +24,7 @@ void main(void)
|
||||
{
|
||||
gl_Position = uMvpMatrix * vec4(inVertexPosition,1.0);
|
||||
|
||||
vec4 TexCoord0 = vec4(inTexCoord0.x, inTexCoord0.y, 0.0, 0.0);
|
||||
varTexCoord0 = vec4(uTextureMatrix0 * TexCoord0).xy;
|
||||
varTexCoord0 = inTexCoord0 + uTextureTrans0;
|
||||
|
||||
//vec4 TexCoord1 = vec4(inTexCoord1.x, inTexCoord1.y, 0.0, 0.0);
|
||||
//varTexCoord1 = vec4(uTextureMatrix1 * TexCoord1).xy;
|
||||
|
@ -166,10 +166,10 @@ bool COGLES2FixedPipelineRenderer::OnRender(IMaterialRendererServices* service,
|
||||
IMaterialRendererServices::setPixelShaderConstant("uTextureUsage0", &TextureUsage0, 1);
|
||||
//IMaterialRendererServices::setPixelShaderConstant("uTextureUsage1", &TextureUsage1, 1);
|
||||
|
||||
core::matrix4 textureMatrix0 = Driver->getTransform(video::ETS_TEXTURE_0);
|
||||
const irr::core::matrix4& textureMatrix0 = Driver->getCurrentMaterial().getTextureMatrix(0);
|
||||
//core::matrix4 textureMatrix1 = Driver->getTransform(video::ETS_TEXTURE_0);
|
||||
|
||||
IMaterialRendererServices::setPixelShaderConstant("uTextureMatrix0", textureMatrix0.pointer(), 16);
|
||||
IMaterialRendererServices::setVertexShaderConstant("uTextureTrans0", &textureMatrix0[8], 2);
|
||||
//IMaterialRendererServices::setPixelShaderConstant("uTextureMatrix1", textureMatrix1.pointer(), 16);
|
||||
|
||||
s32 TextureUnit0 = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user