- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've stumbled on a driver bug, where when using glShadeModel(GL_FLAT) the triangle color is not always taken from the last vertex as it should.
Here's how this looks with the Intel card:

... and the same thing with ATI and NVidia cards:

Executable (requires glut32.dll):
Source:
The same thing happens with normals and when using VBO.
Tested on an Asus eeepc 1000h, Windows XP, with drivers version 6.14.10.4906(the latest from Asus) and 6.14.10.4926
BTW, the VBOs on 4926 are very unstable. 4906 has no VBOs
Here's how this looks with the Intel card:

... and the same thing with ATI and NVidia cards:

Executable (requires glut32.dll):
Source:
[cpp]#include "stdafx.h"
#include
void display(void)
{
int colors[7] = { 0xff0000,0x00ff00,0x0000ff, 0xff00ff,0xff00ff,0xff00ff,0xff00ff };
int indexes[18] = { 1,2,0, 2,3,0, 0,4,1, 4,5,1, 1,5,2, 5,6,2 };
float verts[21] = { 0,-2,0, 0,0,0, -1,1,0, -1,-1,0, 1,-1,0, 1,1,0, 0,2,0 };
glClear( GL_COLOR_BUFFER_BIT );
glEnableClientState( GL_VERTEX_ARRAY );
glEnableClientState( GL_COLOR_ARRAY );
glColorPointer( 4, GL_UNSIGNED_BYTE, 0, colors );
glVertexPointer( 3, GL_FLOAT, 0, verts );
glDrawElements( GL_TRIANGLES, 18, GL_UNSIGNED_INT, indexes );
glDisableClientState( GL_VERTEX_ARRAY );
glDisableClientState( GL_COLOR_ARRAY );
glFlush();
}
void init(void)
{
glShadeModel( GL_FLAT );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( -2, 2, -3, 3, -1, 1 );
}
int _tmain( int argc, char** argv )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize( 250, 250 );
glutInitWindowPosition( 100, 100 );
glutCreateWindow( "Fix me!!!" );
init();
glutDisplayFunc( display );
glutMainLoop();
return 0;
}[/cpp]
The same thing happens with normals and when using VBO.
Tested on an Asus eeepc 1000h, Windows XP, with drivers version 6.14.10.4906(the latest from Asus) and 6.14.10.4926
BTW, the VBOs on 4926 are very unstable. 4906 has no VBOs
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - thegeleto
I've stumbled on a driver bug, where when using glShadeModel(GL_FLAT) the triangle color is not always taken from the last vertex as it should.
Here's how this looks with the Intel card:

... and the same thing with ATI and NVidia cards:

Executable (requires glut32.dll):
Source:
The same thing happens with normals and when using VBO.
Tested on an Asus eeepc 1000h, Windows XP, with drivers version 6.14.10.4906(the latest from Asus) and 6.14.10.4926
BTW, the VBOs on 4926 are very unstable. 4906 has no VBOs
Here's how this looks with the Intel card:

... and the same thing with ATI and NVidia cards:

Executable (requires glut32.dll):
Source:
[cpp]#include "stdafx.h"
#include
void display(void)
{
int colors[7] = { 0xff0000,0x00ff00,0x0000ff, 0xff00ff,0xff00ff,0xff00ff,0xff00ff };
int indexes[18] = { 1,2,0, 2,3,0, 0,4,1, 4,5,1, 1,5,2, 5,6,2 };
float verts[21] = { 0,-2,0, 0,0,0, -1,1,0, -1,-1,0, 1,-1,0, 1,1,0, 0,2,0 };
glClear( GL_COLOR_BUFFER_BIT );
glEnableClientState( GL_VERTEX_ARRAY );
glEnableClientState( GL_COLOR_ARRAY );
glColorPointer( 4, GL_UNSIGNED_BYTE, 0, colors );
glVertexPointer( 3, GL_FLOAT, 0, verts );
glDrawElements( GL_TRIANGLES, 18, GL_UNSIGNED_INT, indexes );
glDisableClientState( GL_VERTEX_ARRAY );
glDisableClientState( GL_COLOR_ARRAY );
glFlush();
}
void init(void)
{
glShadeModel( GL_FLAT );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( -2, 2, -3, 3, -1, 1 );
}
int _tmain( int argc, char** argv )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize( 250, 250 );
glutInitWindowPosition( 100, 100 );
glutCreateWindow( "Fix me!!!" );
init();
glutDisplayFunc( display );
glutMainLoop();
return 0;
}[/cpp]
The same thing happens with normals and when using VBO.
Tested on an Asus eeepc 1000h, Windows XP, with drivers version 6.14.10.4906(the latest from Asus) and 6.14.10.4926
BTW, the VBOs on 4926 are very unstable. 4906 has no VBOs
I will open a driver bug for this. Stay tuned.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>I will open a driver bug for this. Stay tuned.
Any news for this?
Any news for this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately, GMA950 is not actively supported anymore. I will check with the team to see if this resolved previously.
Thanks,
-Ganesh

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page