Bläddra i källkod

Fix DrawMeshInstanced breaking if instanceTransform is unused (#5469)

pull/5473/head
Michael Kolupaev 4 veckor sedan
committed by GitHub
förälder
incheckning
c4b11a30cd
Ingen känd nyckel hittad för denna signaturen i databasen GPG-nyckel ID: B5690EEEBB952194
1 ändrade filer med 7 tillägg och 4 borttagningar
  1. +7
    -4
      src/rmodels.c

+ 7
- 4
src/rmodels.c Visa fil

@ -1762,11 +1762,14 @@ void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, i
instancesVboId = rlLoadVertexBuffer(instanceTransforms, instances*sizeof(float16), false);
// Instances transformation matrices are sent to shader attribute location: SHADER_LOC_VERTEX_INSTANCE_TX
for (unsigned int i = 0; i < 4; i++)
if (material.shader.locs[SHADER_LOC_VERTEX_INSTANCE_TX] != -1)
{
rlEnableVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_INSTANCE_TX] + i);
rlSetVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_INSTANCE_TX] + i, 4, RL_FLOAT, 0, sizeof(Matrix), i*sizeof(Vector4));
rlSetVertexAttributeDivisor(material.shader.locs[SHADER_LOC_VERTEX_INSTANCE_TX] + i, 1);
for (unsigned int i = 0; i < 4; i++)
{
rlEnableVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_INSTANCE_TX] + i);
rlSetVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_INSTANCE_TX] + i, 4, RL_FLOAT, 0, sizeof(Matrix), i*sizeof(Vector4));
rlSetVertexAttributeDivisor(material.shader.locs[SHADER_LOC_VERTEX_INSTANCE_TX] + i, 1);
}
}
rlDisableVertexBuffer();

Laddar…
Avbryt
Spara