/* EngineInterface.cpp Written by Matthew Fisher Many objects are universal and don't need to change often. The source for all such files are included in this file. Most people would compile all these into a single *.lib or *.dll, but I prefer to keep all my source readily accessible. See EngineInterface.h for a defintion of all files included here. */ //All source files include Main.h #include "Main.h" //Because this is a Win32 application, console output is not possible. //So instead all cout commands go to a file at keycout, defined in Stdhdr.cpp. ofstream cout(keycout); /****************************/ /* Core Functions */ /****************************/ //These are generic functions that have no specific place anywhere else. #include "EngineInterface\Core Functions\Stdhdr.cpp" /****************************/ /* Math Structures */ /****************************/ //All forms of mathematical structures and functions are here. #include "EngineInterface\Math Structures\Vector.cpp" #include "EngineInterface\Math Structures\Plane.cpp" #include "EngineInterface\Math Structures\Quaternion.cpp" #include "EngineInterface\Math Structures\Matrix.cpp" #include "EngineInterface\Math Structures\Perlin.cpp" #include "EngineInterface\Math Structures\Optimizer.cpp" /****************************/ /* Graphics Structures */ /****************************/ //These are structures specific to computer graphics rendering #include "EngineInterface\Graphics Structures\RGBColor.cpp" #include "EngineInterface\Graphics Structures\Bitmap.cpp" #include "EngineInterface\Graphics Structures\ZBuffer.cpp" #include "EngineInterface\Graphics Structures\MatrixController.cpp" #include "EngineInterface\Graphics Structures\Camera.cpp" #include "EngineInterface\Graphics Structures\PrimitiveRender.cpp" #include "EngineInterface\Graphics Structures\MeshVertex.cpp" #include "EngineInterface\Graphics Structures\Clipper.cpp" #include "EngineInterface\Graphics Structures\Viewport.cpp" /****************************/ /* Textures */ /****************************/ //These files all control rendering textured polygons through DirectX and OpenGL. #include "EngineInterface\Textures\BaseTexture.cpp" #include "EngineInterface\Textures\D3DTexture.cpp" #include "EngineInterface\Textures\OpenGLTexture.cpp" #include "EngineInterface\Textures\Texture.cpp" /****************************/ /* Mesh Structures */ /****************************/ //These files all center around creating and manipulating triangle meshes. //These meshes are "simple" in that they contain no adjaceny information. #include "EngineInterface\Base Mesh\HTable.cpp" #include "EngineInterface\Base Mesh\BaseMesh.cpp" #include "EngineInterface\Advanced Meshes\D3DMesh.cpp" #include "EngineInterface\Advanced Meshes\Mesh.cpp" /************************************/ /* Subdivision Structures */ /************************************/ //These files all center around edge-based mesh structures and an implementation //of the loop subdivision algorithm that relies upon an edge-based structure. #include "EngineInterface\Subdivision\Triangle.cpp" #include "EngineInterface\Subdivision\FullEdge.cpp" #include "EngineInterface\Subdivision\Vertex.cpp" #include "EngineInterface\Subdivision\EdgeMesh.cpp" /****************************/ /* Graphics Devices */ /****************************/ //A graphics device controls the interaction between Windows and a graphics API. #include "EngineInterface\Graphics Devices\GraphicsDevice.cpp" #include "EngineInterface\Graphics Devices\D3DGraphicsDevice.cpp" #include "EngineInterface\Graphics Devices\OpenGLGraphicsDevice.cpp" #include "EngineInterface\Graphics Devices\SoftwareGraphicsDevice.cpp" /****************************/ /* Composite Objects */ /****************************/ //Composite objects are objects that use combination of simple graphics objects //(such as meshes) towards various commonly used tasks #include "EngineInterface\Composite Objects\MovieExporter.cpp" #include "EngineInterface\Composite Objects\XFileRenderer.cpp" #include "EngineInterface\Composite Objects\Indicator.cpp" #include "EngineInterface\Composite Objects\VideoTexture.cpp" /****************************/ /* Windows Controllers */ /****************************/ //These files handle the interaction between the application and Windows. This includes files that contain //WinMain and create the main application window. There is also a frame timer and a screen capture mechanism. #include "EngineInterface\Windows Controller\FrameTimer.cpp" #include "EngineInterface\Windows Controller\EventHandler.cpp" #include "EngineInterface\Windows Controller\ScreenCapture.cpp" #include "EngineInterface\Windows Controller\WindowManager.cpp" #include "EngineInterface\Windows Controller\WinMain.cpp"