Hi all
how would i make the billboards always face the camera using glsl?
here is my code so far
i think this is the where the the problem is
vec3 p0 = gl_PositionIn[0].xyz;
//vec3 p1 = gl_PositionIn[1].xyz; //
vec3 toCamera = normalize(gCameraPos - p0);
vec3 upa = vec3(0.0, 1.0, 0.0);
vec3 rightA = cross(toCamera, upa);
vec3 p1 = vec3(1,1,1); // sameWAY
vec3 up = vec3(1, 1, 1); // arbitrary up vector
vec3 dir = normalize(gCameraPos - p0); // normalized direction vector from p0 to p1
vec3 right = normalize(cross(dir, up)); // right vector
vec3 norm = cross(right, dir);
float fColMult = abs(dot(norm, lightDir));
vec4 colMult = vec4(fColMult, fColMult, fColMult, 1.0);
texCoordVaryingQ = texCoordVarying;
right *= thickness;
mat4 frontFacing = gl_ModelViewProjectionMatrix ;
gl_Position = frontFacing * vec4(p0 - right, 1.0);
gl_FrontColor = gl_FrontColorIn[0] * colMult;
gl_TexCoord[0].x = 0;
gl_TexCoord[0].y = 0;
EmitVertex();
gl_Position = frontFacing * vec4(p0 + right, 1.0);
gl_TexCoord[0].x = 100;
gl_TexCoord[0].y = 0;
gl_FrontColor = gl_FrontColorIn[0] * colMult;
EmitVertex();
gl_Position = frontFacing * vec4((p0+20) - right, 1.0);
gl_TexCoord[0].x = 0;
gl_TexCoord[0].y = 100.0;
EmitVertex();
gl_Position = frontFacing * vec4((p0+20) + right, 1.0);
gl_TexCoord[0].x = 100;
gl_TexCoord[0].y = 100;
EmitVertex();
lightDirQ = gl_FrontColorIn[0].xyz * colMult.xyz;
Best
Ben