dSize parameter of Cube now works correctly again
Fixed some inconsistent Macro naming and variable types git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1150 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
0eb4534962
commit
92b1d69dd4
@ -138,8 +138,8 @@ static unsigned int ipow (int x, unsigned int y)
|
||||
#define CUBE_NUM_VERT 8
|
||||
#define CUBE_NUM_FACES 6
|
||||
#define CUBE_NUM_VERT_PER_FACE 4
|
||||
#define CUBE_VERT_PER_TETR CUBE_NUM_FACES*CUBE_NUM_VERT_PER_FACE
|
||||
#define CUBE_VERT_ELEM_PER_TETR CUBE_VERT_PER_TETR*3
|
||||
#define CUBE_VERT_PER_CUBE CUBE_NUM_FACES*CUBE_NUM_VERT_PER_FACE
|
||||
#define CUBE_VERT_ELEM_PER_CUBE CUBE_VERT_PER_CUBE*3
|
||||
/* Vertex Coordinates */
|
||||
static GLdouble cube_v[CUBE_NUM_VERT*3] =
|
||||
{
|
||||
@ -176,8 +176,8 @@ static GLubyte cube_vi[CUBE_NUM_FACES*CUBE_NUM_VERT_PER_FACE] =
|
||||
|
||||
/* Cache of input to glDrawArrays */
|
||||
static GLboolean cubeCached = FALSE;
|
||||
static double cube_verts[CUBE_VERT_ELEM_PER_TETR];
|
||||
static double cube_norms[CUBE_VERT_ELEM_PER_TETR];
|
||||
static double cube_verts[CUBE_VERT_ELEM_PER_CUBE];
|
||||
static double cube_norms[CUBE_VERT_ELEM_PER_CUBE];
|
||||
|
||||
static void fghCubeGenerate()
|
||||
{
|
||||
@ -343,11 +343,17 @@ static void fghCube( GLdouble dSize, GLboolean useWireMode )
|
||||
|
||||
if (dSize!=1.)
|
||||
{
|
||||
/* Need to build new */
|
||||
fghDrawGeometry(GL_QUADS,cube_verts,cube_norms,CUBE_VERT_PER_TETR,useWireMode);
|
||||
int i;
|
||||
|
||||
/* Need to build new vertex list containing vertices for cube of different size */
|
||||
GLdouble *vertices = malloc(CUBE_VERT_ELEM_PER_CUBE * sizeof(double));
|
||||
for (i=0; i<CUBE_VERT_ELEM_PER_CUBE; i++)
|
||||
vertices[i] = dSize*cube_verts[i];
|
||||
|
||||
fghDrawGeometry(GL_QUADS,vertices ,cube_norms,CUBE_VERT_PER_CUBE,useWireMode);
|
||||
}
|
||||
else
|
||||
fghDrawGeometry(GL_QUADS,cube_verts,cube_norms,CUBE_VERT_PER_TETR,useWireMode);
|
||||
fghDrawGeometry(GL_QUADS,cube_verts,cube_norms,CUBE_VERT_PER_CUBE,useWireMode);
|
||||
}
|
||||
|
||||
static void fghTetrahedron( GLboolean useWireMode )
|
||||
@ -363,10 +369,10 @@ static void fghTetrahedron( GLboolean useWireMode )
|
||||
|
||||
static void fghSierpinskiSponge ( int numLevels, GLdouble offset[3], GLdouble scale, GLboolean useWireMode )
|
||||
{
|
||||
double *vertices;
|
||||
double * normals;
|
||||
unsigned int numTetr = numLevels<0? 0 : ipow(4,numLevels); /* No sponge for numLevels below 0 */
|
||||
unsigned int numVert = numTetr*TETR_VERT_PER_TETR;
|
||||
GLdouble *vertices;
|
||||
GLdouble * normals;
|
||||
GLsizei numTetr = numLevels<0? 0 : ipow(4,numLevels); /* No sponge for numLevels below 0 */
|
||||
GLsizei numVert = numTetr*TETR_VERT_PER_TETR;
|
||||
|
||||
if (numTetr)
|
||||
{
|
||||
|
Reference in New Issue
Block a user