Difference between revisions of "Cs345-2010"

From Earlham CS Department
Jump to navigation Jump to search
(Ogre/OpenGL replacing Ogre/DirectX)
Line 45: Line 45:
 
----
 
----
 
=== Directory Tree ===
 
=== Directory Tree ===
* bin - Some explanation
+
Smoke
** debug - Some explanation
+
|-- bin - Contains Subdirectories which contain DLL files for both Release and Debug
** logs - Some explanation
+
|  |    Versions, Also contains various .cdf, .odf, .gdf, .sdf, and .odf file
** profile - Some explanation
+
|  |
** release - Some explanation
+
|  |-- debug - Contains DLL files (Microsofts type of Shared Libraries)
* code
+
|  |
** <i>Etc.</i>
+
|  |-- logs - Contains log files (Plaintext log of events and timestamps)
* docs
+
|  |
* media
+
|  |-- profile - Contains DLL files (Microsofts type of Shared Libraries)
* tools
+
|  |
 +
|  `-- release - Contains DLL files (Microsofts type of Shared Libraries)
 +
|
 +
|-- code - Contains all files needed to build the Smoke Program
 +
|  |
 +
|  |-- build info - Contains Instructions for building under Windows
 +
|  |
 +
|  |-- extern - Contains files pertaining to external Libraries E.G Havok, Ogre, etc.
 +
|  |  |
 +
|  |  |-- FMOD - Contains files for the FMOD Audio Engine
 +
|  |  |  |
 +
|  |  |  |-- include - Contains .h files needed for the FMOD Audio Engine
 +
|  |  |  |
 +
|  |  |  `-- lib - Contains Library files for the FMOD Audio Engine
 +
|  |  |
 +
|  |  |-- Havok - Files for the Havok Physics Engine
 +
|  |  |
 +
|  |  |-- Ogre1_9 - Files for the Ogre Graphics Engine
 +
|  |  |  |
 +
|  |  |  |-- Dependencies - Files absolutely needed for the Ogre Engine
 +
|  |  |  |  |
 +
|  |  |  |  |-- include - .h files for the Ogre Egine
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- CEGUI - Crazy Eddie's Graphical User Interface
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- elements - Portions of potential GUIs built with CEGUI
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- falagard - The skin/scheme editor for CEGUI
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- Cg - Files for nVidia's CG Library
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- OIS - Ogre's Object Oriented Input System
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- freetype - Software FOnt Engine used by Ogre
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- cache - Cache Files for Freetype
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- config - Files needed for Configuration of Freetype
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- internal - Include files needed internally by Freetype
 +
|  |  |  |  |  |      |
 +
|  |  |  |  |  |      `-- services - Services used by freetype
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- ode - Open Dynamics Engine Files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- zzip - Library for unzipping files
 +
|  |  |  |  |
 +
|  |  |  |  `-- lib - Library files used by Ogre
 +
|  |  |  |      |
 +
|  |  |  |      |-- Debug - Debug Versions of Library files used by Ogre
 +
|  |  |  |      |
 +
|  |  |  |      `-- Release - Live Versions of Library files used by Ogre
 +
|  |  |  |
 +
|  |  |  |-- Docs - Documents for Ogre
 +
|  |  |  |  |
 +
|  |  |  |  |-- Readme - Contains Readme file for Ogre
 +
|  |  |  |  |
 +
|  |  |  |  |-- api - Documentation for the Ogre API
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- html - HTML Pages and associated files
 +
|  |  |  |  |
 +
|  |  |  |  |-- licenses - Licenses for various Libraries used
 +
|  |  |  |  |
 +
|  |  |  |  |-- manual - Manual pages for implementing Ogre
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- images - Images describing functionality and connectivity used for Ogre
 +
|  |  |  |  |
 +
|  |  |  |  |-- shadows - Descriptions of how to map shadows using Ogre
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- src - The files that were combined to create the PDF.
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- figure - Graphs and Images used in the PDF
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- OgreShadows.pdf
 +
|  |  |  |  |
 +
|  |  |  |  |-- src - Original Documents used for Ogre Usage Explanation Doxygen
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- images - Images used for Ogre Usage Explanation Doxygen
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- umldocs - More Doxygen related files
 +
|  |  |  |  |
 +
|  |  |  |  `-- vbo-update - Documents pertaioning to Ogre Hardware Buffers
 +
|  |  |  |
 +
|  |  |  |-- Mac - Files pertaining to using Ogre on OS X (Possibly Useful, as OS X is Un*x Based)
 +
|  |  |  |  |
 +
|  |  |  |  |-- Ogre - Files for Ogre on OS X
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- Ogre.xcodeproj - Files for Ogre used by Apple's XCode
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Attic - Retired files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files needed by Ogre for OS X
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- nib - Interface files, made with Apple's Interface Builder Software, used by Ogre
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- config.nib - Interface Configuration files for use of Ogre on OS X
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- main.nib - Main Interface files for use of Ogre on OS X
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- plist - Mac OS X Property List Files, contain Properties and Configs
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source files for using Ogre in OS X
 +
|  |  |  |  |
 +
|  |  |  |  |-- Samples - Samples of usage in Various Enviroments
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- Samples.xcodeproj - Sampes of usage in XCdde
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Attic - Retired Samples
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- cocoa - Samples for usage in Cocoa
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- OgreCustomNib.nib - Custom .nib files needed by Cocoa for Ogre
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- config - Minimal configuration files for using the Ogre Samples provided
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- plist - Mac OS X Property List files
 +
|  |  |  |  |      |
 +
|  |  |  |  |      `-- Attic - Retired files
 +
|  |  |  |  |
 +
|  |  |  |  `-- Tools - Tools used for Ogre on OS X
 +
|  |  |  |      |
 +
|  |  |  |      |-- MaterialUpgrader - XCode Project for Upgrading Materials
 +
|  |  |  |      |  |
 +
|  |  |  |      |  `-- OgreMaterialUpgrader.xcodeproj - XCode Project for Upgrading Materials
 +
|  |  |  |      | 
 +
|  |  |  |      |-- MeshUpgrader - XCode Project for upgrading 3d Meshes
 +
|  |  |  |      |  |
 +
|  |  |  |      |  `-- OgreMeshUpgrader.xcodeproj - XCode Project for upgrading 3d Meshes
 +
|  |  |  |      | 
 +
|  |  |  |      `-- XMLConverter - XCode Project for Converting XML files
 +
|  |  |  |          |
 +
|  |  |  |          `-- OgreXMLConverter.xcodeproj - XCode Project for Converting XML files
 +
|  |  |  |
 +
|  |  |  |-- OgreMain
 +
|  |  |  |  |
 +
|  |  |  |  |-- include - .h files needed for Ogre
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- Attic - Retired Files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- GLX - Ogre .h files for the OpenGL Extension to the X Window System (Possibly useful for running Windowed)
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- OSX - Ogre .h files exclusive to OS X
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- WIN32 - Ogre .h files for 32-bit Windows systems
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- gtk - Ogre .h files for the Gimp Toolkit (Useful)
 +
|  |  |  |  |
 +
|  |  |  |  | -- obj - Important files needed for Ogre
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- Debug - Empty Folder
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- Release - Documents pertaining to the Windows version of Ogre
 +
|  |  |  |  |
 +
|  |  |  |  |-- scripts - Scripts used by Ogre (Contains an Ogremain_linux.cbp file)
 +
|  |  |  |  |
 +
|  |  |  |  `-- src - Source code for Ogre
 +
|  |  |  |      |
 +
|  |  |  |      |-- Attic - Retired files
 +
|  |  |  |      |
 +
|  |  |  |      |-- GLX - Files for Rendering with OpenGL (Useful?)
 +
|  |  |  |      |
 +
|  |  |  |      |-- OSX - For Use on OSX (Useful?)
 +
|  |  |  |      |
 +
|  |  |  |      |-- WIN32 - For use on Windows
 +
|  |  |  |      |
 +
|  |  |  |      `-- gtk - For use with the GTK, specifically for XWindow application
 +
|  |  |  | 
 +
|  |  |  |-- Other  - Other files used by Ogre
 +
|  |  |  | 
 +
|  |  |  |-- PlugIns - Plugins used by Ogre
 +
|  |  |  |  |
 +
|  |  |  |  |-- BSPSceneManager - Scene manager intended for internal areas
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files needed by BSP Scene Manager
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj - Important files for the BSP Scene Manager
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- Debug - Debug Version files
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Release - Live version files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Scripts used by the BSP Scene Manager
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for the BSP Scene Manager
 +
|  |  |  |  | 
 +
|  |  |  |  |-- CgProgramManager - Plugin to manage the CG for the Program
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files for the CG Program Manager
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj - Documentation and important files for the CG Program Manager
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Release - Live verion of files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Scripts for the CG Program Manager
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for the CG Program Manager
 +
|  |  |  |  | 
 +
|  |  |  |  |-- EXRCodec
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  |
 +
|  |  |  |  |-- OctreeSceneManager
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  `-- ParticleFX
 +
|  |  |  |      |
 +
|  |  |  |      |-- include
 +
|  |  |  |      |
 +
|  |  |  |      |-- obj
 +
|  |  |  |      |  |
 +
|  |  |  |      |  `-- Release
 +
|  |  |  |      |
 +
|  |  |  |      |-- scripts
 +
|  |  |  |      |
 +
|  |  |  |      `-- src
 +
|  |  |  |     
 +
|  |  |  |
 +
|  |  |  |-- ReferenceApplication
 +
|  |  |  |  | 
 +
|  |  |  |  |-- BspCollision
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Common
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- include
 +
|  |  |  |  |
 +
|  |  |  |  |-- ReferenceAppLayer
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  `-- autom4te.cache
 +
|  |  |  |
 +
|  |  |  |-- RenderSystems
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Direct3D9 - DirectX Render System Files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  `-- GL - OpenGL Render System Files (Potentially Useful)
 +
|  |  |  |      |
 +
|  |  |  |      |-- include
 +
|  |  |  |      |  |
 +
|  |  |  |      |  |-- GL
 +
|  |  |  |      |  |
 +
|  |  |  |      |  |-- GLX
 +
|  |  |  |      |  |
 +
|  |  |  |      |  |-- OSX
 +
|  |  |  |      |  |
 +
|  |  |  |      |  `-- gtk
 +
|  |  |  |      |
 +
|  |  |  |      |-- scripts
 +
|  |  |  |      |
 +
|  |  |  |      `-- src
 +
|  |  |  |          |
 +
|  |  |  |          |-- GLSL
 +
|  |  |  |          |  |
 +
|  |  |  |          |  |-- include
 +
|  |  |  |          |  |
 +
|  |  |  |          |  `-- src
 +
|  |  |  |          | 
 +
|  |  |  |          |-- GLX
 +
|  |  |  |          |
 +
|  |  |  |          |-- OSX
 +
|  |  |  |          |
 +
|  |  |  |          |-- SDL
 +
|  |  |  |          |
 +
|  |  |  |          |-- atifs
 +
|  |  |  |          |  |
 +
|  |  |  |          |  |-- include
 +
|  |  |  |          |  |
 +
|  |  |  |          |  `-- src
 +
|  |  |  |          |
 +
|  |  |  |          |-- gtk
 +
|  |  |  |          |
 +
|  |  |  |          |-- nvparse
 +
|  |  |  |          |  |
 +
|  |  |  |          |  `-- winheaders
 +
|  |  |  |          |
 +
|  |  |  |          `-- win32
 +
|  |  |  |
 +
|  |  |  |-- SDK
 +
|  |  |  |  | 
 +
|  |  |  |  |-- OSX
 +
|  |  |  |  | 
 +
|  |  |  |  `-- Win32
 +
|  |  |  |      |
 +
|  |  |  |      |-- docs
 +
|  |  |  |      |
 +
|  |  |  |      `-- samples
 +
|  |  |  |
 +
|  |  |  |-- Samples
 +
|  |  |  |  | 
 +
|  |  |  |  |-- BSP
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- BezierPatch
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  |
 +
|  |  |  |  |-- CameraTrack
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- debug
 +
|  |  |  |  |  |  `-- release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  |
 +
|  |  |  |  |-- CelShading
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  |
 +
|  |  |  |  |-- Common
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- CEGUIRenderer
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- include
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- src
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- setup
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Compositor
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- CubeMapping
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- DeferredShading
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Dot3Bump
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- DynTex
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- EnvMapping
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- FacialAnimation
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Fresnel
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Grass
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Gui
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Instancing
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Lighting
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Media
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- DeferredShadingMedia
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- DeferredShading
 +
|  |  |  |  |  |      |
 +
|  |  |  |  |  |      |-- material
 +
|  |  |  |  |  |      |  |
 +
|  |  |  |  |  |      |  |-- glsl
 +
|  |  |  |  |  |      |  |
 +
|  |  |  |  |  |      |  `-- hlsl
 +
|  |  |  |  |  |      |
 +
|  |  |  |  |  |      `-- post
 +
|  |  |  |  |  |          |
 +
|  |  |  |  |  |          |-- glsl
 +
|  |  |  |  |  |          |
 +
|  |  |  |  |  |          `-- hlsl
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- fonts
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- gui
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- materials
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- programs
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- textures
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- models
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- overlays
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- packs
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  `-- particle
 +
|  |  |  |  | 
 +
|  |  |  |  |-- OceanDemo
 +
|  |  |  |  |  | 
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- script
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- ParticleFX
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- RenderToTexture
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Shadows
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- SkeletalAnimation
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- SkyBox
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- SkyDome
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- SkyPlane
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Smoke
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Terrain
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- TextureFX
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Transpacency
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj
 +
|  |  |  |  |  |  |-- Debug
 +
|  |  |  |  |  |  `-- Release
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- VolumeTex
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  `-- Water
 +
|  |  |  |      |
 +
|  |  |  |      |-- include
 +
|  |  |  |      |
 +
|  |  |  |      |-- scripts
 +
|  |  |  |      |
 +
|  |  |  |      `-- src
 +
|  |  |  | 
 +
|  |  |  |-- Scripts
 +
|  |  |  |  | 
 +
|  |  |  |  `-- m4
 +
|  |  |  | 
 +
|  |  |  |-- Tests
 +
|  |  |  |  | 
 +
|  |  |  |  |-- Media
 +
|  |  |  |  | 
 +
|  |  |  |  |-- OgreMain
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- ArchiveTest
 +
|  |  |  |  |  |      | 
 +
|  |  |  |  |  |      |-- level1
 +
|  |  |  |  |  |      |  |
 +
|  |  |  |  |  |      |  `-- materials
 +
|  |  |  |  |  |      |      |
 +
|  |  |  |  |  |      |      `-- scripts
 +
|  |  |  |  |  |      |
 +
|  |  |  |  |  |      `-- level2
 +
|  |  |  |  |  |          |
 +
|  |  |  |  |  |          `-- materials
 +
|  |  |  |  |  |              |
 +
|  |  |  |  |  |              `-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  |-- PlayPen
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src
 +
|  |  |  |  | 
 +
|  |  |  |  `-- src
 +
|  |  |  | 
 +
|  |  |  |-- Tools
 +
|  |  |  |  | 
 +
|  |  |  |  |-- 3dsmaxExport
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- Attic
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- MaxscriptExport
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- Docs
 +
|  |  |  |  |  |  |  |
 +
|  |  |  |  |  |  |  `-- tutorials
 +
|  |  |  |  |  |  |      |
 +
|  |  |  |  |  |  |      |-- skateboard
 +
|  |  |  |  |  |  |      |  |
 +
|  |  |  |  |  |  |      |  `-- images
 +
|  |  |  |  |  |  |      | 
 +
|  |  |  |  |  |  |      |-- skeleton
 +
|  |  |  |  |  |  |      |  |
 +
|  |  |  |  |  |  |      |  `-- images
 +
|  |  |  |  |  |  |      |
 +
|  |  |  |  |  |  |      `-- toolbar
 +
|  |  |  |  |  |  |          |
 +
|  |  |  |  |  |  |          `-- images
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- images
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- plugins
 +
|  |  |  |  |  |  |  |
 +
|  |  |  |  |  |  |  |-- Attic
 +
|  |  |  |  |  |  |  |
 +
|  |  |  |  |  |  |  `-- PhysiqueInterface_sources
 +
|  |  |  |  |  |  |      |
 +
|  |  |  |  |  |  |      `-- Attic
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |  |  |
 +
|  |  |  |  |  |  |  |-- ogre
 +
|  |  |  |  |  |  |  |  |
 +
|  |  |  |  |  |  |  |  |-- lib
 +
|  |  |  |  |  |  |  |  |
 +
|  |  |  |  |  |  |  |  `-- macros
 +
|  |  |  |  |  |  |  |
 +
|  |  |  |  |  |  |  `-- startup
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- tutorial._files
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- ui
 +
|  |  |  |  |  |      |
 +
|  |  |  |  |  |      `-- Icons
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- OgreExport
 +
|  |  |  |  |  |  | 
 +
|  |  |  |  |  |  |-- include
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- scripts
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- src
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- Samples
 +
|  |  |  |  |
 +
|  |  |  |  |-- BitmapFontBuilderTool
 +
|  |  |  |  |
 +
|  |  |  |  |-- BlenderExport
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- ogrehelp
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- images
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- ogrepkg
 +
|  |  |  |  |
 +
|  |  |  |  |-- Common - Common tools supported by the GNU Lesser GPL
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- bin - Empty Folder
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- debug - Empty Folder
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- release - Empty Folder
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- setup - Readmes and License information for the Common Tools
 +
|  |  |  |  |
 +
|  |  |  |  |-- LightwaveConverter - Converts Lightwave files into Ogre meshes
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files needed by the Lightwave Converter
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - scripts used byt he Lightwave Converter
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source Code for the Lightwave Converter
 +
|  |  |  |  |
 +
|  |  |  |  |-- MaterialUpgrader - Tool for upgrading image files of textures
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files needed byt he Material Upgrader
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - scripts used by the Material Upgrader
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for the Material Upgrader
 +
|  |  |  |  |
 +
|  |  |  |  |-- MayaExport - Tool for exporting files in a usable format for Maya (3d Animation tool)
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files needed for the Maya Exporter
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- mel - Maya Embedded Language files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Scripts needed by the Maya Exporter
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- Attic - Retired Files
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- MayaExport.xcodeproj - XCode format project for the Maya Exporter Scripts
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for the Maya Exporter
 +
|  |  |  |  |
 +
|  |  |  |  |-- MeshUpgrader - Upgrades a low Polygon map into a high Polygon map
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Scripts used by the Mesh Upgrader
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for the Mesh Upgrader
 +
|  |  |  |  |
 +
|  |  |  |  |-- MilkshapeExport - Tool for exporting files for Milkshape (A Shareware low polygon 3D modelling program)
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files neeeded for Milshape file Exporting
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- lib - Libraries for Milkshape file Exporting
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  |-- Debug - Debug Mode Library
 +
|  |  |  |  |  |  |
 +
|  |  |  |  |  |  `-- Release - Release Library
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc - Miscellaneous files needed for Milkshape file Exporting
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- obj - Empty Folders
 +
|  |  |  |  |  |  |-- Debug - Empty Folder
 +
|  |  |  |  |  |  `-- Release - Empty Folder
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Scripts used by the Milkshape File Exporter
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- setup - Setup files and License for Milkshape file Exporting
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for Milkshape file Exporting
 +
|  |  |  |  |
 +
|  |  |  |  |-- VRMLConverter - Tool for converting VRML files to Ogre XMl Files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Scripts needed for VRML Conversion
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- src - Source code for VRML Converter tool
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- vrmllib - Library files for the VRML COnverter tool
 +
|  |  |  |  |      |
 +
|  |  |  |  |      |-- include - .h files needed for the VRML Conversion tool
 +
|  |  |  |  |      |  |
 +
|  |  |  |  |      |  `-- vrmllib - .h files needed for the VRML Conversion tool
 +
|  |  |  |  |      |
 +
|  |  |  |  |      `-- src - Source code for the libraries needed for the VRML COnverter tool
 +
|  |  |  |  |
 +
|  |  |  |  |-- Wings3DExporter - Tool to export mesh files from Wings3D to Ogre XML Files
 +
|  |  |  |  |
 +
|  |  |  |  |-- XMLConverter - Tool for conversion of XML Files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- docs - Documents pertaining to the Tool for conversion of XML Files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h Files needed for the XML Conversion tool
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Script for the XML Conversion tool
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for the for the XML Conversion tool
 +
|  |  |  |  |
 +
|  |  |  |  |-- XSIExport - Tool to export XSI files
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h files needed by the XSI Exportation tool
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- misc - Private Definitions for the XSI Exportation tool
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- scripts - Scripts for use with the XSI Exportation tool
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- setup - Setup files for XSI Exportation tool
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for XSI Exportation tool
 +
|  |  |  |  |
 +
|  |  |  |  |-- dotXSIConverter - Converter of .xsi files (Three-dimensional model created using Softimage XSI character production software)
 +
|  |  |  |  |  |
 +
|  |  |  |  |  |-- include - .h Files needed for .xsi Conversion
 +
|  |  |  |  |  |
 +
|  |  |  |  |  `-- src - Source code for .xsi Conversion
 +
|  |  |  |
 +
|  |  |  `-- autom4te.cache - Traces and Guess values for system-dependent variables and create Makefiles.
 +
|  |  |
 +
|  |  |-- PagedGeometry - Add-on for Ogre that allows easy rendering of Massive, Dense forests.
 +
|  |  |  |
 +
|  |  |  |-- docs - Tutorials pertaining to the use of the Paged Geometry Engine
 +
|  |  |  | 
 +
|  |  |  |-- include - Include files needed to use the PGE
 +
|  |  |  |
 +
|  |  |  |-- lib - Library files needed by the PGE
 +
|  |  |  |
 +
|  |  |  `-- source - Source code for the PGE
 +
|  |  |
 +
|  |  |-- SystemGraphicsOgre - Source files for graphics produced directly by Ogre (Movable wire models and text)
 +
|  |  | 
 +
|  |  |-- TBB - Threading Building Blocks, Intel's Open Source C++ Runtime Library for Paralellism in C++
 +
|  |  |  |
 +
|  |  |  |-- include - .h files needed by TBB
 +
|  |  |  |  |
 +
|  |  |  |  `-- tbb - .h files needed by TBB
 +
|  |  |  |      |
 +
|  |  |  |      `-- machine - .h files specific to the platform that TBB is being used on
 +
|  |  |  |
 +
|  |  |  `-- lib - Library files needed by Threading Building Blocks
 +
|  |  |
 +
|  |  |-- TinyXml - Files pertaining to TinyXML, a C++ XML parser
 +
|  |  |  |
 +
|  |  |  `-- lib - Library files needed by TinyXML
 +
|  |  |
 +
|  |  `-- Trees - Files pertaining to the size, shape, type, and growth of the Procedural trees
 +
|  |
 +
|  `-- src - Source code files that bring the Project together into a working program
 +
|      |
 +
|      |-- BaseTypes - Simple types needed by Smoke, closely related to Standard Libraries
 +
|      |
 +
|      |-- Framework - Source files that manage the Framework of the Project (Thread Management, Scheduler, etc)
 +
|      |
 +
|      |-- Interfaces - Source files for the various portions of the Graphical Interface
 +
|      |  |
 +
|      |  `-- Services - Source files for Services the Interface portions must provide
 +
|      |
 +
|      |-- Smoke - The Big Enchilada (The main CPP file, and supporting files)
 +
|      |  |
 +
|      |  `-- Resources - Files needed by Smoke.cpp
 +
|      |
 +
|      |-- SystemAI - Source files pertaining to the creation and control of AI Lifeforms
 +
|      |  |
 +
|      |  |-- AIs - Source files for the control of Animals, and other Artificially Intelligent Beings
 +
|      |  |
 +
|      |  `-- Goals - Hopes for the Animals to achieve (Flocks, Herds, reactions)
 +
|      |
 +
|      |-- SystemAudioFMOD - Source files for Audio output through FMOD
 +
|      |
 +
|      |-- SystemExplosion - Source files pertaining to the Explosion when the meteor hits the house
 +
|      |
 +
|      |-- SystemGeometry - Source files for calculation related work involving geometric shapes
 +
|      |
 +
|      |-- SystemGraphicsOgre - Source files for displaying Graphics through Ogre (Lot of DirectX, need to modify heavily)
 +
|      |
 +
|      |-- SystemInput - Source files to analyze and adapt to user input
 +
|      |
 +
|      |-- SystemPhysicsCollisionHavok - Source files for Collision Detection and proper physics through Havok
 +
|      |
 +
|      |-- SystemProceduralFire - Source files for the Procedural fire implementation (IMPORTANT to Optimize!)
 +
|      |
 +
|      |-- SystemProceduralTrees - Source files for the Procedural Tree implementation
 +
|      |
 +
|      |-- SystemScripting - Source files for Scripting withint the Demo
 +
|      |
 +
|      `-- SystemWater - Source code pertaining to the Water System within the Demo
 +
|          |
 +
|          `-- Objects - Source files for the Water based objects
 +
|
 +
|-- docs - Documents pertaining to the Smoke Project as a whole
 +
|  |
 +
|  |-- Presentations - Presentations given by Intel
 +
|  |  |
 +
|  |  |-- Fall IDF - Presentations given at the Intel Developer Forum
 +
|  |  |
 +
|  |  |-- GDC 2008 - Presentations given at the Game developers Conference
 +
|  |  |
 +
|  |  |-- GameFest - Presentations given at GameFest
 +
|  |  |
 +
|  |  |-- Siggraph - Presentations given at Siggraph
 +
|  |  |
 +
|  |  `-- Overview.rtf
 +
|  |   
 +
|  `-- html - HTML and related files explaining parts of the demo (annotated.html VERY USEFUL)
 +
 +
|-- media - Video, Audio, and various other files pertaining to screen output
 +
|  | 
 +
|  |-- fonts - Font files used in the Demo
 +
|  |
 +
|  |-- graphics - Files pertaining to graphical output
 +
|  |  |
 +
|  |  |-- materials - Files for materials, such as textures for trees, the house, the meteor
 +
|  |  |  |
 +
|  |  |  |-- particles - Particle effect files for Fire Hose and Meteor
 +
|  |  |  |
 +
|  |  |  |-- programs - Source files for activating the various 3d objects such as the Fire, Trees, Lights, and Water
 +
|  |  |  |
 +
|  |  |  |-- scripts - Scripts for how materials react to various stimuli in the demo
 +
|  |  |  |
 +
|  |  |  `-- textures - Texture files, for use with Photoshop, GIMP
 +
|  |  |
 +
|  |  `-- models - 3D models of Objects
 +
|  |
 +
|  |-- physics - Havok Physics Engine Files for Objects
 +
|  |
 +
|  `-- sounds - Sound Files used in the Demo
 +
|   
 +
|
 +
`-- LICENSE.doc
  
 
----
 
----

Revision as of 12:35, 16 February 2010

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

  • 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. 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)
  2. Examine all of the source kit's directory tree and build an annotated map of it in the wiki. (Nick)
  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

  • Entries from Background section above.
    • Description of what's in each document, what it's useful for.
  • Other papers Intel has published about Smoke.
    • Etc.

Directory Tree

Smoke |-- bin - Contains Subdirectories which contain DLL files for both Release and Debug | | Versions, Also contains various .cdf, .odf, .gdf, .sdf, and .odf file | | | |-- debug - Contains DLL files (Microsofts type of Shared Libraries) | | | |-- logs - Contains log files (Plaintext log of events and timestamps) | | | |-- profile - Contains DLL files (Microsofts type of Shared Libraries) | | | `-- release - Contains DLL files (Microsofts type of Shared Libraries) | |-- code - Contains all files needed to build the Smoke Program | | | |-- build info - Contains Instructions for building under Windows | | | |-- extern - Contains files pertaining to external Libraries E.G Havok, Ogre, etc. | | | | | |-- FMOD - Contains files for the FMOD Audio Engine | | | | | | | |-- include - Contains .h files needed for the FMOD Audio Engine | | | | | | | `-- lib - Contains Library files for the FMOD Audio Engine | | | | | |-- Havok - Files for the Havok Physics Engine | | | | | |-- Ogre1_9 - Files for the Ogre Graphics Engine | | | | | | | |-- Dependencies - Files absolutely needed for the Ogre Engine | | | | | | | | | |-- include - .h files for the Ogre Egine | | | | | | | | | | | |-- CEGUI - Crazy Eddie's Graphical User Interface | | | | | | | | | | | | | |-- elements - Portions of potential GUIs built with CEGUI | | | | | | | | | | | | | `-- falagard - The skin/scheme editor for CEGUI | | | | | | | | | | | |-- Cg - Files for nVidia's CG Library | | | | | | | | | | | |-- OIS - Ogre's Object Oriented Input System | | | | | | | | | | | |-- freetype - Software FOnt Engine used by Ogre | | | | | | | | | | | | | |-- cache - Cache Files for Freetype | | | | | | | | | | | | | |-- config - Files needed for Configuration of Freetype | | | | | | | | | | | | | `-- internal - Include files needed internally by Freetype | | | | | | | | | | | | | `-- services - Services used by freetype | | | | | | | | | | | | | | | | | |-- ode - Open Dynamics Engine Files | | | | | | | | | | | `-- zzip - Library for unzipping files | | | | | | | | | `-- lib - Library files used by Ogre | | | | | | | | | |-- Debug - Debug Versions of Library files used by Ogre | | | | | | | | | `-- Release - Live Versions of Library files used by Ogre | | | | | | | |-- Docs - Documents for Ogre | | | | | | | | | |-- Readme - Contains Readme file for Ogre | | | | | | | | | |-- api - Documentation for the Ogre API | | | | | | | | | | | `-- html - HTML Pages and associated files | | | | | | | | | |-- licenses - Licenses for various Libraries used | | | | | | | | | |-- manual - Manual pages for implementing Ogre | | | | | | | | | | | `-- images - Images describing functionality and connectivity used for Ogre | | | | | | | | | |-- shadows - Descriptions of how to map shadows using Ogre | | | | | | | | | | | |-- src - The files that were combined to create the PDF. | | | | | | | | | | | | | `-- figure - Graphs and Images used in the PDF | | | | | | | | | | | `-- OgreShadows.pdf | | | | | | | | | |-- src - Original Documents used for Ogre Usage Explanation Doxygen | | | | | | | | | | | |-- images - Images used for Ogre Usage Explanation Doxygen | | | | | | | | | | | `-- umldocs - More Doxygen related files | | | | | | | | | `-- vbo-update - Documents pertaioning to Ogre Hardware Buffers | | | | | | | |-- Mac - Files pertaining to using Ogre on OS X (Possibly Useful, as OS X is Un*x Based) | | | | | | | | | |-- Ogre - Files for Ogre on OS X | | | | | | | | | | | |-- Ogre.xcodeproj - Files for Ogre used by Apple's XCode | | | | | | | | | | | | | `-- Attic - Retired files | | | | | | | | | | | |-- include - .h files needed by Ogre for OS X | | | | | | | | | | | |-- nib - Interface files, made with Apple's Interface Builder Software, used by Ogre | | | | | | | | | | | | | |-- config.nib - Interface Configuration files for use of Ogre on OS X | | | | | | | | | | | | | `-- main.nib - Main Interface files for use of Ogre on OS X | | | | | | | | | | | |-- plist - Mac OS X Property List Files, contain Properties and Configs | | | | | | | | | | | `-- src - Source files for using Ogre in OS X | | | | | | | | | |-- Samples - Samples of usage in Various Enviroments | | | | | | | | | | | |-- Samples.xcodeproj - Sampes of usage in XCdde | | | | | | | | | | | | | `-- Attic - Retired Samples | | | | | | | | | | | |-- cocoa - Samples for usage in Cocoa | | | | | | | | | | | | | `-- OgreCustomNib.nib - Custom .nib files needed by Cocoa for Ogre | | | | | | | | | | | |-- config - Minimal configuration files for using the Ogre Samples provided | | | | | | | | | | | `-- plist - Mac OS X Property List files | | | | | | | | | | | `-- Attic - Retired files | | | | | | | | | `-- Tools - Tools used for Ogre on OS X | | | | | | | | | |-- MaterialUpgrader - XCode Project for Upgrading Materials | | | | | | | | | | | `-- OgreMaterialUpgrader.xcodeproj - XCode Project for Upgrading Materials | | | | | | | | | |-- MeshUpgrader - XCode Project for upgrading 3d Meshes | | | | | | | | | | | `-- OgreMeshUpgrader.xcodeproj - XCode Project for upgrading 3d Meshes | | | | | | | | | `-- XMLConverter - XCode Project for Converting XML files | | | | | | | | | `-- OgreXMLConverter.xcodeproj - XCode Project for Converting XML files | | | | | | | |-- OgreMain | | | | | | | | | |-- include - .h files needed for Ogre | | | | | | | | | | | |-- Attic - Retired Files | | | | | | | | | | | |-- GLX - Ogre .h files for the OpenGL Extension to the X Window System (Possibly useful for running Windowed) | | | | | | | | | | | |-- OSX - Ogre .h files exclusive to OS X | | | | | | | | | | | |-- WIN32 - Ogre .h files for 32-bit Windows systems | | | | | | | | | | | `-- gtk - Ogre .h files for the Gimp Toolkit (Useful) | | | | | | | | | | -- obj - Important files needed for Ogre | | | | | | | | | | | |-- Debug - Empty Folder | | | | | | | | | | | `-- Release - Documents pertaining to the Windows version of Ogre | | | | | | | | | |-- scripts - Scripts used by Ogre (Contains an Ogremain_linux.cbp file) | | | | | | | | | `-- src - Source code for Ogre | | | | | | | | | |-- Attic - Retired files | | | | | | | | | |-- GLX - Files for Rendering with OpenGL (Useful?) | | | | | | | | | |-- OSX - For Use on OSX (Useful?) | | | | | | | | | |-- WIN32 - For use on Windows | | | | | | | | | `-- gtk - For use with the GTK, specifically for XWindow application | | | | | | | |-- Other - Other files used by Ogre | | | | | | | |-- PlugIns - Plugins used by Ogre | | | | | | | | | |-- BSPSceneManager - Scene manager intended for internal areas | | | | | | | | | | | |-- include - .h files needed by BSP Scene Manager | | | | | | | | | | | |-- obj - Important files for the BSP Scene Manager | | | | | | | | | | | | | |-- Debug - Debug Version files | | | | | | | | | | | | | `-- Release - Live version files | | | | | | | | | | | |-- scripts - Scripts used by the BSP Scene Manager | | | | | | | | | | | `-- src - Source code for the BSP Scene Manager | | | | | | | | | |-- CgProgramManager - Plugin to manage the CG for the Program | | | | | | | | | | | |-- include - .h files for the CG Program Manager | | | | | | | | | | | |-- obj - Documentation and important files for the CG Program Manager | | | | | | | | | | | | | `-- Release - Live verion of files | | | | | | | | | | | |-- scripts - Scripts for the CG Program Manager | | | | | | | | | | | `-- src - Source code for the CG Program Manager | | | | | | | | | |-- EXRCodec | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- OctreeSceneManager | | | | | | | | | | | |-- include | | | | | | | | | | | |-- obj | | | | | | | | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | `-- ParticleFX | | | | | | | | | |-- include | | | | | | | | | |-- obj | | | | | | | | | | | `-- Release | | | | | | | | | |-- scripts | | | | | | | | | `-- src | | | | | | | | | | | |-- ReferenceApplication | | | | | | | | | |-- BspCollision | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Common | | | | | | | | | | | |-- bin | | | | | | | | | | | | | |-- Debug | | | | | | | | | | | | | `-- Release | | | | | | | | | | | `-- include | | | | | | | | | |-- ReferenceAppLayer | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | `-- autom4te.cache | | | | | | | |-- RenderSystems | | | | | | | | | |-- Direct3D9 - DirectX Render System Files | | | | | | | | | | | |-- include | | | | | | | | | | | |-- obj | | | | | | | | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | `-- GL - OpenGL Render System Files (Potentially Useful) | | | | | | | | | |-- include | | | | | | | | | | | |-- GL | | | | | | | | | | | |-- GLX | | | | | | | | | | | |-- OSX | | | | | | | | | | | `-- gtk | | | | | | | | | |-- scripts | | | | | | | | | `-- src | | | | | | | | | |-- GLSL | | | | | | | | | | | |-- include | | | | | | | | | | | `-- src | | | | | | | | | |-- GLX | | | | | | | | | |-- OSX | | | | | | | | | |-- SDL | | | | | | | | | |-- atifs | | | | | | | | | | | |-- include | | | | | | | | | | | `-- src | | | | | | | | | |-- gtk | | | | | | | | | |-- nvparse | | | | | | | | | | | `-- winheaders | | | | | | | | | `-- win32 | | | | | | | |-- SDK | | | | | | | | | |-- OSX | | | | | | | | | `-- Win32 | | | | | | | | | |-- docs | | | | | | | | | `-- samples | | | | | | | |-- Samples | | | | | | | | | |-- BSP | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- BezierPatch | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- CameraTrack | | | | | | | | | | | |-- bin | | | | | | |-- debug | | | | | | `-- release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- CelShading | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Common | | | | | | | | | | | |-- CEGUIRenderer | | | | | | | | | | | | | |-- include | | | | | | | | | | | | | |-- scripts | | | | | | | | | | | | | `-- src | | | | | | | | | | | |-- bin | | | | | | | | | | | | | |-- Debug | | | | | | | | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- setup | | | | | | | | | | | `-- src | | | | | | | | | |-- Compositor | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- CubeMapping | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- DeferredShading | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Dot3Bump | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- DynTex | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `- src | | | | | | | | | |-- EnvMapping | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- FacialAnimation | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Fresnel | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Grass | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Gui | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Instancing | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Lighting | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Media | | | | | | | | | | | |-- DeferredShadingMedia | | | | | | | | | | | | | `-- DeferredShading | | | | | | | | | | | | | |-- material | | | | | | | | | | | | | | | |-- glsl | | | | | | | | | | | | | | | `-- hlsl | | | | | | | | | | | | | `-- post | | | | | | | | | | | | | |-- glsl | | | | | | | | | | | | | `-- hlsl | | | | | | | | | | | |-- fonts | | | | | | | | | | | |-- gui | | | | | | | | | | | |-- materials | | | | | | | | | | | | | |-- programs | | | | | | | | | | | | | |-- scripts | | | | | | | | | | | | | `-- textures | | | | | | | | | | | |-- models | | | | | | | | | | | |-- overlays | | | | | | | | | | | |-- packs | | | | | | | | | | | `-- particle | | | | | | | | | |-- OceanDemo | | | | | | | | | | | |-- include | | | | | | | | | | | |-- script | | | | | | | | | | | `-- src | | | | | | | | | |-- ParticleFX | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- RenderToTexture | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Shadows | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- SkeletalAnimation | | | | | | | | | | | |-- bin | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- SkyBox | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- SkyDome | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- SkyPlane | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Smoke | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Terrain | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- TextureFX | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- Transpacency | | | | | | | | | | | |-- bin | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | |-- obj | | | | | | |-- Debug | | | | | | `-- Release | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- VolumeTex | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | `-- Water | | | | | | | | | |-- include | | | | | | | | | |-- scripts | | | | | | | | | `-- src | | | | | | | |-- Scripts | | | | | | | | | `-- m4 | | | | | | | |-- Tests | | | | | | | | | |-- Media | | | | | | | | | |-- OgreMain | | | | | | | | | | | |-- include | | | | | | | | | | | |-- misc | | | | | | | | | | | | | `-- ArchiveTest | | | | | | | | | | | | | |-- level1 | | | | | | | | | | | | | | | `-- materials | | | | | | | | | | | | | | | `-- scripts | | | | | | | | | | | | | `-- level2 | | | | | | | | | | | | | `-- materials | | | | | | | | | | | | | `-- scripts | | | | | | | | | | | `-- src | | | | | | | | | |-- PlayPen | | | | | | | | | | | |-- include | | | | | | | | | | | |-- scripts | | | | | | | | | | | `-- src | | | | | | | | | `-- src | | | | | | | |-- Tools | | | | | | | | | |-- 3dsmaxExport | | | | | | | | | | | |-- Attic | | | | | | | | | | | |-- MaxscriptExport | | | | | | | | | | | | | |-- Docs | | | | | | | | | | | | | | | `-- tutorials | | | | | | | | | | | | | | | |-- skateboard | | | | | | | | | | | | | | | | | `-- images | | | | | | | | | | | | | | | |-- skeleton | | | | | | | | | | | | | | | | | `-- images | | | | | | | | | | | | | | | `-- toolbar | | | | | | | | | | | | | | | `-- images | | | | | | | | | | | | | |-- images | | | | | | | | | | | | | |-- plugins | | | | | | | | | | | | | | | |-- Attic | | | | | | | | | | | | | | | `-- PhysiqueInterface_sources | | | | | | | | | | | | | | | `-- Attic | | | | | | | | | | | | | |-- scripts | | | | | | | | | | | | | | | |-- ogre | | | | | | | | | | | | | | | | | |-- lib | | | | | | | | | | | | | | | | | `-- macros | | | | | | | | | | | | | | | `-- startup | | | | | | | | | | | | | |-- tutorial._files | | | | | | | | | | | | | `-- ui | | | | | | | | | | | | | `-- Icons | | | | | | | | | | | |-- OgreExport | | | | | | | | | | | | | |-- include | | | | | | | | | | | | | |-- scripts | | | | | | | | | | | | | `-- src | | | | | | | | | | | `-- Samples | | | | | | | | | |-- BitmapFontBuilderTool | | | | | | | | | |-- BlenderExport | | | | | | | | | | | |-- ogrehelp | | | | | | | | | | | | | `-- images | | | | | | | | | | | `-- ogrepkg | | | | | | | | | |-- Common - Common tools supported by the GNU Lesser GPL | | | | | | | | | | | |-- bin - Empty Folder | | | | | | | | | | | | | |-- debug - Empty Folder | | | | | | | | | | | | | `-- release - Empty Folder | | | | | | | | | | | `-- setup - Readmes and License information for the Common Tools | | | | | | | | | |-- LightwaveConverter - Converts Lightwave files into Ogre meshes | | | | | | | | | | | |-- include - .h files needed by the Lightwave Converter | | | | | | | | | | | |-- scripts - scripts used byt he Lightwave Converter | | | | | | | | | | | `-- src - Source Code for the Lightwave Converter | | | | | | | | | |-- MaterialUpgrader - Tool for upgrading image files of textures | | | | | | | | | | | |-- include - .h files needed byt he Material Upgrader | | | | | | | | | | | |-- scripts - scripts used by the Material Upgrader | | | | | | | | | | | `-- src - Source code for the Material Upgrader | | | | | | | | | |-- MayaExport - Tool for exporting files in a usable format for Maya (3d Animation tool) | | | | | | | | | | | |-- include - .h files needed for the Maya Exporter | | | | | | | | | | | |-- mel - Maya Embedded Language files | | | | | | | | | | | |-- scripts - Scripts needed by the Maya Exporter | | | | | | | | | | | | | |-- Attic - Retired Files | | | | | | | | | | | | | `-- MayaExport.xcodeproj - XCode format project for the Maya Exporter Scripts | | | | | | | | | | | `-- src - Source code for the Maya Exporter | | | | | | | | | |-- MeshUpgrader - Upgrades a low Polygon map into a high Polygon map | | | | | | | | | | | |-- scripts - Scripts used by the Mesh Upgrader | | | | | | | | | | | `-- src - Source code for the Mesh Upgrader | | | | | | | | | |-- MilkshapeExport - Tool for exporting files for Milkshape (A Shareware low polygon 3D modelling program) | | | | | | | | | | | |-- include - .h files neeeded for Milshape file Exporting | | | | | | | | | | | |-- lib - Libraries for Milkshape file Exporting | | | | | | | | | | | | | |-- Debug - Debug Mode Library | | | | | | | | | | | | | `-- Release - Release Library | | | | | | | | | | | |-- misc - Miscellaneous files needed for Milkshape file Exporting | | | | | | | | | | | |-- obj - Empty Folders | | | | | | |-- Debug - Empty Folder | | | | | | `-- Release - Empty Folder | | | | | | | | | | | |-- scripts - Scripts used by the Milkshape File Exporter | | | | | | | | | | | |-- setup - Setup files and License for Milkshape file Exporting | | | | | | | | | | | `-- src - Source code for Milkshape file Exporting | | | | | | | | | |-- VRMLConverter - Tool for converting VRML files to Ogre XMl Files | | | | | | | | | | | |-- scripts - Scripts needed for VRML Conversion | | | | | | | | | | | |-- src - Source code for VRML Converter tool | | | | | | | | | | | `-- vrmllib - Library files for the VRML COnverter tool | | | | | | | | | | | |-- include - .h files needed for the VRML Conversion tool | | | | | | | | | | | | | `-- vrmllib - .h files needed for the VRML Conversion tool | | | | | | | | | | | `-- src - Source code for the libraries needed for the VRML COnverter tool | | | | | | | | | |-- Wings3DExporter - Tool to export mesh files from Wings3D to Ogre XML Files | | | | | | | | | |-- XMLConverter - Tool for conversion of XML Files | | | | | | | | | | | |-- docs - Documents pertaining to the Tool for conversion of XML Files | | | | | | | | | | | |-- include - .h Files needed for the XML Conversion tool | | | | | | | | | | | |-- scripts - Script for the XML Conversion tool | | | | | | | | | | | `-- src - Source code for the for the XML Conversion tool | | | | | | | | | |-- XSIExport - Tool to export XSI files | | | | | | | | | | | |-- include - .h files needed by the XSI Exportation tool | | | | | | | | | | | |-- misc - Private Definitions for the XSI Exportation tool | | | | | | | | | | | |-- scripts - Scripts for use with the XSI Exportation tool | | | | | | | | | | | |-- setup - Setup files for XSI Exportation tool | | | | | | | | | | | `-- src - Source code for XSI Exportation tool | | | | | | | | | |-- dotXSIConverter - Converter of .xsi files (Three-dimensional model created using Softimage XSI character production software) | | | | | | | | | | | |-- include - .h Files needed for .xsi Conversion | | | | | | | | | | | `-- src - Source code for .xsi Conversion | | | | | | | `-- autom4te.cache - Traces and Guess values for system-dependent variables and create Makefiles. | | | | | |-- PagedGeometry - Add-on for Ogre that allows easy rendering of Massive, Dense forests. | | | | | | | |-- docs - Tutorials pertaining to the use of the Paged Geometry Engine | | | | | | | |-- include - Include files needed to use the PGE | | | | | | | |-- lib - Library files needed by the PGE | | | | | | | `-- source - Source code for the PGE | | | | | |-- SystemGraphicsOgre - Source files for graphics produced directly by Ogre (Movable wire models and text) | | | | | |-- TBB - Threading Building Blocks, Intel's Open Source C++ Runtime Library for Paralellism in C++ | | | | | | | |-- include - .h files needed by TBB | | | | | | | | | `-- tbb - .h files needed by TBB | | | | | | | | | `-- machine - .h files specific to the platform that TBB is being used on | | | | | | | `-- lib - Library files needed by Threading Building Blocks | | | | | |-- TinyXml - Files pertaining to TinyXML, a C++ XML parser | | | | | | | `-- lib - Library files needed by TinyXML | | | | | `-- Trees - Files pertaining to the size, shape, type, and growth of the Procedural trees | | | `-- src - Source code files that bring the Project together into a working program | | | |-- BaseTypes - Simple types needed by Smoke, closely related to Standard Libraries | | | |-- Framework - Source files that manage the Framework of the Project (Thread Management, Scheduler, etc) | | | |-- Interfaces - Source files for the various portions of the Graphical Interface | | | | | `-- Services - Source files for Services the Interface portions must provide | | | |-- Smoke - The Big Enchilada (The main CPP file, and supporting files) | | | | | `-- Resources - Files needed by Smoke.cpp | | | |-- SystemAI - Source files pertaining to the creation and control of AI Lifeforms | | | | | |-- AIs - Source files for the control of Animals, and other Artificially Intelligent Beings | | | | | `-- Goals - Hopes for the Animals to achieve (Flocks, Herds, reactions) | | | |-- SystemAudioFMOD - Source files for Audio output through FMOD | | | |-- SystemExplosion - Source files pertaining to the Explosion when the meteor hits the house | | | |-- SystemGeometry - Source files for calculation related work involving geometric shapes | | | |-- SystemGraphicsOgre - Source files for displaying Graphics through Ogre (Lot of DirectX, need to modify heavily) | | | |-- SystemInput - Source files to analyze and adapt to user input | | | |-- SystemPhysicsCollisionHavok - Source files for Collision Detection and proper physics through Havok | | | |-- SystemProceduralFire - Source files for the Procedural fire implementation (IMPORTANT to Optimize!) | | | |-- SystemProceduralTrees - Source files for the Procedural Tree implementation | | | |-- SystemScripting - Source files for Scripting withint the Demo | | | `-- SystemWater - Source code pertaining to the Water System within the Demo | | | `-- Objects - Source files for the Water based objects | |-- docs - Documents pertaining to the Smoke Project as a whole | | | |-- Presentations - Presentations given by Intel | | | | | |-- Fall IDF - Presentations given at the Intel Developer Forum | | | | | |-- GDC 2008 - Presentations given at the Game developers Conference | | | | | |-- GameFest - Presentations given at GameFest | | | | | |-- Siggraph - Presentations given at Siggraph | | | | | `-- Overview.rtf | | | `-- html - HTML and related files explaining parts of the demo (annotated.html VERY USEFUL) | |-- media - Video, Audio, and various other files pertaining to screen output | | | |-- fonts - Font files used in the Demo | | | |-- graphics - Files pertaining to graphical output | | | | | |-- materials - Files for materials, such as textures for trees, the house, the meteor | | | | | | | |-- particles - Particle effect files for Fire Hose and Meteor | | | | | | | |-- programs - Source files for activating the various 3d objects such as the Fire, Trees, Lights, and Water | | | | | | | |-- scripts - Scripts for how materials react to various stimuli in the demo | | | | | | | `-- textures - Texture files, for use with Photoshop, GIMP | | | | | `-- models - 3D models of Objects | | | |-- physics - Havok Physics Engine Files for Objects | | | `-- sounds - Sound Files used in the Demo | | `-- LICENSE.doc


Smoke.cpp #include Files

  • windows.h - REMOVE: A Windows-exclusive header file.
  • tchar.h - REMOVE: Defines generic text types for easy switching between ASCII and Unicode
  • ..\BaseTypes\BaseTypes.h - The basic types on which the program is built
    • "Defines.h" - REMOVE : This includes a safe_delete, which could be replaced with some programming awareness
    • "DataTypes.h" - REMOVE:Just a bunch of definitions that make things more confusing.
    • "Debug.h" - PORT: Useful info for debugging
    • "Errors.h" - CONVERT: More useful debugging - some low level stuff might need some close work
    • "Assert.h" - PORT: debugging
    • "Math.h" - PORT: Useful math functions
    • "MathX.h" - PORT: Useful math functions
    • "Singleton.h" - PORT: defines a "Singleton," or a class that will be instantiated no more than once in each run.
    • "UnitAllocator.h" - CONVERT: custom memory management. We might want to be sure this works as expected in Linux
    • "ArrayList.h" - PORT: custom list handling.
    • "List.h" - PORT: more custom list handling.
    • "RedBlackTree.h" - PORT: Tree handling.
    • "Synchronization.h" - CONVERT: Thread handling
  • ..\Interfaces\Interface.h -
    • SystemTypes.h - CONVERT: This is all about systems, so we'll want to look closely at it.
    • Property.h - CONVERT: This appears to be another interface between the program and the system.
    • Platform.h - CONVERT: Specifically for working with the underlying OS
    • ChangeControl.h - CONVERT: The idea behind this is to be a low-overhead way of making sure everything is using the right information
    • TaskManager.h - CONVERT: The scheduler
    • Environment.h - PORT: This defines some stuff to make it easier to work with the environment
    • Service.h - PORT: Interface for providing collision tests
      • Services\CollisionAPI.h - PORT: Also for collision testing
    • System.h - CONVERT: For working with "systems" (probably Havok)
    • Generic.h - CONVERT: For defining a generic "scene" (probably related to Havok)
    • Geometry.h - PORT: More math functions
    • Graphics.h - PORT: Assuming the ogre port works, this should be a cinch
    • GUI.h - PORT: This is also for working with Ogre
    • Contact.h - PORT: This is for providing "contact information" which seems more like hit tests to me
    • Behavior.h - PORT: Behaviors for objects like chickens
    • Area.h - PORT: "An interface for providing Area related functionality" Gee, thanks.
    • Move.h - PORT: For changing objects' positions based on their velocities
    • Target.h - PORT: modifies the "target" of an object
  • ..\Framework\FrameworkAPI.h - PORT: Runs EngineExecuteGDF
  • ..\Framework\EnvironmentManager.cpp - PORT: Handles the environment, which seems to just be a set of variables that keeps track of things.
  • atlbase.h - REMOVE: Part of the Active Template Library. Microsoft-specific. Seems to do a number of different things.

System Path #include files

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

  • Tbb is an intel threading library
    • BaseTypes/TbbSpinMutex.h #include <tbb/spin_mutex.h> -
    • Framework/TaskManagerTBB.cpp #include <tbb/parallel_for.h>
    • Framework/TaskManagerTBB.cpp #include <tbb/blocked_range.h>
    • Framework/TaskManagerTBB.cpp #include <tbb/partitioner.h>
    • Framework/TaskManagerTBB.h #include <tbb/task.h>
    • Framework/TaskManagerTBB.h #include <tbb/task_scheduler_init.h>
    • Framework/TaskManagerTBB.h #include <tbb/tbb_thread.h>
    • SystemProceduralFire/FireObject.cpp #include <tbb/scalable_allocator.h>
    • Framework/IttNotify.h #include <libittnotify.h>
  • This is just a collection of windows-specific functions. It contains stdarg, ctype and string standard header functions
    • BaseTypes/Synchronization.cpp #include <windows.h>
    • Framework/ThreadPool.cpp #include <Windows.h>
  • Standard Headers. All of these should work fine sans modification
    • BaseTypes/Math.cpp #include <math.h>
    • BaseTypes/Debug.h #include <stdarg.h>
    • Interfaces/Property.cpp #include <StdArg.h>
    • BaseTypes/BaseTypes.h #include <queue>
    • BaseTypes/BaseTypes.h #include <list>
    • BaseTypes/BaseTypes.h #include <map>
    • BaseTypes/BaseTypes.h #include <string>
    • BaseTypes/dbnew.cpp #include <new>
    • Framework/ChangeControlManager.h #include <set>
    • BaseTypes/Debug.cpp #include <stdio.h>
    • BaseTypes/Debug.cpp #include <time.h>
    • Framework/Instrumentation.cpp #include <sstream>
    • SystemAudioFMOD/Object.h #include <ctime>
    • SystemAudioFMOD/System.cpp #include <vector>
    • SystemAudioFMOD/ObjectAI.cpp #include <cstring>
    • BaseTypes/Debug.cpp #include <direct.h>
    • Framework/TaskManagerTBB.cpp #include <process.h>
  • OgreGraphics. This hopefully is easily reengineerable
    • SystemGraphicsOgre/ObjectWindow.cpp #include <OgreBorderPanelOverlayElement.h>
    • SystemGraphicsOgre/ObjectWindow.cpp #include <OgreHardwarePixelBuffer.h>
    • SystemGraphicsOgre/Scene.cpp #include <OgreFontManager.h>
    • SystemGraphicsOgre/ObjectWindow.h #include <OgrePanelOverlayElement.h>
    • SystemGraphicsOgre/ObjectWindow.h #include <OgreTextAreaOverlayElement.h>
    • SystemGraphicsOgre/DynamicBuffer.h #include <OgreSimpleRenderable.h>
    • SystemGraphicsOgre/DynamicBuffer.cpp #include <Ogre.h>
    • SystemPhysicsCollisionHavok/Scene.cpp #include <Common/Visualize/hkVisualDebugger.h>
    • SystemPhysicsCollisionHavok/Scene.cpp #include <Physics/Utilities/VisualDebugger/hkpPhysicsContext.h>
  • Other
    • BaseTypes/MathX.h #include <intrin.h> - Not sure what this all means http://parasol.tamu.edu/~yuriys/polaris/intrin_8h-source.html
    • Framework/DebugWindow.cpp #include <commctrl.h> - Looks like a Windows-specific directory
    • Smoke/Smoke.cpp #include <tchar.h> - Microsoft specific library for character mapping (lets you easily switch between Ascii, Unicode etc.)
    • Smoke/Smoke.cpp #include <atlbase.h> - Looks Microsoft specific

Sub-Systems

Logging

  • Purpose and operation
  • Dependencies
  • Proposed adapt/convert/remove plan

Debugging

  • Purpose and operation
  • Dependencies
  • Proposed adapt/convert/remove plan

EngineExecuteGDF

  • What is it calling?
  • Purpose and operation
  • Dependencies
  • Proposed adapt/convert/remove plan

Ogre/OpenGL replacing Ogre/DirectX

  • Purpose and operation

High-level 3D graphics engine

  • Dependencies

OpenGL, DirectX, or Cg

  • Proposed adapt/convert/remove plan

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

? replacing .NET

  • Where is it used?
  • Purpose and operation
  • Dependencies
  • Proposed adapt/convert/remove plan

DirectX -> ? conversion for SystemInput and SystemFire

  • Where is it used?
  • Purpose and operation
  • Dependencies
  • Proposed adapt/convert/remove plan