Cs345-2010
Jump to navigation
Jump to search
Porting Intel's Smoke Game Demo to Linux
Background Information
- http://software.intel.com/en-us/articles/smoke-game-technology-demo/ - Intel Software Network article
- Place links to the other articles (TBB, Procedural Trees, etc.) here
- Notes from the Intel Software Network article on porting Smoke
- No one has tried in on OSX. I would be very interested to know if you can get it to work. The biggest dependencies on Windows are DirectX and .NET. DirectX is used by Ogre3D... however, you should be able to use OpenGL instead of DirectX (OpenGL is just a separate plug for Ogre). The scripting system uses .NET... but you can feel free to disable the scripting project (it's not used in the demo at the moment). In the \bin folder you will find Smoke.gdf... delete the reference to the scripting system (you might need to remove it from Demo.cdf too).
- Now here are the big challenges. There are a few systems that also depend on DX. These is SystemInput and SystemFire. SystemInput uses DirectX's input support. But that's easy enough to replace (or disable). SystemFire uses DirectX for some of the math calculations. Our math library should support all the needed functionality... we just didn’t have time to get all the DX out of there.
Near Term Tasks
- Examine all of the documentation and build an annotated index of it in the wiki. Materials that are on-line already, e.g. the ones listed above, can have URLs and annotations. Ones that come with the source kit should just have titles, file system paths, and annotations. We don't want to upload those to the wiki without first checking with Intel about re-publishing their materials. (To Do)
- Examine all of the source kit's directory tree and build an annotated map of it in the wiki. (To Do)
- Examine all of the includes in
Smoke.cpp
and propose solutions for porting/converting/removing each of them. (To Do) - Figure-out how each of these works, propose a solution for porting/converting/removing each of them:
- Logging (To Do)
- Debugging (To Do)
- EngineExecuteGDF (To Do)
- Develop an ordered plan in the wiki (collective, in class on Tuesday)
- Modules
- Libraries
- Ogre/OpenGL replacing DirectX (To Do)
- Find and guard/eliminate .NET stuff (To Do)
- DirectX -> ? conversion for SystemInput and SystemFire (To Do)
- Functionality
- Figure-out Doxygen and build a doc set (To Do)
- Figure-out Make and construct the first simple Makefile that builds Smoke (collective, in class on Tuesday)