void rgSolarSystem: [img]http://www.opengl.org/discussion_boards/ubb/biggrin.gif[/img]raw(void)
{
int nCount;
int nCopy;
int nTop = 0;
float fTemp;
VERTEX vPos;
RGMATRIX matTemp;
float fDist;
static float fZ = -100.0f;
rgfMenuFont.nHeight = rgfMenuFont.nWidth = gaVariables[GL_SCREENWIDTH].nValue / 60.0f;
rgfMenuFont.nSpacing = -rgfMenuFont.nHeight/3.0f;
glPushMatrix();
glLoadIdentity();
glTranslatef(500.0f, 200.0f, fZ);
if (keys[VK_ADD])
fZ += 50.0f;
if (keys[VK_SUBTRACT])
fZ -= 50.0f;
if (keys[VK_UP])
fZ += 5000.0f;
if (keys[VK_DOWN])
fZ -= 5000.0f;
if (gaVariables[GL_LIGHTS].bValue)
glEnable(GL_LIGHTING);
glBindTexture(GL_TEXTURE_2D, gnSolTextureID);
for (nCount = 0; nCount < 4; nCount++)
{
for (nCopy = 0; nCopy < pPlanetoids[nCount]->nCopies; nCopy++)
{
glTranslatef(pPlanetoids[nCount]->pCopies[nCopy].vPos.xPos,
pPlanetoids[nCount]->pCopies[nCopy].vPos.yPos,
-pPlanetoids[nCount]->pCopies[nCopy].vPos.zPos);
// Get the current display matrix.
glGetFloatv(GL_MODELVIEW_MATRIX, &(matTemp.element[0][0]));
glPushMatrix();
memset(&vPos, 0, sizeof(VERTEX));
MatrixMultiply(&matTemp, &vPos, &vPos);
fDist = Modulus(&vPos);
if (fDist > 9000.0f)
{
fTemp = (pPlanetoids[nCount]->pCopies[nCopy].fScale * 9000.0f) / fDist;
vPos.x = (9000.0f * vPos.x) / fDist;
vPos.y = (9000.0f * vPos.y) / fDist;
vPos.z = (9000.0f * vPos.z) / fDist;
glLoadIdentity();
glTranslatef(vPos.x, vPos.y, vPos.z);
}
else
fTemp = pPlanetoids[nCount]->pCopies[nCopy].fScale; // / 100000.0f;
glBindTexture(GL_TEXTURE_2D, pPlanetoids[nCount]->nTextureID);
if (fTemp < 1.5f)
{
//glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glBegin(GL_POINTS);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
glNormal3f(0.0f, 0.0f, 1.0f);
glVertex3f(0.0f, 0.0f, 0.0f);
glEnd();
if (gaVariables[GL_LIGHTS].bValue)
glEnable(GL_LIGHTING);
//glEnable(GL_TEXTURE_2D);
}
else
{
glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
gluSphere(gpTesselation, fTemp, 36, 18);
}
glPopMatrix();
nTop += rgfMenuFont.nHeight;
}
}
glPopMatrix();
} // End of rgSolarSystem: [img]http://www.opengl.org/discussion_boards/ubb/biggrin.gif[/img]raw()