Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/ode/ode-0.9/contrib/Mac_CFMCarbon/README.txt @ 216

Last change on this file since 216 was 216, checked in by mathiask, 16 years ago

[Physik] add ode-0.9

File size: 4.5 KB
Line 
1-----------------------------
2ODE - Mac CFM Carbon Port
3(contact Frank Condello <pox@planetquake.com> with questions regarding this port)
4
5Although ODE contains a MacOSX makefile, and some individuals have implemented ODE in
6Cocoa, I opted to use (and prefer) CodeWarrior. This also opens up ODE to MacOS8 & 9
7users, without scarfing functionality in MacOSX (same binaries run on both platforms).
8
9The 'ode_CW7.mcp' project contains release and debug targets to create static ODE and
10DrawStuff libraries.
11
12'examples_CW7.mcp' contains targets for the entire ODE test suite, plus a couple other
13test programs which were posted to the ODE mailing list.
14
15
16-----------------------------
17Compiling Notes:
18
19You'll need to extract the CodeWarrior projects from the 'CW7_projects.sit.bin' archive
20(They're nearly a meg uncompressed so this was done to be bandwith friendly on the CVS).
21
22Projects require CodeWarrior 7 or above (recreating them with earlier versions shouldn't
23be too difficult). The projects use relative paths and are meant to be compiled from
24'contrib/Mac_CFMCarbon/'. Don't move them!
25
26All the libraries build into the 'lib/' directory, all test applications build into
27'contrib/Mac_CFMCarbon/mac_testbin/' (and must be run from that directory since the
28texture path is hard-coded).
29
30You'll need to compile the release ODE library, and the DrawStuff library before
31compiling the examples.
32
33The ODE 'configurator' has not been ported, but a Mac-friendly 'config.h' header has been
34manually hacked together (all PPC Macs should be fine with this header). Single or double
35precision can be defined in the 'CommonPrefix.h' header found in
36'contrib/Mac_CFMCarbon/mac_source/'.
37
38'contrib/Mac_CFMCarbon/mac_source/' also contains any mac specific additions to the main source.
39The directory structure here matches the main source tree, and I would recommend that this
40format is maintained when making additions, since the access paths are touchy (more below...)
41
42Some issues were encountered with duplicate header names. CodeWarrior tends to be
43unforgiving about this sort of thing but fudging with the access paths eventually
44cleared up the problem. If ODE fails to compile, make sure the <ode/objects.h> and
45"objects.h" or <timer.h> and <Timer.h> are actually pointing to the correct header.
46
47You'll need Apple's OpenGL SDK (with GLUT) in your compiler path to build DrawStuff. I've
48added redirection headers in 'contrib/Mac_CFMCarbon/mac_source/include/GL/' to properly
49link with the Apple headers (since the projects are set to follow DOS paths).
50
51The examples link against a crapload of static libraries, but my initial builds using
52ODE, MSL, GLUT, and DrawStuff shared/merged DLL's proved unstable (mostly problems with
53SIOUX spawning multiple sessions, and crashes in Classic). Static libs just worked better
54in the end, but the test apps are a little bloated as a result, and need to be re-linked
55whenever a change to a library is made.
56
57IMPORTANT: You must use the same 'CommonPrefix.h' settings for libraries, and test apps
58(i.e. double or single precision).
59
60
61-----------------------------
62Running the test apps:
63
64The test apps will show the SIOUX CLI prompt when run. Just hit OK to ignore it, or add any
65DrawStuff arguments. You'll want to log output to a file for 'test_ode'.
66
67There are two extra test programs in the 'mac_source' directory. Both were posted to the ODE
68mailing list by OSX users. 'test_stability1' visualizes some internal issues with ODE, and
69'test_stacktest' is a standalone GLUT program (doesn't use DrawStuff) that can be useful
70to stress test the library, and give you an idea of just how much stack memory you're
71going to need for large systems.
72
73ISSUES:
74
75The carbon DrawStuff lib uses GLUT to make life easy, but GLUT isn't exactly bug-free
76or stable on the Mac... Try moving the mouse around if a simulation is running slowly
77on OS9 (it's not ODE's fault, but rather a poor carbon GLUT implementation - seems GLUT stalls
78when it's not getting system events  - I haven't seen this problem on OSX).
79
80The 3D view may not update if typing in the SIOUX console window.
81
82You cannot pass startup args to GLUT due to the way the DrawStuff library initializes.
83
84'Write Frames' doesn't actually do anything at the moment.
85
86The 'test_joints' app seems broken (though I don't know what the intended effect should be)
87
88
89-----------------------------
90TODO:
91
92- Re-add shared library targets (if stability issues are resolved).
93- Implement 'Write Frames' in DrawStuff.
94- Write a Carbon compatible configurator
95- Create CodeWarrior 8 projects (once I scrounge up enough dough for the update).
Note: See TracBrowser for help on using the repository browser.