Просмотр исходного кода

use glClientActiveTexture in interleaved setup

tags/mesa_3_1
Keith Whitwell 26 лет назад
Родитель
Сommit
6adfc6bd9e
1 измененных файлов: 7 добавлений и 13 удалений
  1. 7
    13
      src/mesa/main/varray.c

+ 7
- 13
src/mesa/main/varray.c Просмотреть файл

@@ -1,4 +1,4 @@
/* $Id: varray.c,v 1.12 1999/11/09 17:00:25 keithw Exp $ */
/* $Id: varray.c,v 1.13 1999/11/09 17:26:15 keithw Exp $ */

/*
* Mesa 3-D graphics library
@@ -461,16 +461,11 @@ void gl_exec_array_elements( GLcontext *ctx, struct immediate *IM,
flags, elts, (VERT_ELT|VERT_TEX1_ANY),
start, count);

/* Lighting ignores the and-flag, so still need to do this.
*/
/* fprintf(stderr, "start %d count %d\n", start, count); */
/* gl_print_vert_flags("translate", translate); */

for (i = start ; i < count ; i++)
if (flags[i] & VERT_ELT) {
/* flags[i] &= ~VERT_ELT; */
if (flags[i] & VERT_ELT)
flags[i] |= translate;
}
}


@@ -675,7 +670,6 @@ void gl_DrawArrays( GLcontext *ctx, GLenum mode, GLint start, GLsizei count )

/* Transform and render.
*/
if (0) gl_print_cassette_flags( IM, VB->Flag );
gl_run_pipeline( VB );
gl_reset_vb( VB );

@@ -1056,25 +1050,25 @@ void GLAPIENTRY glInterleavedArrays(CTX_ARG GLenum format, GLsizei stride,
GLint i;
GLint factor = ctx->Array.TexCoordInterleaveFactor;
for (i = 0; i < factor; i++) {
gl_ActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + i) );
gl_ClientActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + i) );
gl_EnableClientState( ctx, GL_TEXTURE_COORD_ARRAY );
glTexCoordPointer(CTX_PRM tcomps, GL_FLOAT, stride,
(GLubyte *) pointer + i * coffset );
}
for (i = factor; i < ctx->Const.MaxTextureUnits; i++) {
gl_ActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + i) );
gl_ClientActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + i) );
gl_DisableClientState( ctx, GL_TEXTURE_COORD_ARRAY );
}
}
else {
GLint i;
for (i = 0; i < ctx->Const.MaxTextureUnits; i++) {
gl_ActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + i) );
gl_ClientActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + i) );
gl_DisableClientState( ctx, GL_TEXTURE_COORD_ARRAY );
}
}
/* Restore texture coordinate unit index */
gl_ActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + coordUnitSave) );
gl_ClientActiveTexture( ctx, (GLenum) (GL_TEXTURE0_ARB + coordUnitSave) );


/* Color */

Загрузка…
Отмена
Сохранить