Made orb look more "light"-like

git-svn-id: svn://anubis/dwscr/trunk@114 5bef9df8-b654-44bb-925b-0ff18baa8f8c
This commit is contained in:
josh 2008-12-18 15:19:50 +00:00
parent ae2f719bf3
commit 912b0a7117

View File

@ -16,7 +16,7 @@ using namespace std;
#define SIZE 5
#define STRIDE_MULTIPLIER 1.0;
#define ZOOM 12.0
#define ORB_RADIUS 1.5
#define ORB_RADIUS 2.5
#define ORB_SPEED 20.0
LightBounceBox::LightBounceBox(LogoBox * lb,
@ -131,21 +131,24 @@ LightBounce::LightBounce(SSMain * _SSMain) : SSMode(_SSMain)
m_orb_dir[2] = cos(gamma);
/* Create the orb display list */
// TODO: fix lighting
// TODO: make it more of a "light" object and not a sphere
m_orb_dl = glGenLists(1);
glNewList(m_orb_dl, GL_COMPILE);
GLfloat mat[] = {1, 1, 0.2, 0.8};
/* save lights, materials, and blending information */
glPushAttrib(GL_LIGHTING_BIT | GL_COLOR_BUFFER_BIT);
GLfloat mat[] = {0.7, 0.7, 0.14, 0.6};
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, mat);
GLfloat specular[] = {0.15, 0.15, 0.03, 1.0};
glMaterialfv(GL_FRONT, GL_SPECULAR, specular);
GLUquadric * quad = gluNewQuadric();
gluQuadricNormals(quad, GL_TRUE);
glPushAttrib(GL_LIGHTING_BIT);
glPushMatrix();
glLoadIdentity();
GLfloat light_pos[] = {0, 0, 1, 0};
GLfloat light_pos[] = {0, 0, 0, 1};
glLightfv(GL_LIGHT0, GL_POSITION, light_pos);
glPopMatrix();
gluSphere(quad, ORB_RADIUS, 16, 8);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
gluSphere(quad, ORB_RADIUS, 20, 12);
glPopAttrib();
glEndList();