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.zip09-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). |
|
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). |