@Override public void set (BaseShader shader, int inputID, Renderable renderable, Attributes combinedAttributes) { shader.set(inputID, tmpM.set(renderable.worldTransform).inv().transpose()); } };
@Override public void set (BaseShader shader, int inputID, Renderable renderable, Attributes combinedAttributes) { shader.set(inputID, tmpM.set(renderable.worldTransform).inv().transpose()); } };
@Override public void setVertexTransform (Matrix4 transform) { vertexTransformationEnabled = transform != null; if (vertexTransformationEnabled) { positionTransform.set(transform); normalTransform.set(transform).inv().transpose(); } else { positionTransform.idt(); normalTransform.idt(); } }
@Override public void setVertexTransform (Matrix4 transform) { vertexTransformationEnabled = transform != null; if (vertexTransformationEnabled) { positionTransform.set(transform); normalTransform.set(transform).inv().transpose(); } else { positionTransform.idt(); normalTransform.idt(); } }
@Override public void render (Renderable renderable) { Material material = renderable.material; TextureAttribute diffuseTexture = (TextureAttribute)material.get(TextureAttribute.Diffuse); TextureAttribute normalTexture = (TextureAttribute)material.get(TextureAttribute.Normal); TextureAttribute specTexture = (TextureAttribute)material.get(TextureAttribute.Specular); if (diffuseTexture != null) { shaderProgram.setUniformi("u_diffuseTexture", context.textureBinder.bind(diffuseTexture.textureDescription.texture)); } if (normalTexture != null) { shaderProgram.setUniformi("u_normalTexture", context.textureBinder.bind(normalTexture.textureDescription.texture)); } if (specTexture != null) { shaderProgram.setUniformi("u_specularTexture", context.textureBinder.bind(specTexture.textureDescription.texture)); } shaderProgram.setUniformMatrix("u_worldTrans", renderable.worldTransform); shaderProgram.setUniformMatrix("u_normalMatrix", matrix3.set(renderable.worldTransform).inv().transpose()); renderable.meshPart.render(shaderProgram); }
@Override public void set (BaseShader shader, int inputID, Renderable renderable, Attributes combinedAttributes) { shader.set(inputID, tmpM.set(renderable.worldTransform).inv().transpose()); } };
@Override public void set(BaseShader shader, int inputID, Renderable renderable, Attributes combinedAttributes) { shader.set(inputID, tmpM.set(renderable.worldTransform).inv().transpose()); } };
@Override public void setVertexTransform (Matrix4 transform) { vertexTransformationEnabled = transform != null; if (vertexTransformationEnabled) { positionTransform.set(transform); normalTransform.set(transform).inv().transpose(); } else { positionTransform.idt(); normalTransform.idt(); } }
} else { mtx.set(camPersp.view).mul(m.mtxmodel); nmat.set(mtx).inv().transpose(); shader.setUniformMatrix("nmat", nmat); shader.setUniformMatrix("model", m.mtxmodel); } else { mtx.set(camPersp.view).mul(m.mtxmodel); nmat.set(mtx).inv().transpose(); shader.setUniformMatrix("nmat", nmat); shader.setUniformMatrix("model", m.mtxmodel);
nmat.set(mtx).inv().transpose(); shader.setUniformMatrix("nmat", nmat); shader.setUniformMatrix("model", model.mtxbody); nmat.set(mtx).inv().transpose(); shader.setUniformMatrix("nmat", nmat); shader.setUniformMatrix("model", model.mtxltire); nmat.set(mtx).inv().transpose(); shader.setUniformMatrix("nmat", nmat); shader.setUniformMatrix("model", model.mtxrtire);
} else { mtx2.set(camPersp.view).mul(model); nmat.set(mtx2).inv().transpose(); shader.setUniformMatrix("nmat", nmat); shader.setUniformMatrix("model", model);
private void renderTilemapPlane () { ShaderProgram shader = shNormalDepthNoDiffuse; float meshZ = -(camPersp.far - camPersp.position.z) + (camPersp.far * (1 - (camOrtho.zoom))); float k = OrthographicAlignedStillModel.BlenderToURacer; float scalex = 6, scalez = 4; Matrix4 model = mtx; tmpvec.set(camPersp.position.x, camPersp.position.y, meshZ + 0.5f); model.idt(); model.translate(tmpvec); model.rotate(1, 0, 0, 90); model.scale(scalex * k, 1, scalez * k); mtx2.set(camPersp.view).mul(model); nmat.set(mtx2).inv().transpose(); shader.begin(); shader.setUniformf("inv_depth_scale", DefaultSsaoScale); shader.setUniformf("near", camPersp.near); shader.setUniformf("far", camPersp.far); shader.setUniformMatrix("proj", camPersp.projection); shader.setUniformMatrix("view", camPersp.view); shader.setUniformMatrix("nmat", nmat); shader.setUniformMatrix("model", model); plane.render(shader, GL20.GL_TRIANGLE_FAN); shader.end(); }
Matrix3 PT = auxm1.set(gwmat3).transpose();