(1.8 from 28/8/06, win32, vc7)
 
Hi all,

I'm trying to do some multithreaded rendering and I run in to a problem 
with null gl ids.

Geometry::handleGL seems to be the culprit. In the code below, glNewList 
is called with a glid of zero (0). This is not very nice at all, since 
it happens more than once.

    if(mode == Window::initialize || mode == Window::needrefresh ||
       mode == Window::reinitialize)
    {
        if(mode == Window::initialize)
        {
            glid = glGenLists(1);
            win->setGLObjectId(id, glid);
        }
        else
        {
            glid = win->getGLObjectId(id);
        }

        glNewList(glid, GL_COMPILE);
    ..

The reason for this is that mode==reinitialize, so the else branch gets 
executed. Now, the window doesn't know about this id (for some reason, 
maybe that's the real problem) so it returns zero, which means glNewList 
will be called with zero. (The warning in Window::getGLObjectID has been 
commented out!?!)

I'm trying to render from a thread that did not create the window, but I 
think I got the activate (i.e. wglMakeCurrent) calls right, since I get 
a window that renders something, it's just not very pretty. (All 
geometry is black.)

Any clues?

Cheers,
/Marcus

---





-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to