This is a discussion on My opengl application hangs... - Motif ; Hi All, I have an Opengl application which hangs completely and I need to reboot the system to make it up again. I was able to further investigate by debugging and found that at the call glutBitmapCharacter with the font ...
Hi All,
I have an Opengl application which hangs completely and I need to
reboot the system to make it up again. I was able to further
investigate by debugging and found that at the call glutBitmapCharacter
with the font GLUT_BITMAP_HELVETICA_10 is hanging. With other font like
GLUT_BITMAP_TIMES_ROMAN_24 the problem was not seen.
Also note that the application hangs with ATI RADEON 7500 and transport
TCPIP. I checked with ELSA-GLORIA and ATI RADEON 7000 with which the
application does not hang.
At the time of hang i analyzed the server process and could observe
that it was in routiene radeon_do_wait_for_idle, but in usual case the
applications keeps switching from routine radeon_do_wait_for_fifo and
radeon_do_wait_for_idle.
Can somebody explain me why the application is hung only for that
font.....
I deeply appreciate any suggestions given in this regard...
Thanks in advance...
Code snippet for reference...
#include
#include
static void printstring(void *font, char *string)
{
int len,i;
len=(int)strlen(string);
for(i=0;iglutBitmapCharacter(font,string[i]);
}
void display(void)
{
/* clear window */
glClear(GL_COLOR_BUFFER_BIT);
/* draw unit square polygon */
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();
printstring(GLUT_BITMAP_HELVETICA_10,"OpenGl application");
/* flush GL buffers */
glFlush();
}
void init()
{
/* set clear color to black */
/* glClearColor (0.0, 0.0, 0.0, 0.0); */
/* set fill color to white */
/* glColor3f(1.0, 1.0, 1.0); */
/* set up standard orthogonal view with clipping */
/* box as cube of side 2 centered at origin */
/* This is default view and these statement could be removed */
/* glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); */
}
int main(int argc, char** argv)
{
/* Initialize mode and open a window in upper left corner of
screen */
/* Window title is name of program (arg[0]) */
/* You must call glutInit before any other OpenGL/GLUT calls */
glutInit(&argc,argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(0,0);
glutCreateWindow("simple");
glutDisplayFunc(display);
init();
glutMainLoop();
}
Regards,
Sandy