#coloring a bone

4 messages · Page 1 of 1 (latest)

modest violet
#

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
fast jolt
#

you can output all the other values and check values in renderdoc to "debug"

modest violet
#

all other values of what exactly?

fast jolt
#

of whatever variable you want to take a look at