Hello!
In the following program seems to have errors with the current CVA code. I
think the problem is that the color defined by the glColor4f doesn't merged
into the CVA. (Actually the CVA contains empty data.)
In debugging it turned out that in gl_merge_cva, the
flag doesn't have the VB_RGBA bit set.
Or where we are supposed to do this kind of 'merge'? (Keith?)
- Miklos.
#include <stdlib.h>
#include <stdio.h>
#include "glut.h"
GLboolean show_bug = GL_TRUE;
void bug_draw(void)
{
glOrtho(0.000000,800.000000,333.000000,561.000000,-1.000000,1.000000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.000000,800.000000,0.000000,600.000000,-1.000000,1.000000);
glViewport(0,0,640,480);
glColor4f(0.0,1.0,0.0,1.000000);
if (show_bug)
glLockArraysEXT(0,101);
glBegin(GL_LINES);
glVertex2f(0,0);
glVertex2f(800,600);
glEnd();
glFlush();
if (show_bug)
glUnlockArraysEXT();
glFinish();
return;
}
static void
keyboard(unsigned char ch, int x, int y)
{
if (ch== 'b')
{
glutPostRedisplay();
show_bug = !show_bug;
}
}
static void
reshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
/* glOrtho(0,800,0,600,-1,1); */
/* glOrtho(0, w, 0, h, -1, 1); */
}
void display(void)
{
glClearColor(0.0f,0.0f,0.0f,1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
bug_draw();
glFlush();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE| GLUT_FULLSCREEN | GLUT_RGB |
GLUT_DEPTH);
glutInitWindowSize (640, 480);
glutCreateWindow (argv[0]);
/* readTexture(); */
glutPostRedisplay();
glutKeyboardFunc(keyboard);
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}
_______________________________________________
Mesa-dev maillist - [EMAIL PROTECTED]
http://lists.mesa3d.org/mailman/listinfo/mesa-dev