here is my vertex shader
#version 330
uniform mat4 modelViewMatrix;
uniform mat4 projectionMatrix;
uniform bool foundElbow;
uniform int elbowBoneIndex; // Ajout de la variable uniforme pour l'indice de l'os "elbow"
layout (location = 0) in vec3 vsiPosition;
layout (location = 1) in vec3 vsiNormal;
layout (location = 2) in vec2 vsiTexCoord;
layout (location = 3) in float vsiIsVertexReached;
layout(location= 4) in uint material;
layout (location = 3) in ivec4 boneIDs;
layout (location = 4) in vec4 boneWeights;
uniform mat4 boneMatrices[100]; // Assuming a maximum of 100 bones
out vec2 vsoTexCoord;
out vec3 vsoNormal;
out vec4 vsoModPosition;
out float vsoIsVertexReached; // New output attribute
out vec4 vsoVertexColor; // New output attribute
void main(void) {
vsoNormal = (transpose(inverse(modelViewMatrix)) * vec4(vsiNormal.xyz, 0.0)).xyz;
vsoModPosition = modelViewMatrix * vec4(vsiPosition.xyz, 1.0);
if (foundElbow || boneIDs.x == elbowBoneIndex || boneIDs.y == elbowBoneIndex ||
boneIDs.z == elbowBoneIndex || boneIDs.w == elbowBoneIndex) {
vsoVertexColor = vec4(1.0, 0.0, 0.0, 1.0); // Colorize in red
} else {
vsoVertexColor = vec4(1.0, 1.0, 1.0, 1.0); // Use the default color (white)
}
gl_Position = projectionMatrix * modelViewMatrix * vec4(vsiPosition.xyz, 1.0);
vsoTexCoord = vec2(vsiTexCoord.x, 1.0 - vsiTexCoord.y);
vsoIsVertexReached = vsiIsVertexReached;
}```
i don't understand why it colors all my 3d object instead of just my elbow bone part
can someone help me please
thank you