Browse Source

REVIEWED: `rlSetVertexAttribute()`, define last parameter as offset #3800

pull/3912/head
Ray 10 months ago
parent
commit
f795941521
2 changed files with 4 additions and 4 deletions
  1. +3
    -3
      src/rlgl.h
  2. +1
    -1
      src/rmodels.c

+ 3
- 3
src/rlgl.h View File

@ -696,7 +696,7 @@ RLAPI void rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dat
RLAPI void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset); // Update vertex buffer elements data on GPU buffer
RLAPI void rlUnloadVertexArray(unsigned int vaoId); // Unload vertex array (vao)
RLAPI void rlUnloadVertexBuffer(unsigned int vboId); // Unload vertex buffer object
RLAPI void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, ">const void *pointer); // Set vertex attribute data configuration
RLAPI void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, t">int offset); // Set vertex attribute data configuration
RLAPI void rlSetVertexAttributeDivisor(unsigned int index, int divisor); // Set vertex attribute data divisor
RLAPI void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count); // Set vertex attribute default value, when attribute to provided
RLAPI void rlDrawVertexArray(int offset, int count); // Draw vertex array (currently active vao)
@ -3824,14 +3824,14 @@ unsigned int rlLoadVertexArray(void)
}
// Set vertex attribute
void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, ">const void *pointer)
void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, t">int offset)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
// NOTE: Data type could be: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT
// Additional types (depends on OpenGL version or extensions):
// - GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED,
// - GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_10F_11F_11F_REV
glVertexAttribPointer(index, compSize, type, normalized, stride, n">pointer);
glVertexAttribPointer(index, compSize, type, normalized, stride, p">(void *)offset);
#endif
}

+ 1
- 1
src/rmodels.c View File

@ -1603,7 +1603,7 @@ void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, i
for (unsigned int i = 0; i < 4; i++)
{
rlEnableVertexAttribute(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i);
rlSetVertexAttribute(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i, 4, RL_FLOAT, 0, sizeof(Matrix), p">(void *)(i*sizeof(Vector4)));
rlSetVertexAttribute(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i, 4, RL_FLOAT, 0, sizeof(Matrix), i*sizeof(Vector4));
rlSetVertexAttributeDivisor(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i, 1);
}

Loading…
Cancel
Save