Cs345-2010

From Earlham CS Department
Revision as of 21:47, 12 February 2010 by Charliep (talk | contribs)
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

  1. Examine all of the documentation and build an annotated index of it in the wiki. Don't link to them (yet), don't want to re-publish Intel's materials.
  2. Examine all of the directory tree and build an annotated index of it in the wiki.
  3. Examine all of the includes in Smoke.cpp and propose solutions for porting/converting/removing each of them.
  4. Figure-out how each of these works, propose a solution for porting/converting/removing each of them:
    • Logging
    • Debugging
    • EngineExecuteGDF
  5. Develop an ordered plan in the wiki (collective, in class on Tuesday)
    • Modules
    • Libraries
      • Ogre/OpenGL replacing DirectX
      • Find and guard/eliminate .NET stuff
      • DirectX -> ? conversion for SystemInput and SystemFire
    • Functionality
  6. Figure-out Doxygen and build a doc set
  7. Figure-out Make and construct the first simple Makefile that builds Smoke (collective, in class on Tuesday)