دانلود کتاب Wild Magic 0.2 (CD with example C++ source code for 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics)
by David H. Eberly
|
عنوان فارسی: سحر و جادو وحشی 0.2 (CD با مثال C++ source code برای بازی 3D موتور طراحی: یک رویکرد عملی برای زمان واقعی گرافیک کامپیوتری) |
دانلود کتاب
جزییات کتاب
Release Notes for Wild Magic Version 0.1
This CD-ROM contains the initial release of the source code that accompanies
the book "3D Game Engine Design: A Practical Approach to Real-Time
Computer Graphics". There are a number of known issues about the code. As
these issues are addressed, the updated code will be available at the
website http://www.magic-software.com/3DGameEngineDesign.html. Bugs,
suggestions for improvements, and other correspondence can be sent to
[email protected].
The current known issues are
1. Mesh algorithm for continuous level of detail appears not
to be working based on the results from the test code TestClodMesh.
2. The MgcIK library appears not to be working properly based on the
results from the test code TestIK.
3. The MgcTerrain library should have an MgcTerrain class wrapper that
manages a collection of terrain pages. The infrastructure does exist in
MgcTerrainPage to support the wrapper.
4. The MgcSorting library does not yet have code for handling portals.
5. The MgcNumerics library does not yet have code for solving some
systems of polynomial equations.
6. The MgcCurve and MgcSurface libraries do not yet have code for
handling B-splines.
7. The MgcAnimation library does not yet have MgcParticleController,
a base class for supporting particle systems.
8. The MgcContainment library does not have functions for merging
pairs of lozenges, cylinders, or ellipsoids.
9. The MgcIntersection library does not have functions for handling
moving objects other than bounding boxes. It is possible to use the
static intersection testers in a bisection-based system that measures
distance as a function of time.
10. Two renderers are planeed for Linux machines, one that is
OpenGL based (can use nVidia hardware) and a software renderer that uses
XWindows.
11. The software renderer for Windows illustrates a couple of
rasterizers. The library is structured so that it is easy to create
other rasterizers that an application might need without having to
change any infrastructure.
12. Microsoft Windows 2000 appears to have problems with the call to
get the current time. The time appears not to increase, but cycles
instead. In particular this shows up in the TestMorphController test
code.
13. There is a crash bug in the TestKeyframeController test code,
release build, when the program terminates. The crash does not occur
in the debug build.
14. The TestTriangleNetwork test code creates Magic images that can
be viewed with Viewer24.exe in the ImageSDK/bin directory. You need
to run the executable from a command prompt and supply an image file
name.
I am not a fan of fancy names, but I guess it is about time to do some
branding. So I have given the engine a name. That name, "Wild Magic",
while sharing part of the company name is also a reference to the Thomas
Covenant novels written by Stephen R. Donaldson. In my opinion he is the
best fantasy writer ever. I have lost count of the number of times I have
read the Covenant series. My hope is that someday he will write another
trilogy in that series. Or that there will be a movie about the current
books. Or that there will be a 3D game based on the series...
# ReleaseNotes0p2.txt
Release Notes for Wild Magic Version 0.2
(Update from Version 0.1 to Version 0.2)
If your copy of the book has Version 0.1 and if you downloaded
Version 0.2 from the web site, then apply the following
directions for installing the update. For a Linux installation,
see the section at the end of this document.
UPDATE DIRECTIONS.
Assuming that the top level directory is called MAGIC (replace
by your top level name), you should have the Version 0.1 contents
in this location.
1. Delete the contents of MAGIC\Include.
2. Delete the subdirectory MAGIC\Source\MgcApplication.
3. Delete the obsolete files:
a. MAGIC\Source\MgcSorting\MgcBspTriangle.cpp
b. MAGIC\Source\MgcGPRenderer\MgcGLCamera.txt
c. MAGIC\Source\MgcOglRenderer\MgcOglState.cpp
d. MAGIC\Source\MgcEngine\MgcControllerMacros.h
e. Delete the BMP files in the Test projects. The
applications now use MIF files (see MgcImage.h)
to run in either MS Windows or Linux.
4. Unzip the Version 0.2 zip file to MAGIC, making sure
you have 'use folder names' selected.
Microsoft Windows
5. Open the workspace MAGIC\Source\FullBuild.dsw and build either or
both configurations.
6. Open the project MAGIC\Source\MgcApplication\Win\MgcApplication.dsp
and build either or both configurations. This is an MS Windows
specific implementation of the application layer and creates the
library MgcWinApplication.lib.
7. Open the project MAGIC\Source\MgcApplication\Glut\MgcApplication.dsp
and build either or both configurations. This is a GLUT specific
implementation of the application layer and creates the library
MgcGlutApplication.lib.
8. Open the workspace MAGIC\Test\FullBuild.dsw and build either or
both configurations.
Linux
5. Run 'make' in the MAGIC\Source directory and build either or
both configurations.
6. Make a single MgcApplication directory using the files currently
there and move the Glut subdirectory files to it and build this as a
single library. Delete the Glut subdirectory since you will not need
it anymore. Run 'make' in the MAGIC\Source\MgcApplication
directory and build either or both configurations.
7. Run 'make' in the MAGIC\Test directory and build either or both
configurations.
-----------------------------------------------------------------------------
CHANGES.
1. MgcIntrPlnLoz.cpp
a. Line 40 was: fTmp01 -= rkPlane.Constant();
line should be deleted
b. Line 41 was: if ( fTmp00*fTmp10