Macintosh Version - Testing Needed

JohnJ

09-11-2007 01:11:43

An "experimental" Mac OSX version of PagedGeometry is now availible for download here (thanks to kordeul):

PagedGeometry SDK for Mac OSX (experimental) - 3.75 MB
Includes tutorials, examples, and API documentation.

According to kordeul, the impostor generation fails in this OSX version, although it seems to work fine in Windows / Linux. If you are a Mac developer, please try compiling and running some of the examples here and see if you can confirm that the error exists on your computer as well. Kordeul hasn't had much time to debug this, and since I don't have a Mac, there's not much I can do to test & support Mac-only issues myself.

ummonk

21-11-2007 22:11:17

Hmm. I get the following problems:


Warning: Multiple build commands for output file /Users/ummonk/Desktop/Downloads/PagedGeometry/OSX/build/Release/PagedGeometry.framework/Versions/A/Resources/Info.plist
cd /Users/ummonk/Desktop/Downloads/PagedGeometry/OSX
/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -strip-debug-symbols -resolve-src-symlinks /Users/ummonk/Desktop/Downloads/PagedGeometry/OSX/build/Release/Example1.app /Users/ummonk/Desktop/Downloads/PagedGeometry/OSX/build/Release/PagedGeometry.framework/Versions/A/Resources
pbxcp: Example1.app: No such file or directory


The samething happens for all the other Examples. For some reason it does not create the application bundles when I try to compile it. I tried creating a test target and that didn't work either. :(

JohnJ

23-11-2007 15:22:48

Hmm.. well I can't help you much with non-code related issues here, since I don't know how the Mac build system works. Maybe someone else can help (but unfortunately it seems Mac users are in the minority here).

Glawe

28-11-2007 11:41:53

If you can help me in the right direction to find OIS.Framework so i can compile, i'd be more than happy to test ;)

ummonk

28-11-2007 22:56:09

Hmm. I had googled and somehow found a framework for OIS, since the Ogre build only gives you libois.a, which is in the wrong format... Now I can't find out where I got the framework... So I just copied it to my website (please note that every once in a while it goes down so you may have to try again in an hour if it isn't working.) However, it is available at http://ummon.is-a-geek.com/OIS.tgz

Glawe

29-11-2007 07:38:14

Cheers and thanks alot ;)

Ill try as soon as i get home from work tonight !

Glawe

29-11-2007 20:52:04

Im still having some linking problems, will look more into it this weekend...

Glawe

30-11-2007 20:19:48

I just managed to the it build't, but when i debug the examples i get this:


.........
WARNING: tree2.mesh is an older format ([MeshSerializer_v1.30]); you should upgrade it as soon as possible using the OgreMeshUpgrade tool.
Texture: wood7.jpg: Loading 1 faces(PF_R8G8B8,600x600x1) with 9 hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,600x600x1.
Texture: Leaves.png: Loading 1 faces(PF_A8R8G8B8,64x64x1) with 6 hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
OSXPBuffer::OSXPBuffer()
OSXPBuffer::createPBuffer()
Creating viewport on target 'rtt/ImpostorTexture1/417365888', rendering from camera 'ImpostorCam2', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
Creating resource group BinFolder
Added resource location '.' of type 'FileSystem' to resource group 'BinFolder'
OSXPBuffer::getContext()
Program received signal: “EXC_BAD_ACCESSâ€

rti

04-12-2007 14:26:19

Hello.

I also played a bit around with it. But I am not an OpenGL expert, so I frighten I cannot help much.

Since I do not like complicated IDE setup, i hacked together a simple Makefile, which builds the thing on command line. Put the following with the name "Makefile" in the root of the directory structure.

# application name
TARGET = PagedGeometryExample

# global flags
CXXFLAGS += -pipe -ansi
EXTRA_CXXFLAGS = -D_DEBUG -DDEBUG -g
#EXTRA_CXXFLAGS = -O3
WARN_FLAGS = -Wall
INCLUDE += -Iinclude

INCLUDE += -I/Developer/OgreSDK/Dependencies/include -I/Developer/OgreSDK/Dependencies/Ogre.framework/Headers/
LIBPATH += -L/Developer/OgreSDK/Dependencies/lib/Release/
LIBRARIES += -framework Ogre -framework Cocoa -framework Carbon -lois

# combine the stuff
LIB = $(LIBPATH) $(LIBRARIES) $(EXTRA_LIBS)
CXXFLAGS += $(EXTRA_CXXFLAGS) $(WARN_FLAGS) $(INCLUDE) $(EXTRA_INCLUDES)

SRC_FILES = $(wildcard source/*.cpp) examples/source/Example1.cpp
O_FILES = $(SRC_FILES:%.cpp=%.o)

all: $(TARGET)

$(TARGET): $(O_FILES)
$(CXX) $(O_FILES) -o $@ $(LIB)

clean:
rm -f *.o source/*.o .gdb_history


This depends just on the Ogre SDK and uses libOIS.a provided with the SDK. On my system, the OgreSDK is located in /Developer/OgreSDK. So be sure to adjust the pathes before using this. Also verify, that the file uses tabs, not spaces, else make will be unable to parse this file.

By default, only Example1.cpp is build. Change the path locations... just remove all the voodoo. line 101, 189 and 191 for Example1.cpp

Should be the fastest way, to get a testing environment.

Hope this may help someone.

Have fun,
rTi

rti

04-12-2007 14:39:36

By the way, I get the following back trace when trying to run Example1
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x127fe187 in gleRunVertexSubmitImmediate ()
(gdb) bt
#0 0x127fe187 in gleRunVertexSubmitImmediate ()
#1 0x127fc34a in gleLLVMArrayFunc ()
#2 0x127fc34a in gleLLVMArrayFunc ()
#3 0x127fc2d7 in gleSetVertexArrayFunc ()
#4 0x127d79ea in gleDrawArraysOrElements_ExecCore ()
#5 0x127d9d5d in gleDrawArraysOrElements_VBO_Exec ()
#6 0x950fa734 in glDrawElements ()
#7 0x02619abd in Ogre::GLRenderSystem::_render ()
#8 0x00887218 in Ogre::SceneManager::renderSingleObject ()
#9 0x0087ae05 in Ogre::SceneManager::SceneMgrQueuedRenderableVisitor::visit ()
#10 0x008645fb in Ogre::QueuedRenderableCollection::acceptVisitorGrouped ()
#11 0x0086486c in Ogre::QueuedRenderableCollection::acceptVisitor ()
#12 0x0087d5d5 in Ogre::SceneManager::renderBasicQueueGroupObjects ()
#13 0x0087c5f9 in Ogre::SceneManager::renderVisibleObjectsDefaultSequence ()
#14 0x0087cf34 in Ogre::SceneManager::_renderScene ()
#15 0x00798d1e in Ogre::Camera::_renderScene ()
#16 0x008bc12a in Ogre::Viewport::update ()
#17 0x008682f9 in Ogre::RenderTarget::update ()
#18 0x000178e8 in ImpostorTexture::renderTextures (this=0x1a446f70, force=false) at source/ImpostorPage.cpp:484
#19 0x00018f39 in ImpostorTexture::ImpostorTexture (this=0x1a446f70, group=0x1e46c0, entity=0x10db400) at source/ImpostorPage.cpp:296
#20 0x000193b1 in ImpostorTexture::ImpostorTexture (this=0x1a446f70, group=0x1e46c0, entity=0x10db400) at source/ImpostorPage.cpp:323
#21 0x0001946b in ImpostorTexture::getTexture (group=0x1e46c0, entity=0x10db400) at source/ImpostorPage.cpp:550
#22 0x000194c4 in ImpostorBatch::ImpostorBatch (this=0x1a446ee0, group=0x1e46c0, entity=0x10db400) at source/ImpostorPage.cpp:188
#23 0x000195f1 in ImpostorBatch::ImpostorBatch (this=0x1a446ee0, group=0x1e46c0, entity=0x10db400) at source/ImpostorPage.cpp:204
#24 0x0001969e in ImpostorBatch::getBatch (group=0x1e46c0, entity=0x10db400) at source/ImpostorPage.cpp:228
#25 0x00019716 in ImpostorPage::addEntity (this=0x1e46c0, ent=0x10db400, position=@0xbffff504, rotation=@0xbffff4f0, scale=@0xbffff4e4, color=@0xbffff4d4) at source/ImpostorPage.cpp:79
#26 0x0001528b in PageLoader::addEntity (this=0x1ee260, ent=0x10db400, position=@0xbffff504, rotation=@0xbffff4f0, scale=@0xbffff4e4, color=@0xbffff4d4) at PagedGeometry.h:988
#27 0x00031d39 in TreeLoader3D::loadPage (this=0x1ee260, page=@0xbffff574) at source/TreeLoader3D.cpp:236
#28 0x0001dd78 in GeometryPageManager::_loadPage (this=0x1e2cd0, page=0x1e46c0) at source/PagedGeometry.cpp:550
#29 0x0001f96f in GeometryPageManager::update (this=0x1e2cd0, deltaTime=92, camPos=@0xbffff738, camSpeed=@0xbffff72c, enableCache=@0xbffff72b, prevManager=0x1db670) at source/PagedGeometry.cpp:312
#30 0x00020313 in PagedGeometry::update (this=0x1db610) at source/PagedGeometry.cpp:162
#31 0x00034cd4 in World::render (this=0xbffff7f8) at examples/source/Example1.cpp:304
#32 0x00035399 in World::run (this=0xbffff7f8) at examples/source/Example1.cpp:293
#33 0x0003666a in main (argc=1, argv=0xbffff88c) at examples/source/Example1.cpp:154

aljen

17-12-2007 08:29:27

hey :)
great job ! :)
i made my own xcode project of current version (1.02) and i must say this lib rocks :)

.tar.bz2 (with binaries) is http://deltanet.pl/~wyszynski/ogre/PagedGeometry-1.0.2-Mac.tar.bz2

btw, is this a bug (grass color)?
looking at the ground
http://deltanet.pl/~wyszynski/ogre/grass_down.jpg
looking forward
http://deltanet.pl/~wyszynski/ogre/grass_up.jpg

br, aljen

JohnJ

19-12-2007 18:54:41

btw, is this a bug (grass color)?
It looks like a bug (the grass shouldn't be colored like that obviously). It almost looks like the fog is messed up on the grass and tinting all of it blue-ish. Could you try disabling fog on the example and see if that removes the issue?

aljen

20-12-2007 20:50:48

without fog http://deltanet.pl/~wyszynski/ogre/wo_fog.jpg :)

JohnJ

21-12-2007 17:31:20

Hmm. It appears the fog is somehow affecting the grass incorrectly. This is strange since grass with fog works fine on my computer under DirectX and OpenGL. Are your drivers all up-to-date?

P.S. I forgot to say: good job getting PagedGeometry to work on mac :). Do you have impostor rendering issues like the other project files, or does it generate the Impostor.*.png files correctly?

Introspection

29-04-2008 21:37:12

I have this error message during Xcode compilation:

Building target “PagedGeometryâ€