- texturergbscale[i] = 1;
-
- glEnable(GL_CULL_FACE);
-CHECKGLERROR
- glCullFace(GL_FRONT);
-CHECKGLERROR
- depthtest = true;
- glEnable(GL_DEPTH_TEST);
-CHECKGLERROR
- blendfunc1 = GL_ONE;
- blendfunc2 = GL_ZERO;
- glBlendFunc(blendfunc1, blendfunc2);
-CHECKGLERROR
- blend = 0;
- glDisable(GL_BLEND);
-CHECKGLERROR
- depthmask = true;
- glDepthMask((GLboolean) depthmask);
-CHECKGLERROR
-
- glVertexPointer(3, GL_FLOAT, sizeof(buf_vertex_t), &buf_vertex[0].v[0]);
-CHECKGLERROR
- glEnableClientState(GL_VERTEX_ARRAY);
-CHECKGLERROR
- if (gl_mesh_floatcolors.integer)
- {
- glColorPointer(4, GL_FLOAT, sizeof(buf_fcolor_t), &buf_fcolor[0].c[0]);
-CHECKGLERROR
- }
- else
- {
- // shift float to have 8bit fraction at base of number
- for (i = 0, fcolor = &buf_fcolor->c[0];i < currentvertex;i++)
- {
- *fcolor++ += 32768.0f;
- *fcolor++ += 32768.0f;
- *fcolor++ += 32768.0f;
- *fcolor++ += 32768.0f;
- }
- // then read as integer and kill float bits...
- for (i = 0, icolor = (int *)&buf_fcolor->c[0], bcolor = &buf_bcolor->c[0];i < currentvertex;i++)
- {
- k = (*icolor++) & 0x7FFFFF;*bcolor++ = k > 255 ? 255 : k;
- k = (*icolor++) & 0x7FFFFF;*bcolor++ = k > 255 ? 255 : k;
- k = (*icolor++) & 0x7FFFFF;*bcolor++ = k > 255 ? 255 : k;
- k = (*icolor++) & 0x7FFFFF;*bcolor++ = k > 255 ? 255 : k;
- }
- glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(buf_bcolor_t), &buf_bcolor[0].c[0]);
-CHECKGLERROR
- }
- glEnableClientState(GL_COLOR_ARRAY);
-CHECKGLERROR
-
- if (backendunits > 1)
- {
- for (i = 0;i < backendunits;i++)
- {
- qglActiveTexture(GL_TEXTURE0_ARB + (unit = i));
-CHECKGLERROR
- glBindTexture(GL_TEXTURE_2D, (texture[i] = 0));
-CHECKGLERROR
- glDisable(GL_TEXTURE_2D);
-CHECKGLERROR
- if (gl_combine.integer)
- {
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_MODULATE);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB, GL_TEXTURE);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB, GL_PREVIOUS_ARB);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB_ARB, GL_CONSTANT_ARB);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB_ARB, GL_SRC_COLOR);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB, GL_SRC_COLOR);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB_ARB, GL_SRC_ALPHA);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA_ARB, GL_MODULATE);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_ARB, GL_TEXTURE);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA_ARB, GL_PREVIOUS_ARB);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_ALPHA_ARB, GL_CONSTANT_ARB);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_ARB, GL_SRC_ALPHA);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA_ARB, GL_SRC_ALPHA);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_ALPHA_ARB, GL_SRC_ALPHA);
-CHECKGLERROR
- glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 1.0f);
-CHECKGLERROR
- glTexEnvf(GL_TEXTURE_ENV, GL_ALPHA_SCALE, 1.0f);
-CHECKGLERROR
- }
- else
- {
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-CHECKGLERROR
- }
-
- qglClientActiveTexture(GL_TEXTURE0_ARB + (clientunit = i));
-CHECKGLERROR
- glTexCoordPointer(2, GL_FLOAT, sizeof(buf_texcoord_t), buf_texcoord[i]);
-CHECKGLERROR
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-CHECKGLERROR
- }
- }
- else
- {
- glBindTexture(GL_TEXTURE_2D, (texture[0] = 0));
-CHECKGLERROR
- glDisable(GL_TEXTURE_2D);
-CHECKGLERROR
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-CHECKGLERROR
-
- glTexCoordPointer(2, GL_FLOAT, sizeof(buf_texcoord_t), buf_texcoord[0]);
-CHECKGLERROR
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-CHECKGLERROR
- }
-
- // lock as early as possible
- GL_LockArray(0, currentvertex);
-CHECKGLERROR
-
- for (k = 0;k < currentmesh;)