|
|
发表于 2006-5-30 14:13:00
|
显示全部楼层
Re: 求助:关于纹理
for (int loop=0; loop<MAX_GUNFIRES; loop++)
{
.............
///////////////////////////////////////
// Billboard
float mat[16];
glGetFloatv(GL_MODELVIEW_MATRIX, mat);
CVector3 X(mat[0], mat[4], mat[8]);
CVector3 Z(mat[1], mat[5], mat[9]);
float xx=particle[loop].x;
float yy=particle[loop].y;
float zz=particle[loop].z;
CVector3 pos(xx, yy, -zz);
////////////////////////////////////////
glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(1,1);glVertex3f((pos+(X+Z)* 0.5).x, (pos+(X+Z)* 0.5).y, (pos+(X+Z)* 0.5).z);//右上角
glTexCoord2f(0,1);glVertex3f((pos+(Z-X)* 0.5).x, (pos+(Z-X)* 0.5).y, (pos+(Z-X)* 0.5).z);//左上角
glTexCoord2f(1,0);glVertex3f((pos+(X-Z)* 0.5).x, (pos+(X-Z)* 0.5).y, (pos+(X-Z)* 0.5).z);//右下角
glTexCoord2f(0,0);glVertex3f((pos+(X+Z)*-0.5).x, (pos+(X+Z)*-0.5).y, (pos+(X+Z)*-0.5).z);//左下角
glEnd();
.................
} |
|