byte noise[64*64];
byte data[64*64][4];
- fractalnoise(noise, 64);
+ fractalnoise(noise, 64, 16);
// convert to RGBA data
for (i = 0;i < 64*64;i++)
void GL_DrawModelMesh(int skin, byte *colors, maliashdr_t *maliashdr)
{
int i;
+ if (!r_render.value)
+ return;
glBindTexture(GL_TEXTURE_2D, skin);
if (!colors)
{
}
if (gl_vertexarrays.value)
{
-// qglVertexPointer(3, GL_FLOAT, 0, aliasvert);
-// glEnableClientState(GL_VERTEX_ARRAY);
if (colors)
{
qglColorPointer(4, GL_UNSIGNED_BYTE, 0, colors);
qglDrawElements(GL_TRIANGLES, maliashdr->numtris * 3, GL_UNSIGNED_SHORT, (void *)((int) maliashdr + maliashdr->tridata));
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- /*
- // draw the front faces
- qglTexCoordPointer(2, GL_FLOAT, 0, (void *)((int) paliashdr->texcoords + (int) paliashdr));
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- qglDrawElements(GL_TRIANGLES, paliashdr->frontfaces * 3, GL_UNSIGNED_SHORT, (void *)((int) paliashdr->vertindices + (int) paliashdr));
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
-
- // draw the back faces
- qglTexCoordPointer(2, GL_FLOAT, 0, (void *)((int) paliashdr->texcoords + sizeof(float[2]) * paliashdr->numverts + (int) paliashdr));
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- qglDrawElements(GL_TRIANGLES, paliashdr->backfaces * 3, GL_UNSIGNED_SHORT, (void *)((int) paliashdr->vertindices + sizeof(unsigned short[3]) * paliashdr->frontfaces + (int) paliashdr));
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- */
if (colors)
glDisableClientState(GL_COLOR_ARRAY);
-// glDisableClientState(GL_VERTEX_ARRAY);
}
else
{
glVertex3fv(&aliasvert[index*3]);
}
glEnd();
- /*
- in = (void *)((int) paliashdr->vertindices + (int) paliashdr);
- glBegin(GL_TRIANGLES);
- // draw the front faces
- tex = (void *)((int) paliashdr->texcoords + (int) paliashdr);
- //if (isG200)
- //{
- for (i = 0;i < paliashdr->frontfaces * 3;i++)
- {
- index = *in++;
- glTexCoord2f(tex[index*2], tex[index*2+1]);
- if (colors)
- glColor4f(colors[index*4] * (1.0f / 255.0f), colors[index*4+1] * (1.0f / 255.0f), colors[index*4+2] * (1.0f / 255.0f), colors[index*4+3] * (1.0f / 255.0f));
- glVertex3fv(&aliasvert[index*3]);
- }
- */
- /*
- }
- else
- {
- for (i = 0;i < paliashdr->frontfaces * 3;i++)
- {
- index = *in++;
- glTexCoord2f(tex[index*2], tex[index*2+1]);
- glColor4ub(colors[index*4], colors[index*4+1], colors[index*4+2], colors[index*4+3]);
- glVertex3fv(&aliasvert[index*3]);
- }
- }
- */
- /*
- // draw the back faces
- tex += 2 * paliashdr->numverts;
- //if (isG200)
- //{
- for (i = 0;i < paliashdr->backfaces * 3;i++)
- {
- index = *in++;
- glTexCoord2f(tex[index*2], tex[index*2+1]);
- if (colors)
- glColor4f(colors[index*4] * (1.0f / 255.0f), colors[index*4+1] * (1.0f / 255.0f), colors[index*4+2] * (1.0f / 255.0f), colors[index*4+3] * (1.0f / 255.0f));
- glVertex3fv(&aliasvert[index*3]);
- }
- */
- /*
- }
- else
- {
- for (i = 0;i < paliashdr->backfaces * 3;i++)
- {
- index = *in++;
- glTexCoord2f(tex[index*2], tex[index*2+1]);
- glColor4ub(colors[index*4], colors[index*4+1], colors[index*4+2], colors[index*4+3]);
- glVertex3fv(&aliasvert[index*3]);
- }
- }
- */
- /*
- glEnd();
- */
}
// leave it in a state for additional passes
glDepthMask(0);
R_AliasLerpVerts(maliashdr->numverts, lerp, (trivert2 *)((int) maliashdr + maliashdr->posedata) + ent->draw_lastpose * maliashdr->numverts, maliashdr->scale, maliashdr->scale_origin, (trivert2 *)((int) maliashdr + maliashdr->posedata) + ent->draw_pose * maliashdr->numverts, maliashdr->scale, maliashdr->scale_origin);
// prep the vertex array as early as possible
- if (gl_vertexarrays.value)
+ if (r_render.value)
{
- qglVertexPointer(3, GL_FLOAT, 0, aliasvert);
- glEnableClientState(GL_VERTEX_ARRAY);
+ if (gl_vertexarrays.value)
+ {
+ qglVertexPointer(3, GL_FLOAT, 0, aliasvert);
+ glEnableClientState(GL_VERTEX_ARRAY);
+ }
}
R_LightModel(maliashdr->numverts, org, color);
+ if (!r_render.value)
+ return;
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glShadeModel(GL_SMOOTH);
if (effects & EF_ADDITIVE)
if (gl_vertexarrays.value)
{
-// qglVertexPointer(3, GL_FLOAT, 0, aliasvert);
-// glEnableClientState(GL_VERTEX_ARRAY);
qglDrawElements(GL_TRIANGLES, maliashdr->numtris * 3, GL_UNSIGNED_SHORT, (void *)((int) maliashdr + maliashdr->tridata));
-// glDisableClientState(GL_VERTEX_ARRAY);
}
else
{
float lerp;
md2memframe_t *frame1, *frame2;
- glBindTexture(GL_TEXTURE_2D, skin);
+ if (r_render.value)
+ glBindTexture(GL_TEXTURE_2D, skin);
softwaretransformforentity(ent);
R_LightModel(pheader->num_xyz, org, color);
+ if (!r_render.value)
+ return;
if (gl_vertexarrays.value)
{
// LordHavoc: big mess...
glBegin(GL_TRIANGLE_FAN);
count = -count;
}
- //if (isG200)
- //{
- do
- {
- glTexCoord2f(((float *)order)[0], ((float *)order)[1]);
- glColor4f(aliasvertcolor[order[2] * 4] * (1.0f / 255.0f), aliasvertcolor[order[2] * 4 + 1] * (1.0f / 255.0f), aliasvertcolor[order[2] * 4 + 2] * (1.0f / 255.0f), aliasvertcolor[order[2] * 4 + 3] * (1.0f / 255.0f));
- glVertex3fv(&aliasvert[order[2] * 3]);
- order += 3;
- }
- while (count--);
- /*
- }
- else
+ do
{
- do
- {
- glTexCoord2f(((float *)order)[0], ((float *)order)[1]);
- glColor4ub(aliasvertcolor[order[2] * 4], aliasvertcolor[order[2] * 4 + 1], aliasvertcolor[order[2] * 4 + 2], aliasvertcolor[order[2] * 4 + 3]);
- glVertex3fv(&aliasvert[order[2] * 3]);
- order += 3;
- }
- while (count--);
+ glTexCoord2f(((float *)order)[0], ((float *)order)[1]);
+ glColor4f(aliasvertcolor[order[2] * 4] * (1.0f / 255.0f), aliasvertcolor[order[2] * 4 + 1] * (1.0f / 255.0f), aliasvertcolor[order[2] * 4 + 2] * (1.0f / 255.0f), aliasvertcolor[order[2] * 4 + 3] * (1.0f / 255.0f));
+ glVertex3fv(&aliasvert[order[2] * 3]);
+ order += 3;
}
- */
+ while (count--);
}
}
{
int i;
vec3_t mins, maxs, color;
-// aliashdr_t *paliashdr = NULL;
-// md2mem_t *pheader = NULL;
mleaf_t *leaf;
void *modelheader;
int *skinset;
if ((flags & EF_FULLBRIGHT) || (effects & EF_FULLBRIGHT))
color[0] = color[1] = color[2] = 256;
else
- {
- // HACK HACK HACK -- no fullbright colors, so make torches full light
- if (!strcmp (clmodel->name, "progs/flame2.mdl") || !strcmp (clmodel->name, "progs/flame.mdl") )
- color[0] = color[1] = color[2] = 128;
- else
- R_LightPoint (color, org);
- }
+ R_LightPoint (color, org);
- glDisable(GL_ALPHA_TEST);
+ if (r_render.value)
+ glDisable(GL_ALPHA_TEST);
if (frame < 0 || frame >= clmodel->numframes)
{
skinset = skinanim + i*5;
}
- glEnable (GL_TEXTURE_2D);
+ if (r_render.value)
+ glEnable (GL_TEXTURE_2D);
c_alias_polys += clmodel->numtris;
if (clmodel->aliastype == ALIASTYPE_MD2)