opengl - Unable to find an entry point named 'glCreateShader' in DLL 'opengl32.dll' -
ok.. odd 1 me.
i working in opengl. tao bindings. xp pro 64. vs 2008 in vb.net have built dozens of simple tools , test apps , 2 large apps using opengl render with.
and here 64 thousand dollar question. why @ once in 1 project seeing @ run time? builds no errors.. normal sort thing. thing is, soultion im working on thats crapping out.
unable find entry point named 'glcreateshader' in dll 'opengl32.dll'.
i have searched internet entire day , of night...(4:10 now)
i tried changing sorts of settings in ide (but works other code fine seems idiotic!)
i tried replacing opengl32.dll but.. no built solutions run.
1) not opengl32.dll (it works fine in other builds) 2) settings same in vs2008 other opengl app have built. 3) have looked @ code hours and.. searched see if varaibles name way used accident. can not see causing this. 4) yes.. im compiling x86 (tao wont run in 64bit).. mentioned.. have had no issues until now.
this line thats protesting .. ermmm screaming.
vertexobject = gl.glcreateshader(gl.gl_vertex_shader)
thanks if have answer... reading if dont.
ok folks... found problem.
if , i'm not sure true on versions of win out there xp pro 64...
changing screen full size causes tao loose bearings.
from text in tao class:
this class contains opengl enums , functions defined in 2.1 specification. official .spec files can found at: http://opengl.org/registry/. rely on static initialization obtain entry points opengl functions. please ensure valid opengl context has been made current in pertinent thread before opengl functions called (toolkits glut, sdl or glfw automatically take care of context initialization process). without valid opengl context, able retrieve statically exported entry points (typically corresponding opengl version 1.1 under windows, 1.3 under linux , 1.4 under windows vista), , extension methods need loaded manually.*
if prefer have more control on extension loading, can use reloadfunctions or reloadfunction methods manually force initialisation of opengl entry points. reloadfunctions method should called whenever change existing visual or pixelformat. happens when change color/stencil/depth buffer associated window (but not resolution). may or may not necessary under linux/macos, required windows.
i'm sure above (c) tao..
i'm sorry if sounded grumpy.. :(
anyway.. needed add this....
gl.reloadfunctions()
....after set device context.
so order works now:
if not (wgl.wglmakecurrent(ghdc, hrc)) messagebox.show("unable make rendering context current") end end if glut.glutinit() glut.glutinitdisplaymode(glut_rgba or glut_double) gl.reloadfunctions() 'new line reloads extensions. build_shaders() ' shaders created , complied
so there ya have :)
thanks again everyone!
Comments
Post a Comment