Cs345-2010

From Earlham Cluster Department

(Difference between revisions)
Jump to: navigation, search
(Directory Tree)
(Background Information)
Line 8: Line 8:
=== Background Information ===
=== Background Information ===
* http://software.intel.com/en-us/articles/smoke-game-technology-demo/ - Intel Software Network article
* 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
+
* http://www.threadingbuildingblocks.org/ - TBB
 +
* Other Links
* Notes from the Intel Software Network article on porting Smoke  
* 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).
** 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).
Line 14: Line 15:
----
----
 +
=== Near Term Tasks ===
=== Near Term Tasks ===
# Examine all of the documentation and build an annotated index of it in the wiki.  Materials that are on-line already, <i>e.g.</i> 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. (Nick)(Done!)
# Examine all of the documentation and build an annotated index of it in the wiki.  Materials that are on-line already, <i>e.g.</i> 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. (Nick)(Done!)

Revision as of 18:00, 16 February 2010

Contents

Porting Intel's Smoke Game Demo to Linux

N.B. - If you edit by section (using the "edit" links next to the section heading) you will be much less likely to cause a Save conflict.


Background Information


Near Term Tasks

  1. 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. (Nick)(Done!)
  2. Examine all of the source kit's directory tree and build an annotated map of it in the wiki. (Nick)(Currently Working On)
  3. Examine all of the #includes in Smoke.cpp and propose solutions for porting/converting/removing each of them. Remember that #includes nest, we need to follow each thread starting with the ones in Smoke.cpp. (Sam)(Done!)
  4. Figure-out roughly how each of these works, what the dependencies are, etc. and propose a solution for porting/converting/removing each of them:
    • Logging (Gil)
    • Debugging (Gil)
    • EngineExecuteGDF (Gil)
    • main() in Smoke.cpp (Gil)
    • Argument processing in Smoke.cpp (Gil)
  5. Develop an ordered plan in the wiki (collective, in class on Tuesday)
    • Modules
    • Libraries
      • Ogre/OpenGL replacing DirectX (Sam)
      • Find and guard/eliminate .NET stuff (To Do)
      • DirectX -> ? conversion for SystemInput and SystemFire (To Do)
      • Havoc (Future)
    • Functionality
  6. Figure-out Doxygen and build a doc set (Sam)(Done!)
  7. Figure-out Make and construct the first simple Makefile that builds Smoke (collective, in class on Tuesday)

Documentation


Directory Tree

Note: Many more in-depth descriptions of Ogre subdirectories and contents can be found at http://www.ogre3d.org/wiki/index.php/Main_Page
Note 2: Ogre subdirectories already include many things pertaining to Linux and OpenGL, so rendering differently may be easier than expected.


Smoke.cpp #include Files


System Path #include files

Format is: (A file that includes the header) #include <(include file)>

Sub-Systems

Logging

Debugging

EngineExecuteGDF

Ogre/OpenGL replacing Ogre/DirectX

High-level 3D graphics engine

OpenGL, DirectX, or Cg

Figure out how DirectX is being used and switch out DirectX functionality (HLSL in Ogre), with OpenGL (GLSL).

 ? replacing .NET

DirectX -> ? conversion for SystemInput and SystemFire

Personal tools
Namespaces
Variants
Actions
websites
wiki
this semester
Toolbox