From: Bruce S. <Bru...@nc...> - 2008-12-16 22:50:59
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> David Scherer responds as follows:<br> <div class="gmail_quote"> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div bgcolor="#ffffff" text="#000000"> <pre> if ( ARB_multitexture = d.hasExtension( "GL_ARB_multitexture" ) ) { getPFN( glActiveTexture, d, "glActiveTextureARB" ); } </pre> </div> </blockquote> </div> This fix can't be right. Either glActiveTextureARB is part of that extension, in which case it MUST be present if that name string is present, or it isn't, in which case the wrong name string is being tested or the wrong function loaded. Or there is a very serious bug in his drivers.<br> <br> Bruce Sherwood<br> <br> P.S. What exactly is your graphics hardware/software?<br> <br> CL wrote: <blockquote cite="mid:d69...@ma..." type="cite"> <pre wrap="">Hi Bruce I have built vpython and found that the following code can fix the problem on my PC: The first crash is at ShowWindow in display::create() in windisplay.cpp I've modifed it to: if (!wglMakeCurrent( dev_context, gl_context)) WIN32_CRITICAL_ERROR( "wglMakeCurrent failed"); ShowWindow( widget_handle, SW_SHOW); wglMakeCurrent( NULL, NULL ); Look like my video driver insist to have wglMakeCurrent called before ShowWindow The second crash is at gl_extensions.cpp template <class PFN> void getPFN( PFN& func, display_kernel& d, const char* name ) { func = reinterpret_cast<PFN>( d.getProcAddress( name ) ); if (!func) throw std::runtime_error( ("Unable to get extension function: " + (std::string)name + " even though the extension is advertised.").c_str() ); } When it is loading GL_ARB_multitexture if ( ARB_multitexture = d.hasExtension( "GL_ARB_multitexture" ) ) { F( glActiveTexture ); } The entry point glActiveTexture is not defined in my driver. I believe it is also not defined in most old drivers. Since it is not defined, an exception is flew. The exception is not handled. I've changed it to: if ( ARB_multitexture = d.hasExtension( "GL_ARB_multitexture" ) ) { getPFN( glActiveTexture, d, "glActiveTextureARB" ); } After that, it is working fine. Textures are not supported, as vpython seems requires shader extensions in order to support texture. ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at <a class="moz-txt-link-freetext" href="http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/">http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/</a> _______________________________________________ Visualpython-users mailing list <a class="moz-txt-link-abbreviated" href="mailto:Vis...@li...">Vis...@li...</a> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/visualpython-users">https://lists.sourceforge.net/lists/listinfo/visualpython-users</a> </pre> </blockquote> </body> </html> |