You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
7.5 KiB
221 lines
7.5 KiB
/////////////////////////////////////////////////////////////////////////// |
|
// |
|
// 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__ |
|
|
|
|