123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- ///////////////////////////////////////////////////////////////////////////
- //
- // Copyright (C) Microsoft Corporation. All Rights Reserved.
- //
- // File: d3dx9shapes.h
- // Content: D3DX simple shapes
- //
- ///////////////////////////////////////////////////////////////////////////
- #include "d3dx9.h"
- #ifndef __D3DX9SHAPES_H__
- #define __D3DX9SHAPES_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(
- LPDIRECT3DDEVICE9 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(
- LPDIRECT3DDEVICE9 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(
- LPDIRECT3DDEVICE9 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(
- LPDIRECT3DDEVICE9 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(
- LPDIRECT3DDEVICE9 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(
- LPDIRECT3DDEVICE9 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(
- LPDIRECT3DDEVICE9 pDevice,
- HDC hDC,
- LPCSTR pText,
- FLOAT Deviation,
- FLOAT Extrusion,
- LPD3DXMESH* ppMesh,
- LPD3DXBUFFER* ppAdjacency,
- LPGLYPHMETRICSFLOAT pGlyphMetrics);
- HRESULT WINAPI
- D3DXCreateTextW(
- LPDIRECT3DDEVICE9 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 //__D3DX9SHAPES_H__
|