aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRay <raysan5@gmail.com>2019-04-05 17:08:46 +0200
committerRay <raysan5@gmail.com>2019-04-05 17:08:46 +0200
commit9282b8ba83909b353fd34a9f584597338c1928bd (patch)
treec0bcdf9b45678575a1450a5149271779541e99fb /src
parentc600dd07668f301fc1a986326d807f341e6ecb78 (diff)
downloadraylib-9282b8ba83909b353fd34a9f584597338c1928bd.tar.gz
raylib-9282b8ba83909b353fd34a9f584597338c1928bd.zip
ADDED: SetShaderValueTexture()
Some tweaks
Diffstat (limited to 'src')
-rw-r--r--src/raylib.h3
-rw-r--r--src/rlgl.h16
2 files changed, 16 insertions, 3 deletions
diff --git a/src/raylib.h b/src/raylib.h
index 55943baf..dc864b8d 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -1331,7 +1331,8 @@ RLAPI Texture2D GetTextureDefault(void); // Get
RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location
RLAPI void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType); // Set shader uniform value
RLAPI void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count); // Set shader uniform value vector
-RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4)
+RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4)
+RLAPI void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D texture); // Set shader uniform value for texture
RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix)
RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix)
RLAPI Matrix GetMatrixModelview(); // Get internal modelview matrix
diff --git a/src/rlgl.h b/src/rlgl.h
index bf50ad0d..81f39d68 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -207,8 +207,8 @@ typedef unsigned char byte;
// Animation vertex data
float *animVertices; // Animated vertex positions (after bones transformations)
float *animNormals; // Animated normals (after bones transformations)
- float *weightBias; // Vertex weight bias
- int *weightId; // Vertex weight id
+ int *boneIds; // Vertex bone ids, up to 4 bones influence by vertex (skinning)
+ float *boneWeights; // Vertex bone weight, up to 4 bones influence by vertex (skinning)
// OpenGL identifiers
unsigned int vaoId; // OpenGL Vertex Array Object id
@@ -3169,6 +3169,18 @@ void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat)
#endif
}
+// Set shader uniform value for texture
+void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D texture)
+{
+#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
+ glUseProgram(shader.id);
+
+ glUniform1i(uniformLoc, texture.id);
+
+ //glUseProgram(0);
+#endif
+}
+
// Set a custom projection matrix (replaces internal projection matrix)
void SetMatrixProjection(Matrix proj)
{