I just had to replace my laptop, and I decided to move to a MacBook (white), which contains the much-maligned Intel GMA X3100. For some reason, despite being DX10-capable, the card doesn't fully export OpenGL 2.0, so a few workarounds are necessary to get Horde running.
First off, Horde checks for OpenGL 2.0, so we have to disable that check, or in this case downgrade it to a warning:
Code:
===================================================================
--- Horde3D/Source/Horde3DEngine/egRenderer.cpp (revision 52)
+++ Horde3D/Source/Horde3DEngine/egRenderer.cpp (working copy)
@@ -118,8 +118,8 @@
// Check that OpenGL 2.0 is available
if( glExt::majorVersion < 2 || glExt::minorVersion < 0 )
{
- Modules::log().writeError( "OpenGL 2.0 not supported" );
- failed = true;
+ Modules::log().writeWarning( "OpenGL 2.0 not supported" );
+ //failed = true;
}
// Check extensions
That simple change is enough to get the terrain sample running, and the chicago sample mostly running. Unfortunately, it isn't a change I can put in SVN, because this may let other cards/platforms through which shouldn't.
As I said, the terrain sample runs fine with that change (at 130+ fps), and the Chicago sample renders (at a measly 2 fps) all except the ground plane (comes out as blue).
The Knight sample wont run at all, because the X3100 has no support for floating point render-buffers, and thus the HDR pipeline cannot be initialised.
I am going to be on this laptop for at least a year, and any games I build with Horde will be targeted at similar hardware (if Spore and StarCraft 2 can support it...), so I would like to get Horde to the point where it can fallback seamlessly from HDR and high-quality shaders to a base profile for generic cards (probably vertex shaders only, no HDR).