v0.8 no textures in opengl also in Linux!
-
William Finlayson
- Posts: 61
- Joined: Mon Oct 25, 2004 12:11 am
I had to use an OpenGL extension loader to get it to work in Linux. extgl it's called. You have to make a few very minor changes to get it to work. I also made changes to the OpenGL materials code and fixed the shadows. I don't have all the changes here, so I can't post them, but if you really want I can send you the sources I'm using, I could send you 0.7 or 0.8 depending on what you are using. If you arent bothered about having the source then I could just send you the binary, or you could download Bindenlicht for Linux, which has it with it.
many thnx William!
but Murphy's fix worked! check this image:
http://www.danielpatton.com/afecelis/sc ... _linux.jpg
now he's helping me out with a similar problem in Windows.
ps. The only thing in linux is that a weird kinetic effect occurs with horizontal-striped textures ; which seems to be a problem with z-buffer.
thnks; I'd still love to see those sources for 0.8 so if you can email them to me.
but Murphy's fix worked! check this image:
http://www.danielpatton.com/afecelis/sc ... _linux.jpg
now he's helping me out with a similar problem in Windows.
ps. The only thing in linux is that a weird kinetic effect occurs with horizontal-striped textures ; which seems to be a problem with z-buffer.
thnks; I'd still love to see those sources for 0.8 so if you can email them to me.
Great and Thnx this works on my linux system now.The bodies of extGlActiveTextureARB() and extGlClientActiveTextureARB() are empty when compiling under Linux because they're "#ifdef WIN32"ed. If you haven't yet removed those #ifdefs, do so.
http://stenhard.net/dev/opengllinux.jpg
William I am also interested in the code for the OpenGL materials and shadows fixes.
Here is a summary of the changes in CVideoOpenGL.cpp
Code: Select all
// extensions
PFNGLACTIVETEXTUREPROC pGlActiveTextureARB = 0;
PFNGLCLIENTACTIVETEXTUREPROC pGlClientActiveTextureARB = 0;
PFNGLGENPROGRAMSARBPROC pGlGenProgramsARB = 0;
PFNGLBINDPROGRAMARBPROC pGlBindProgramARB = 0;
.............
// This works.
// But I am not able to test it out on my machine, because it doesnot have
// any 3d acceleration in Linux, even with new drivers. Uncomment this and set MultiTextureExtension to true if
// you want to use it.
pGlActiveTextureARB = (PFNGLACTIVETEXTUREPROC)glXGetProcAddressARB(reinterpret_cast<const GLubyte*>("glActiveTextureARB"));
pGlClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREPROC)glXGetProcAddressARB(reinterpret_cast<const GLubyte*>("glClientActiveTextureARB"));
MultiTextureExtension = true;
...........
void CVideoOpenGL::extGlActiveTextureARB(GLenum texture)
{
//#ifdef WIN32
if (MultiTextureExtension && pGlActiveTextureARB)
pGlActiveTextureARB(texture);
//#endif
}
void CVideoOpenGL::extGlClientActiveTextureARB(GLenum texture)
{
//#ifdef WIN32
if (MultiTextureExtension && pGlClientActiveTextureARB)
pGlClientActiveTextureARB(texture);
//#endif
}