diff options
| author | Ray <raysan5@gmail.com> | 2016-06-10 08:58:37 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-10 08:58:37 +0200 |
| commit | 296378299259c86af58d5bda5d4654680ef87f08 (patch) | |
| tree | 5d5b4ca2dc079b74c9228b8f1174b7e54891fe1b /src/rlgl.c | |
| parent | fb9047735465537d97c78fdf56bccf7b74ba0bb7 (diff) | |
| parent | 77f599885dade4930fb01baca22db6e2ae0c9f20 (diff) | |
| download | raylib-296378299259c86af58d5bda5d4654680ef87f08.tar.gz raylib-296378299259c86af58d5bda5d4654680ef87f08.zip | |
Merge pull request #128 from victorfisac/develop
Adapted shaders for OpenGL ES 2.0
Diffstat (limited to 'src/rlgl.c')
| -rw-r--r-- | src/rlgl.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -1795,8 +1795,13 @@ void rlglDrawMesh(Mesh mesh, Material material, Matrix transform) // NOTE: standard shader specific locations are got at render time to keep Shader struct as simple as possible (with just default shader locations) if (material.shader.id == standardShader.id) { + // Transpose and inverse model transformations matrix for fragment normal calculations + Matrix transInvTransform = transform; + MatrixTranspose(&transInvTransform); + MatrixInvert(&transInvTransform); + // Send model transformations matrix to shader - glUniformMatrix4fv(glGetUniformLocation(material.shader.id, "modelMatrix"), 1, false, MatrixToFloat(transform)); + glUniformMatrix4fv(glGetUniformLocation(material.shader.id, "modelMatrix"), 1, false, MatrixToFloat(transInvTransform)); // Send view transformation matrix to shader. View matrix 8, 9 and 10 are view direction vector axis values (target - position) glUniform3f(glGetUniformLocation(material.shader.id, "viewDir"), matView.m8, matView.m9, matView.m10); |
