/////////////////////////////////////////////////////////////////////////// // // Copyright (C) Microsoft Corporation. All Rights Reserved. // // File: d3dx8shapes.h // Content: D3DX simple shapes // /////////////////////////////////////////////////////////////////////////// #include "d3dx8.h" #ifndef __D3DX8SHAPES_H__ #define __D3DX8SHAPES_H__ /////////////////////////////////////////////////////////////////////////// // Functions: /////////////////////////////////////////////////////////////////////////// #ifdef __cplusplus extern "C" { #endif //__cplusplus //------------------------------------------------------------------------- // D3DXCreatePolygon: // ------------------ // Creates a mesh containing an n-sided polygon. The polygon is centered // at the origin. // // Parameters: // // pDevice The D3D device with which the mesh is going to be used. // Length Length of each side. // Sides Number of sides the polygon has. (Must be >= 3) // ppMesh The mesh object which will be created // ppAdjacency Returns a buffer containing adjacency info. Can be NULL. //------------------------------------------------------------------------- HRESULT WINAPI D3DXCreatePolygon( LPDIRECT3DDEVICE8 pDevice, FLOAT Length, UINT Sides, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency); //------------------------------------------------------------------------- // D3DXCreateBox: // -------------- // Creates a mesh containing an axis-aligned box. The box is centered at // the origin. // // Parameters: // // pDevice The D3D device with which the mesh is going to be used. // Width Width of box (along X-axis) // Height Height of box (along Y-axis) // Depth Depth of box (along Z-axis) // ppMesh The mesh object which will be created // ppAdjacency Returns a buffer containing adjacency info. Can be NULL. //------------------------------------------------------------------------- HRESULT WINAPI D3DXCreateBox( LPDIRECT3DDEVICE8 pDevice, FLOAT Width, FLOAT Height, FLOAT Depth, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency); //------------------------------------------------------------------------- // D3DXCreateCylinder: // ------------------- // Creates a mesh containing a cylinder. The generated cylinder is // centered at the origin, and its axis is aligned with the Z-axis. // // Parameters: // // pDevice The D3D device with which the mesh is going to be used. // Radius1 Radius at -Z end (should be >= 0.0f) // Radius2 Radius at +Z end (should be >= 0.0f) // Length Length of cylinder (along Z-axis) // Slices Number of slices about the main axis // Stacks Number of stacks along the main axis // ppMesh The mesh object which will be created // ppAdjacency Returns a buffer containing adjacency info. Can be NULL. //------------------------------------------------------------------------- HRESULT WINAPI D3DXCreateCylinder( LPDIRECT3DDEVICE8 pDevice, FLOAT Radius1, FLOAT Radius2, FLOAT Length, UINT Slices, UINT Stacks, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency); //------------------------------------------------------------------------- // D3DXCreateSphere: // ----------------- // Creates a mesh containing a sphere. The sphere is centered at the // origin. // // Parameters: // // pDevice The D3D device with which the mesh is going to be used. // Radius Radius of the sphere (should be >= 0.0f) // Slices Number of slices about the main axis // Stacks Number of stacks along the main axis // ppMesh The mesh object which will be created // ppAdjacency Returns a buffer containing adjacency info. Can be NULL. //------------------------------------------------------------------------- HRESULT WINAPI D3DXCreateSphere( LPDIRECT3DDEVICE8 pDevice, FLOAT Radius, UINT Slices, UINT Stacks, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency); //------------------------------------------------------------------------- // D3DXCreateTorus: // ---------------- // Creates a mesh containing a torus. The generated torus is centered at // the origin, and its axis is aligned with the Z-axis. // // Parameters: // // pDevice The D3D device with which the mesh is going to be used. // InnerRadius Inner radius of the torus (should be >= 0.0f) // OuterRadius Outer radius of the torue (should be >= 0.0f) // Sides Number of sides in a cross-section (must be >= 3) // Rings Number of rings making up the torus (must be >= 3) // ppMesh The mesh object which will be created // ppAdjacency Returns a buffer containing adjacency info. Can be NULL. //------------------------------------------------------------------------- HRESULT WINAPI D3DXCreateTorus( LPDIRECT3DDEVICE8 pDevice, FLOAT InnerRadius, FLOAT OuterRadius, UINT Sides, UINT Rings, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency); //------------------------------------------------------------------------- // D3DXCreateTeapot: // ----------------- // Creates a mesh containing a teapot. // // Parameters: // // pDevice The D3D device with which the mesh is going to be used. // ppMesh The mesh object which will be created // ppAdjacency Returns a buffer containing adjacency info. Can be NULL. //------------------------------------------------------------------------- HRESULT WINAPI D3DXCreateTeapot( LPDIRECT3DDEVICE8 pDevice, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency); //------------------------------------------------------------------------- // D3DXCreateText: // --------------- // Creates a mesh containing the specified text using the font associated // with the device context. // // Parameters: // // pDevice The D3D device with which the mesh is going to be used. // hDC Device context, with desired font selected // pText Text to generate // Deviation Maximum chordal deviation from true font outlines // Extrusion Amount to extrude text in -Z direction // ppMesh The mesh object which will be created // pGlyphMetrics Address of buffer to receive glyph metric data (or NULL) //------------------------------------------------------------------------- HRESULT WINAPI D3DXCreateTextA( LPDIRECT3DDEVICE8 pDevice, HDC hDC, LPCSTR pText, FLOAT Deviation, FLOAT Extrusion, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency, LPGLYPHMETRICSFLOAT pGlyphMetrics); HRESULT WINAPI D3DXCreateTextW( LPDIRECT3DDEVICE8 pDevice, HDC hDC, LPCWSTR pText, FLOAT Deviation, FLOAT Extrusion, LPD3DXMESH* ppMesh, LPD3DXBUFFER* ppAdjacency, LPGLYPHMETRICSFLOAT pGlyphMetrics); #ifdef UNICODE #define D3DXCreateText D3DXCreateTextW #else #define D3DXCreateText D3DXCreateTextA #endif #ifdef __cplusplus } #endif //__cplusplus #endif //__D3DX8SHAPES_H__