Move to desired DirectX SDK part:
Info field below contains Name / Date / Size with links to file and
description field contains some notes about sample and screenshot from run-time.
DirectX headers and libraries
Info |
Description |
|
Delphi headers adaptation followed by Borland and JEDI standarts for all (up to 8.1) versions of
DirectDraw, Direct3D; D3DX 8.1 headers with support library; dxerr8 (DirectX 8.x error reporting)
headers with support library. In this file you'll find JEDI compliant version and preprocessed
versions of headers for Delphi 4/5 and Delphi 6/7. Also this archive contains simple example of
Direct3D8 program.
This package DOES NOT include any helper libraries like D3DX (D3DX81ab.DLL) or DXErr -
error reporting (DXErr81ab.DLL).
Download it.
|
|
Subset of previous translation. Includes only PAS files compatible with JEDI standarts from
Clootie_DirectX81.zip.
Download it.
|
|
DLLs needed for both Delphi and C++ Builder, to use D3DX 8.1 functionality and/or DXErr (DirectX error
reporting) in your projects or compile Microsoft demos: D3DX81ab.dll, DXErr81ab.DLL.
Download it.
|
Also here you can find DirectX libraries required for
compiling Direct3D 8.x applications with C++ Builder.
Direct3D examples from DirectX SDK
Info |
Description |
|
Archive contains all Direct3D samples from SDK (including D3DFramework) in single self-extracting archive.
Notes: All examples can be compiled either in Delphi or C++ Builder.
Please read "How to compile ObjectPascal
DirectX examples" page containing instructions how to compile examples in either Delphi or
C++Builder with additional details.
|
Direct3D examples description |
Common subdirectory contains translated Sample DirectX Framework - used by all
Direct3D examples. Includes: D3DApp, D3DFile, D3DFont, D3DRes, D3DUtil, DXUtil files.
So currently only Direct3D related files.
|
Tutorials folder -
contains 6 "step by step" DirectX tutorials.
These are great tutorials to start learning Direct3D. From init D3D device renderer to loading meshes.
These tutorials use VCL forms to contain Direct3D output (so actually most code in first tutorial belong to
VCL form management).
|
|
|
The Billboard sample illustrates the billboarding technique. Rather than
rendering complex 3D models (such as a high-polygon tree model),
billboarding renders a 2D image of the model and rotates it to always face
the eyepoint. This technique is commonly used to render trees, clouds,
smoke, explosions, and more.
|
Bumpmapping folder contains seven demos. These demos demostrate various
techniques of applying bump-mapping on objects: EMBP, emboss, Dot3.
The BumpEarth sample demonstrates the bump mapping capabilities of Direct3D.
Bumpmapping is a texture blending technique used to render the appearance of
rough, bumpy surfaces. This sample renders a rotating, bumpmapped planet Earth.
The BumpLens sample demonstrates a lens effect that can be acheived using
bumpmapping. Bumpmapping is a texture blending technique used to render the
appearance of rough, bumpy surfaces, but can also be used for other effects
as shown here.
This BumpSelfshadow sample includes all source and content for the self shadowing
bump map algorithm presented at the 2001 GDC lecture by Dan Baker and Chas Boyd.
Presentatin itself can be found here.
This app will run without pixel shaders, as long as the hardware has rendertargets and DOT3.
However, it runs much more efficently with pixel shaders and with better visual results.
The BumpUnderwater sample demonstrates an underwater effect that can be
acheived using bumpmapping. Bumpmapping is a texture blending technique used
to render the appearance of rough, bumpy surfaces, but can also be used for
other effects as shown here.
The BumpWaves sample demonstrates the bump mapping capabilities of
Direct3D. Bump mapping is a texture blending technique used to render the
appearance of rough, bumpy surfaces. This sample renders a waterfront scene
with only 4 triangles. The waves in the scene are completely fabricated with
a bumpmap.
The DotProduct3 sample demonstrates an alternative approach to Direct3D
bumpmapping. This technique is named after the mathematical operation which
combines a light vector with a surface normal. The normals for a surface are
traditional (x,y,z) vectors stored in RGBA format in a texture map (called a
normal map, for this technique).
The Emboss sample demonstrates an alternative approach to Microsoft® Direct3D®
bump mapping. Embossing is done by subtracting the height map from itself and having
texture coordinates that are slightly changed.
|
The ClipMirror sample demonstrates the use of custom-defined clip planes.
A 3D scene is rendered normally, and then again in a 2nd pass as if reflected
in a planar mirror. Clip planes are used to clip the reflected scene to the
edges of the mirror.
|
The Cull sample illustrates how to cull objects whose object bounding box (OBB) does
not intersect the viewing frustum. By not passing these objects to Microsoft®
Direct3D®, you save the time that would be spent by Direct3D transforming and lighting
these objects, which will never be visible. The time saved could be significant if there
are many such objects or if the objects contain many vertices.
More elaborate and efficient culling can be done by creating hierarchies of objects, with
bounding boxes around groups of objects, so that not every object's OBB has to be compared
to the view frustum.
It is more efficient to do this OBB/frustum intersection calculation in your own code than
to use Direct3D to transform the OBB and check the resulting clip flags.
You can adapt the culling routines in this sample meet the needs of programs that you write.
|
The DolphinVS sample shows an underwater scene of a dolphin swimming, with
caustic effects on the dolphin and seafloor. The dolphin is animated using
a technique called "tweening". The underwater effect simply uses fog, and
the water caustics use an animated set of textures. These effects are
achieved using vertex shaders.
|
The EnhancedMesh sample shows how to use D3DX to load and enhance a mesh.
The mesh is enhanced by increasing the vertex count using N-Patch tesselation algorithm.
DirectX 8.1 version of sample adds support for 32-bit indices in meshes (allowing meshes
to be enhanced to over 65k vertices on non N-Patch compatible devices).
|
The CubeMap sample demonstrates an environment mapping technique called cube mapping.
Environment mapping is a technique in which the environment surrounding a 3-D object, such
as the lights, is put into a texture map, so that the object can have complex lighting
effects without expensive lighting calculations.
The FishEye sample shows a fish-eye lens effect that can be achieved using cube maps.
The SphereMap sample demonstrates an environment mapping technique called sphere
mapping. Environment mapping is a technique in which the environment surrounding a 3-D
object, such as the lights, are put into a texture map, so that the object can have complex
lighting effects without expensive lighting calculations.
|
The Lighting sample shows how to use D3D lights when rendering. It shows
the difference between the various types of lights (ambient, point,
directional, spot), how to configure these lights, and how to enable and
disable them.
|
The OptimizedMesh sample illustrates how to load and optimize a file-based mesh
using the Microsoft® Direct3DX mesh utility functions.
|
The Pick sample shows how to implement picking; that is, finding which triangle in a mesh is intersected by a ray. In this case, the ray comes from mouse coordinates.
To do this inverse transform is calculated and triangle is searched in displayed mesh.
|
The PointSprites sample shows how to use the new Direct3D point sprites feature.
A point sprite is simply a forward-facing, textured quad that is referenced only by (x,y,z)
position coordinates. Point sprites are most often used for particle systems and related
effects.
Note that not all cards support all features for point sprites. For more information on
point sprites, refer to the DirectX SDK documentation.
|
The RTPatch sample shows how to use patches in Direct3D. Display meshes with API
"added" smothness.
Note: RTPatches were originally integrated in DirectX 8 for NVIDIA GeForce3 support.
But in latest drivers they are unsupported (IMHO starting from Detonator 20.XX series).
|
The Skinned Mesh sample demonstrates loading and parsing hierarhy of X-file frames
and using different hardware & software ways of skinning (some parts of whem uses
D3DX8 helper functions).
DirectX 8.1 version of this sample introduces VertexShader skinning mode.
|
Demos from StencilBuffer folder of DirectX SDK. These demos demostrate various usage
scenarious of stencil buffer.
Stencil buffers are a depth buffer technique that can be updated as geometry is rendered,
and used again as a mask for drawing more geometry. Common effects include mirrors,
shadows (an advanced technique), dissolves, etc..
The ShadowVolume sample uses stencil buffers to implement real-time shadows. In the
sample, a complex object is rendered and used as a shadow-caster, to cast real-time shadows
on itself and on the terrain below.
The StencilDepth sample uses stencil buffers to display the depth complexity of a
scene. The depth complextity of a scene is defined as the average number of times each
pixel is rendered to.
The StencilMirror sample uses stencil buffers to implement a mirror effect. In the
sample, a watery terrain scene is rendered with the water reflecting a helicopter that
flies above.
|
The Text3D sample shows how to draw 2D text in a 3D scene. This is most
useful for display stats, in game menus, etc...
This sample uses the common class, CD3DFont, to display 2D text in a 3D
scene and also D3DXCreateText() to create a D3DX mesh
containing a 3D model of a text string so rendering "real" 3D text.
|
The VCLFog sample originally was MFCFog - illustrates how
to use Direct3D® with VCL to render scene inside VCL application / forms.
Various controls are used to control fog parameters for the 3D scene.
|
The VCLPixelShader sample originally was MFCPixelShader - illustrates how
to use Direct3D® with VCL to render scene inside VCL application / forms.
Shows how to compile and use pixel shaders. Various controls are used to control
the pixel shader used for the 3-D scene.
|
The VCLTex sample originally was MFCTex - illustrates how
to use Direct3D® with VCL to render scene inside VCL application / forms.
Allows user to setup texture pipeline - texture number, blending modes. You can even
copy/paste ObjectPascal code for selected mode. Various controls are used to control the
texture appearance.
|
The VertexBlend sample demonstrates a technique called vertex blending (also known as
surface skinning). It displays a file-based object which is made to bend is various spots.
Initially this is Microsoft logo. Blending can be done with either Fixed finction pipeline
or with VertexShader.
Surface skinning is an impressive technique used for effects like smooth joints and bulging
muscles in character animations.
Note that not all cards support all features for vertex blending. For more
information on vertex blending, refer to the DirectX SDK documentation.
|
The VertexShader sample shows some of the effects that can be achieved using vertex
shaders. Vertex shaders use a set of instructions, executed by the 3D device on a per-vertex
basis, that can affect the properties of the vertex (positions, normal, color, tex coords,
etc.) in interesting ways.
Note that not all cards may support all the various features vertex shaders. For more
information on vertex shaders, refer to the DirectX SDK documentation.
|
The Volume Fog sample shows the per-pixel density volumetric rendering technique.
The fog volume is modeled as a polygonal mesh, and the density of the fog at every pixel
is computed by subtracting the front side of the fog volume from the back side. The fog is
mixed with the scene by accumulating an in/out test at every pixel -- that is, back-facing
fog polygons will add, while front-facing ones will subtract. If the value is non zero,
then the scene intersects the fog and the scene's depth value is used. In order to get
better results, this demo uses 12 bits of precision by encoding high and low bits in
different color channels.
More info on this sample can be read in supplied readme.txt file. Also VolumeFog technique
is discussed in
this PowerPoint presentation showed by Daniel Baker at GDC 2002.
PS. For people who still have not downloaded DirectX SDK - download X-files needed for this sample.
|
The VolumeTexture sample illustrates how to use the new volume textures in Direct3D.
Normally, a texture is thought of as a 2D image, which have a width and a height and whose
"texels" are addressed with two coordinate, tu and tv. Volume textures are the 3D
counterparts, with a width, height, and depth, are are addressed with three coordinates,
tu, tv, and tw.
Volume textures can be used for interesting effects like patchy fog, explosions, etc..
Note that not all cards support all features for volume textures. For more information on
volume textures, refer to the DirectX SDK documentation.
|
The Water sample illustrates using D3DX techniques stored in shader files.
The sample shows a square pound inside a building, with rippling water
effects including water caustics.
|
DirectDraw examples from DirectX SDK
Info |
Description |
|
Translated Sample DirectDraw samples - this archive contains
most of DirectDraw samples from DirectX 8.x SDK, originally produced as part of
DirectXExamples effort: AnimatePalette, DDEnum, DirectSurfaceWrite,
FullScreenDialog, FullScreenMode, GammaControl, OverlayAnimate, RefreshRate, SpriteAnimate,
SwitchScreenMode, WindowedMode. Also DDUtil.pas helper unit can be found in archive too.
NOTE: these samples are not supported and/or maintained by me.
Download them locally.
Download them from Yahoo Groups.
|
DirectX SDK Media files
Info |
Description |
|
These media files are provided for peple who have not yet downloaded and installed DirectX
SDK. [Shame on you!!!] Ok, I understand what downloading about 200Mb can be paintfull, so
you have this download item.
Files on left panel contain (from top to bottom):
- Mesh (.x) files, Vertex Shaders and PixelShaders source files;
- Common textures;
- "MS Lobby" environment map textures used in: BumpUnderwater, CubeMap, FishEye,
SphereMap, Water samples;
- REG files - to allow you add information to Windows registry about where is SDK media
files are located (see readme.txt included for installation).
|
|
|