|
|
@ -1253,8 +1253,11 @@ void UploadMesh(Mesh *mesh, bool dynamic) |
|
|
|
mesh->vboId[RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT] = 0; // Vertex buffer: tangents |
|
|
|
mesh->vboId[RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2] = 0; // Vertex buffer: texcoords2 |
|
|
|
mesh->vboId[RL_DEFAULT_SHADER_ATTRIB_LOCATION_INDICES] = 0; // Vertex buffer: indices |
|
|
|
|
|
|
|
#ifdef RL_SUPPORT_MESH_ANIMATION_VBO |
|
|
|
mesh->vboId[RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEIDS] = 0; // Vertex buffer: boneIds |
|
|
|
mesh->vboId[RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEWEIGHTS] = 0; // Vertex buffer: boneWeights |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) |
|
|
@ -1819,7 +1822,8 @@ void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, i |
|
|
|
rlSetVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_TEXCOORD02], 2, RL_FLOAT, 0, 0, 0); |
|
|
|
rlEnableVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_TEXCOORD02]); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef RL_SUPPORT_MESH_ANIMATION_VBO |
|
|
|
// Bind mesh VBO data: vertex bone ids (shader-location = 6, if available) |
|
|
|
if (material.shader.locs[SHADER_LOC_VERTEX_BONEIDS] != -1) |
|
|
|
{ |
|
|
@ -1835,6 +1839,7 @@ void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, i |
|
|
|
rlSetVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_BONEWEIGHTS], 4, RL_FLOAT, 0, 0, 0); |
|
|
|
rlEnableVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_BONEWEIGHTS]); |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
if (mesh.indices != NULL) rlEnableVertexBufferElement(mesh.vboId[RL_DEFAULT_SHADER_ATTRIB_LOCATION_INDICES]); |
|
|
|
} |
|
|
|