summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/d3dx8shape.h
diff options
context:
space:
mode:
Diffstat (limited to 'dxsdk/Include/d3dx8shape.h')
-rw-r--r--dxsdk/Include/d3dx8shape.h220
1 files changed, 220 insertions, 0 deletions
diff --git a/dxsdk/Include/d3dx8shape.h b/dxsdk/Include/d3dx8shape.h
new file mode 100644
index 00000000..b7ab6378
--- /dev/null
+++ b/dxsdk/Include/d3dx8shape.h
@@ -0,0 +1,220 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// 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__