{
bool empty:1; // Image is empty, do not draw
bool blending:1; // Must draw image with blending
- int swizzle:2;
+ SwizzleMode swizzle:2;
}
#define DM_BARRIER_ORDER_BITS 5
GLVertexPointer (2, GL_SHORT, sizeof(DMDrawVertex), (void *)OFFSET(DMDrawVertex, vx) );
GLTexCoordPointer(2, GL_SHORT, sizeof(DMDrawVertex), (void *)OFFSET(DMDrawVertex, tx) );
+ GLFlushMatrices();
glDrawArrays( GL_TRIANGLES, 0, vertexCount );
}
{
bool stateBlend = true;
#if ENABLE_GL_SHADERS
- int swizzleMode = 0;
+ SwizzleMode swizzleMode = off;
#endif
int vertexCount = 0;
int index;
glabCurArrayBuffer = 0;
- GLFlushMatrices();
-
glDisable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);
GLSetupFog(false);
GLSetupTexturing(true);
GLSetupLighting(false);
+
GLEnableClientState(VERTICES);
GLEnableClientState(TEXCOORDS);
glEnable(GL_BLEND);
flush();
// Render buffered images
- flushRenderDrawBuffer( drawBuffer, vertexCount );
+ if(color)
+ flushRenderDrawBuffer( drawBuffer, vertexCount );
drawBuffer = &drawBuffers[drawBufferIndex++];
drawBufferIndex %= DRAW_BUFFER_COUNT;
glBindBuffer( GL_ARRAY_BUFFER, drawBuffer->vbo.buffer );
{
swizzleMode = image->flags.swizzle;
if(glCaps_shaders)
- shader_swizzle( swizzleMode );
+ defaultShader.swizzle( swizzleMode );
}
#endif
if( texture != bindTexture )
flush();
// Render buffered images
- flushRenderDrawBuffer( drawBuffer, vertexCount );
+ if(color)
+ flushRenderDrawBuffer( drawBuffer, vertexCount );
imageBufferCount = 0;
ERRORCHECK();
GLSetupTexturing(false);
#if ENABLE_GL_SHADERS
if(glCaps_shaders)
- shader_swizzle(0);
+ defaultShader.swizzle(off);
#endif
if(glCaps_vertexBuffer)