You are not logged in.
I'm trying to use a specular light with a textured object and I get a crazy black&white image. If I use the same object but without textures, specular light works as expected.
Somebody knows what could be wrong.
My code as follows:
GRRLIB_SetLightSpot(1, (guVector){ 5.0f, 0.8f, 0 }, (guVector){ 0.0f, 0.0f, cubeZ }, -4.0f, 5.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0xFFFFFFFF); GRRLIB_3dMode(0.1,1000,45,1,1); GRRLIB_ObjectView(0,0,cubeZ, a,a*2,a*3,2,2,2); GRRLIB_SetTexture(tex_girl,0); GX_Begin(GX_QUADS, GX_VTXFMT0, 24); // cara trasera // coordenada x de textura se aplica sobre la coordenada x del poligono // coordenada y de textura se aplica sobre la coordenada y del poligono GX_Position3f32(-0.5f,+0.5f,-0.5f); GX_Normal3f32(+0.0,+0.0,-1.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,0.0f); GX_Position3f32(-0.5f,-0.5f,-0.5f); GX_Normal3f32(+0.0,+0.0,-1.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,0.0f); GX_Position3f32(+0.5f,-0.5f,-0.5f); GX_Normal3f32(+0.0,+0.0,-1.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,1.0f); GX_Position3f32(+0.5f,+0.5f,-0.5f); GX_Normal3f32(+0.0,+0.0,-1.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,1.0f); // cara delantera // coordenada x de textura se aplica sobre la coordenada x del poligono // coordenada y de textura se aplica sobre la coordenada y del poligono GX_Position3f32(-0.5f,+0.5f,+0.5f); GX_Normal3f32(+0.0,+0.0,+1.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,0.0f); GX_Position3f32(+0.5f,+0.5f,+0.5f); GX_Normal3f32(+0.0,+0.0,+1.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,0.0f); GX_Position3f32(+0.5f,-0.5f,+0.5f); GX_Normal3f32(+0.0,+0.0,+1.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,1.0f); GX_Position3f32(-0.5f,-0.5f,+0.5f); GX_Normal3f32(+0.0,+0.0,+1.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,1.0f); // cara superior // coordenada x de textura se aplica sobre la coordenada x del poligono // coordenada y de textura se aplica sobre la coordenada z del poligono GX_Position3f32(-0.5f,+0.5f,+0.5f); GX_Normal3f32(+0.0,+1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,0.0f); GX_Position3f32(+0.5f,+0.5f,+0.5f); GX_Normal3f32(+0.0,+1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,0.0f); GX_Position3f32(+0.5f,+0.5f,-0.5f); GX_Normal3f32(+0.0,+1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,1.0f); GX_Position3f32(-0.5f,+0.5f,-0.5f); GX_Normal3f32(+0.0,+1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,1.0f); // cara inferior // coordenada x de textura se aplica sobre la coordenada x del poligono // coordenada y de textura se aplica sobre la coordenada z del poligono GX_Position3f32(-0.5f,-0.5f,+0.5f); GX_Normal3f32(+0.0,-1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,0.0f); GX_Position3f32(+0.5f,-0.5f,+0.5f); GX_Normal3f32(+0.0,-1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,0.0f); GX_Position3f32(+0.5f,-0.5f,-0.5f); GX_Normal3f32(+0.0,-1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,1.0f); GX_Position3f32(-0.5f,-0.5f,-0.5f); GX_Normal3f32(+0.0,-1.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,1.0f); // cara izquierda // coordenada x de textura se aplica sobre la coordenada z del poligono // coordenada y de textura se aplica sobre la coordenada y del poligono GX_Position3f32(-0.5f,+0.5f,+0.5f); GX_Normal3f32(-1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,0.0f); GX_Position3f32(-0.5f,+0.5f,-0.5f); GX_Normal3f32(-1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,0.0f); GX_Position3f32(-0.5f,-0.5f,-0.5f); GX_Normal3f32(-1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,1.0f); GX_Position3f32(-0.5f,-0.5f,+0.5f); GX_Normal3f32(-1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,1.0f); // cara derecha // coordenada x de textura se aplica sobre la coordenada z del poligono // coordenada y de textura se aplica sobre la coordenada y del poligono GX_Position3f32(+0.5f,+0.5f,+0.5f); GX_Normal3f32(+1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,0.0f); GX_Position3f32(+0.5f,+0.5f,-0.5f); GX_Normal3f32(+1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,0.0f); GX_Position3f32(+0.5f,-0.5f,-0.5f); GX_Normal3f32(+1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(1.0f,1.0f); GX_Position3f32(+0.5f,-0.5f,+0.5f); GX_Normal3f32(+1.0,+0.0,+0.0); GX_Color1u32(col); GX_TexCoord2f32(0.0f,1.0f); GX_End();
Last edited by wilco2009 (2012-01-01 12:19:57)
Offline
hi,
i already talk to shagkur about specular bug :
http://devkitpro.org/viewtopic.php?f=7&t=1933
Offline