leaving most of the window contents and title blank.
Areas obscured by other windows appear properly rendered when uncovered
but that might well be a coincidence of leftover uncleared VRAM.
Whatever is onscreen and visible the whole time stays blank.
Taking a screen shot may cause the whole window to render once but remain static.
A second screen shot may get a single update but later screen shots don't.
Code: Select all
Irrlicht Engine version 1.9.0
Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386
Loaded mesh: ../../media/sydney.md2
Loaded texture: /Users/devon/hack/irrlicht-1.9.0/media/sydney.bmp
--Devon
P.S. The gcc-4.2.1 fatal compile error is fixed in another patch further down.
P.P.S. This patch guarantees HelloWorld will work as-is out-of-the-box in MacOS X
by using OpenGL instead of Software when compiled for Apple platforms.
Code: Select all
Index: examples/01.HelloWorld/main.cpp
===================================================================
--- examples/01.HelloWorld/main.cpp (revision 4800)
+++ examples/01.HelloWorld/main.cpp (working copy)
@@ -82,7 +82,19 @@
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif
+/*
+the Irrlicht Software renderer fails on
+ Xcode 3.2.6 MacOS 10.6.8 NVIDIA GeForce 9400M
+*/
+#ifdef __APPLE__
+#define DRIVER_TYPE video::EDT_OPENGL
+#define DRIVER_NAME L"OpenGL"
+#else
+#define DRIVER_TYPE video::EDT_SOFTWARE
+#define DRIVER_NAME L"Software"
+#endif
+
/*
This is the main method. We can now use main() on every platform.
*/
@@ -122,7 +134,7 @@
dimensions, etc.
*/
IrrlichtDevice *device =
- createDevice( video::EDT_SOFTWARE, dimension2d<u32>(640, 480), 16,
+ createDevice( DRIVER_TYPE, dimension2d<u32>(640, 480), 16,
false, false, false, 0);
if (!device)
@@ -150,8 +162,8 @@
The text is placed at the position (10,10) as top left corner and
(260,22) as lower right corner.
*/
- guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!",
+ guienv->addStaticText(L"Hello World! This is the Irrlicht " DRIVER_NAME L" renderer!",
/*
To show something interesting, we load a Quake 2 model and display it.