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

Reply via email to