www.pudn.com > SGSDK.rar > d3dx9shape.h, change:2006-03-31,size:7943b


/////////////////////////////////////////////////////////////////////////// 
// 
//  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__