Info |
Description |
|
Translated Direct3D Sample Framework - used by all Direct3D examples.
Includes: DXUT, DXUTcore, DXUTEnum, DXUTgui, DXUTmesh, DXUTmisc, DXUTSettingsDlg files.
Also DDUtil unit (DirectDraw utilities) is included - initially converted by Dominique Louis.
Download it.
|
|
Media files from DirectX 9.0 October 2004 SDK
- these are required in some amount by all Direct3D examples.
At least all samples require "skin" texture for GUI! If you don't want to download all media files
you should at least download CustomUI sample containing above mentioned texture.
Download media files from SourceForge.
|
|
WARNING!
All Direct3D samples require
Direct3D Sample Framework to compile!
In addition to D3DFramework it’s recommended to download Media files from SDK or most of samples will not work or
miss artwork!
Links to both items you can find just above -
Common.zip, SDK_Media.zip.
|
|
|
Multisampling attempts to reduce aliasing by mimicking a higher resolution display using multiple sample points
to determine each pixel's color. The Antialias sample shows how the various multisampling techniques
supported by your video card affect the scene's rendering. Although multisampling effectively combats aliasing,
under particular situations it can introduce visual artifacts of its own. As illustrated by the sample, centroid
sampling seeks to eliminate one common type of multisampling artifact. Support for centroid sampling is supported
by the pixel shader 2.0 model and later. Note: actually centroid sampling is supported by ATi R3xx (Radeon 9500
or later), R4xx (X800 series) and NVIDIA N4x (GeForce 6x00 series).
Download it (archive contains source, EXE, media files).
|
|
The BasicHLSL sample simply loads a mesh, creates an effect from a file, and then uses the effect to render the
mesh. The effect that is used is a simple vertex shader that animates the vertices based on time.
Download it (archive contains source, EXE, some media files).
|
Blobs.zip
09-May-2005
168Kb
Free Pascal compatible
|
The Blobs sample mimics a metaball effect in screen space using a pixel shader. True metaball techniques deform
surfaces according to pushing or pulling modifiers, and are commonly used to model liquid effects like the merging of
water droplets. Metaball effects can be computationally expensive, however, so this sample implements a 3-D metaball
effect in 2-D image space with a pixel shader.
Download it (archive contains source, EXE, some media files).
|
|
The CompiledEffect sample shows how an ID3DXEffect object can be compiled when the project is built and loaded
directly as a binary file at run time. This sample can be treaded like BasicHLSL modified to use precompiled EffectFile.
Download it (archive contains source, EXE, media files).
|
|
The CustomUI sample is a simple demonstration of the UI subsystem implemented by the Microsoft Direct3D sample
framework. The sample framework provides code and infrastructure common to most Microsoft DirectX applications. One area
of the framework is user interface support. The sample framework contains commonly used control objects, such as buttons
and check boxes, that both windowed and full screen Direct3D applications can use to implement their user interfaces.
Most notably GUI subsystem of D3DFramework implements edit controls event with IME!!! So, your new applications will be
easily localized even for Chineese users!
Download it (archive contains source, EXE, some media files).
|
|
The DepthOfField sample shows several techniques for creating a depth-of-field effect in which objects are
only in focus at a given distance from the camera and out of focus at other distances. Rendering objects out of
focus adds realism to the scene. The methods it shows are reasonably cheap to perform on most hardware, and the
depth of field post processing can easily be combined with other post process techniques such as image-based
motion blur or high dynamic range (HDR) lighting.
Download it (archive contains source, EXE, media files).
|
|
The EffectParam sample demonstrates two D3DX effect system features: parameter blocks and parameter
sharing (see Sharing Effect Parameters and Use Parameter Blocks to Manage Effect Parameters). Parameter blocks
group multiple Setxxx application programming interface (API) calls and associate them with an effect handle.
An application can then use the parameter block to make all those state changes with a single API call. Parameter
sharing synchronizes parameters in multiple effects; each time an application updates a parameter in one effect,
that parameter is updated in all the other shared effects.
Download it (archive contains source, EXE, some media files).
|
|
The EmptyProject is a bare-bones Direct3D application provided as a convenient starting point for your own project.
It's already contains rich set UI elements.
Download it (archive contains source, EXE, some media files).
|
|
The EnhancedMesh Sample demonstrates mesh tessellation in Microsoft Direct3D. Mesh tessellation subdivides
mesh triangles. This produces a mesh with finer geometry details which can produce better lighting results even
with per-vertex lighting. Mesh tessellation is often used to implement a level of detail (LOD) technique where
meshes closer to the viewer are rendered with more details, and meshes further away are rendered with less detail.
Download it (archive contains source, EXE, some media files).
|
|
The FragmentLinker sample shows how to use the ID3DXFragmentLinker interface. Shader source code can be split
into a series of shader fragments, which are compiled separately and linked together to form a complete shader. This
linking stage is very efficient, making it suitable for run-time use. In this way a Microsoft Direct3D application can
custom-build an appropriate shader for the current graphics card.
Download it (archive contains source, EXE, some media files).
|
|
The HLSLwithoutEffects sample demonstrates using high-level shader language (HLSL) to write vertex shaders
without using the D3DX effect interfaces. HLSL is a language that closely resembles C syntax and constructs. By
writing shaders in HLSL instead of assembly language, developers can take advantage of not only the features and
elements of the language they are already familiar with, but also the great optimization capabilities offered by
the D3DX shader compiler.
Download it (archive contains source, EXE, some media files).
|
|
The Instancing sample demonstrates the instancing feature available with Microsoft DirectX 9.0c. A vs_3_0
device is required for this feature. The sample also shows alternate ways of achieving results similar to
hardware instancing, but for adapters that do not support vs_3_0. The shader instancing technique shows the
benefits of efficient batching of primitives.
Note: On graphics hardware that does not support vs_2_0, the sample will run as a reference
device.
Download it (archive contains source, EXE, some media files).
|
|
The MeshFromOBJ sample shows how an ID3DXMesh object can be created from mesh data stored in a Wavefront Object
file ( .obj). It's convenient to use .x files when working with ID3DXMesh objects since D3DX can create and fill an
ID3DXMesh object directly from a .x file. It's also easy to initialize an ID3DXMesh object with data gathered from
any file format or memory resource.
Download it (archive contains source, EXE, some media files).
|
|
This OptimizedMesh sample sample demonstrates the different types of meshes D3DX can load and optimize, as
well as the different types of underlying primitives it can render. An optimized mesh has its vertices and faces
reordered so that rendering performance can be improved.
Download it (archive contains source, EXE, some media files).
|
|
This ProgressiveMesh sample shows how an application can use the D3DX progressive mesh functionality to
simplify meshes for faster rendering. A progressive mesh is a specialized mesh object that can increase or decrease
its geometry complexity, thereby providing flexibility when drawing the mesh so that performance can be maintained
at a steady level. This feature is useful when providing level of detail (LOD) support in an application.
Download it (archive contains source, EXE, some media files).
|
|
The ShadowMap sample demonstrates one popular shadowing technique called shadow mapping. A shadow map (in the form
of a floating-point texture) is written with the scene's depth information with the camera placed at the light's position.
Once generated, the shadow map is projected onto the scene during rendering. The depth values in the scene are compared
with those in the shadow map. If they do not match for a particular pixel, then that pixel is in shadow. Shadow mapping
is a very efficient real-time shadow casting technique.
Note: This sample requires ps_2_0 which supports floating-point textures. On cards that do not support
ps_2_0, the sample will revert to a reference device which will degrade performance, but is useful for verifying
functionality.
Download it (archive contains source, EXE, some media files).
|
|
The ShadowVolume sample demonstrates one common technique for rendering real-time shadows called shadow
volumes. The shadows in the sample work by extruding faces of the occluding geometry (that are facing away from
light) to form a volume that represents the shadowed area in 3D space. The stencil buffer is used as a mask for
rendering additional geometry, and is updated as geometry is rendered.
Download it (archive contains source, EXE, some media files).
|
|
The SkinnedMesh sample illustrates mesh animation with skinning using D3DX. Skinning is an animation
technique that takes data organized in a skeletal-mesh hierarchy and applies geometry blending to transform mesh
vertices. The geometry blending generates smooth surfaces with fewer artifacts.
Download it (archive contains source, EXE, some media files).
|
Text3D.zip
09-May-2005
162Kb
Free Pascal compatible
|
The Text3D sample uses ID3DXFont to display 2D text in a 3D scene. This is most useful for display stats,
in game menus, etc... Note: ID3DXFont support UNICODE character rendering, so sample demostrates
rendering of Japanese text (you should have installed Asian languages support to see them).
The sample also shows how to use D3DXCreateText() to create a D3DX mesh containing a 3D model of a text string.
Note that D3DXCreateText may not work with certain types of fonts, such as bitmap fonts and some symbol fonts.
Download it (archive contains source, EXE, some media files).
|