Using specular lights with textured objects January 01, 2012 12:21PM | Registered: 13 years ago Posts: 87 |
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();