views:

136

answers:

1

Hello all,

I need to use Mesa3D for a cross platform application(windows and Mac only) which uses only offline software rendering. The reason I wanted to use Mesa3D is because it has the same Drawing calls as OpenGL and they are really easy. Now I know that Apple itself has a software implementation (which I heard is flaky), but I prefer using Mesa so that it's a lot easier for me to maintain the code on both platforms. On windows I managed to compile three DLL's from the Mesa3d source, but don't know what to do with them. On Mac OS X I am completely clueless. I would highly appreciate your help. Thank you once again very much!

A: 

As far as win32 goes, you should just be able to drop the opengl32.dll (and glu32.dll if I recall correctly) next to your executable and it should "just work", unless you're manually loading the OpenGL DLLs yourself.

genpfault
Hi, Thanks. It works on windows now. Can you tell me how to compile it on a Mac?
gutsblow
@gutsblow: I don't have a Mac so I couldn't say. You might try their autotools scripts (http://www.mesa3d.org/autoconf.html).
genpfault
Hello thank you very much. Now, I am trying to use the OSMesa library to do software rendering and I am getting the following type of linker errors. osmesa.obj : error LNK2019: unresolved external symbol __mesa_enable_1_3_extensions referenced in function _OSMesaCreateContextExt@20Can you tell me why?Thank you!
gutsblow
It worked when I compile the three dlls separately and include those libraries with a #pragma comment(lib,"osmesa32.lib") line. But then again, I have to have the DLL's in the same folder of the executable. Is there a way to include the dll's into the executable? (Much like lipo on the mac).
gutsblow