RetroArch
d3dx8shape.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (C) Microsoft Corporation. All Rights Reserved.
4  *
5  * File: d3dx8shapes.h
6  * Content: D3DX simple shapes
7  *
8  */
9 
10 #include "d3dx8.h"
11 
12 #ifndef __D3DX8SHAPES_H__
13 #define __D3DX8SHAPES_H__
14 
15 /*
16  * Functions:
17  */
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif /* __cplusplus */
22 
23 /*
24  * D3DXCreatePolygon:
25  * ------------------
26  * Creates a mesh containing an n-sided polygon. The polygon is centered
27  * at the origin.
28  *
29  * Parameters:
30  *
31  * pDevice The D3D device with which the mesh is going to be used.
32  * Length Length of each side.
33  * Sides Number of sides the polygon has. (Must be >= 3)
34  * ppMesh The mesh object which will be created
35  * ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
36  *-------------------------------------------------------------------------
37  */
38 HRESULT WINAPI
40  LPDIRECT3DDEVICE8 pDevice,
41  FLOAT Length,
42  UINT Sides,
43  LPD3DXMESH* ppMesh,
44  LPD3DXBUFFER* ppAdjacency);
45 
46 
47 /*
48  * D3DXCreateBox:
49  * --------------
50  * Creates a mesh containing an axis-aligned box. The box is centered at
51  * the origin.
52  *
53  * Parameters:
54  *
55  * pDevice The D3D device with which the mesh is going to be used.
56  * Width Width of box (along X-axis)
57  * Height Height of box (along Y-axis)
58  * Depth Depth of box (along Z-axis)
59  * ppMesh The mesh object which will be created
60  * ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
61  */
62 HRESULT WINAPI
64  LPDIRECT3DDEVICE8 pDevice,
65  FLOAT Width,
66  FLOAT Height,
67  FLOAT Depth,
68  LPD3DXMESH* ppMesh,
69  LPD3DXBUFFER* ppAdjacency);
70 
71 
72 /*
73  * D3DXCreateCylinder:
74  * -------------------
75  * Creates a mesh containing a cylinder. The generated cylinder is
76  * centered at the origin, and its axis is aligned with the Z-axis.
77  *
78  * Parameters:
79  *
80  * pDevice The D3D device with which the mesh is going to be used.
81  * Radius1 Radius at -Z end (should be >= 0.0f)
82  * Radius2 Radius at +Z end (should be >= 0.0f)
83  * Length Length of cylinder (along Z-axis)
84  * Slices Number of slices about the main axis
85  * Stacks Number of stacks along the main axis
86  * ppMesh The mesh object which will be created
87  * ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
88  *-------------------------------------------------------------------------
89  */
90 HRESULT WINAPI
92  LPDIRECT3DDEVICE8 pDevice,
93  FLOAT Radius1,
94  FLOAT Radius2,
95  FLOAT Length,
96  UINT Slices,
97  UINT Stacks,
98  LPD3DXMESH* ppMesh,
99  LPD3DXBUFFER* ppAdjacency);
100 
101 
102 /*-------------------------------------------------------------------------
103  * D3DXCreateSphere:
104  * -----------------
105  * Creates a mesh containing a sphere. The sphere is centered at the
106  * origin.
107  *
108  * Parameters:
109  *
110  * pDevice The D3D device with which the mesh is going to be used.
111  * Radius Radius of the sphere (should be >= 0.0f)
112  * Slices Number of slices about the main axis
113  * Stacks Number of stacks along the main axis
114  * ppMesh The mesh object which will be created
115  * ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
116  *-------------------------------------------------------------------------
117  */
118 HRESULT WINAPI
120  LPDIRECT3DDEVICE8 pDevice,
121  FLOAT Radius,
122  UINT Slices,
123  UINT Stacks,
124  LPD3DXMESH* ppMesh,
125  LPD3DXBUFFER* ppAdjacency);
126 
127 
128 /*-------------------------------------------------------------------------
129  * D3DXCreateTorus:
130  * ----------------
131  * Creates a mesh containing a torus. The generated torus is centered at
132  * the origin, and its axis is aligned with the Z-axis.
133  *
134  * Parameters:
135  *
136  * pDevice The D3D device with which the mesh is going to be used.
137  * InnerRadius Inner radius of the torus (should be >= 0.0f)
138  * OuterRadius Outer radius of the torue (should be >= 0.0f)
139  * Sides Number of sides in a cross-section (must be >= 3)
140  * Rings Number of rings making up the torus (must be >= 3)
141  * ppMesh The mesh object which will be created
142  * ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
143  *-------------------------------------------------------------------------
144  */
145 HRESULT WINAPI
147  LPDIRECT3DDEVICE8 pDevice,
148  FLOAT InnerRadius,
149  FLOAT OuterRadius,
150  UINT Sides,
151  UINT Rings,
152  LPD3DXMESH* ppMesh,
153  LPD3DXBUFFER* ppAdjacency);
154 
155 
156 /*-------------------------------------------------------------------------
157  * D3DXCreateTeapot:
158  * -----------------
159  * Creates a mesh containing a teapot.
160  *
161  * Parameters:
162  *
163  * pDevice The D3D device with which the mesh is going to be used.
164  * ppMesh The mesh object which will be created
165  * ppAdjacency Returns a buffer containing adjacency info. Can be NULL.
166  *-------------------------------------------------------------------------
167  */
168 HRESULT WINAPI
170  LPDIRECT3DDEVICE8 pDevice,
171  LPD3DXMESH* ppMesh,
172  LPD3DXBUFFER* ppAdjacency);
173 
174 
175 /*-------------------------------------------------------------------------
176  * D3DXCreateText:
177  * ---------------
178  * Creates a mesh containing the specified text using the font associated
179  * with the device context.
180  *
181  * Parameters:
182  *
183  * pDevice The D3D device with which the mesh is going to be used.
184  * hDC Device context, with desired font selected
185  * pText Text to generate
186  * Deviation Maximum chordal deviation from true font outlines
187  * Extrusion Amount to extrude text in -Z direction
188  * ppMesh The mesh object which will be created
189  * pGlyphMetrics Address of buffer to receive glyph metric data (or NULL)
190  *-------------------------------------------------------------------------
191  */
192 HRESULT WINAPI
194  LPDIRECT3DDEVICE8 pDevice,
195  HDC hDC,
196  LPCSTR pText,
197  FLOAT Deviation,
198  FLOAT Extrusion,
199  LPD3DXMESH* ppMesh,
200  LPD3DXBUFFER* ppAdjacency,
201  LPGLYPHMETRICSFLOAT pGlyphMetrics);
202 
203 HRESULT WINAPI
205  LPDIRECT3DDEVICE8 pDevice,
206  HDC hDC,
207  LPCWSTR pText,
208  FLOAT Deviation,
209  FLOAT Extrusion,
210  LPD3DXMESH* ppMesh,
211  LPD3DXBUFFER* ppAdjacency,
212  LPGLYPHMETRICSFLOAT pGlyphMetrics);
213 
214 #ifdef UNICODE
215 #define D3DXCreateText D3DXCreateTextW
216 #else
217 #define D3DXCreateText D3DXCreateTextA
218 #endif
219 
220 
221 #ifdef __cplusplus
222 }
223 #endif /* __cplusplus */
224 
225 #endif /* __D3DX8SHAPES_H__ */
struct IDirect3DDevice8 * LPDIRECT3DDEVICE8
Definition: d3d8.h:326
HRESULT WINAPI D3DXCreateTorus(LPDIRECT3DDEVICE8 pDevice, FLOAT InnerRadius, FLOAT OuterRadius, UINT Sides, UINT Rings, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency)
Definition: glslang_tab.cpp:129
HRESULT WINAPI D3DXCreateBox(LPDIRECT3DDEVICE8 pDevice, FLOAT Width, FLOAT Height, FLOAT Depth, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency)
HRESULT WINAPI D3DXCreateCylinder(LPDIRECT3DDEVICE8 pDevice, FLOAT Radius1, FLOAT Radius2, FLOAT Length, UINT Slices, UINT Stacks, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency)
HRESULT WINAPI D3DXCreateTeapot(LPDIRECT3DDEVICE8 pDevice, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency)
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
HRESULT WINAPI D3DXCreateTextA(LPDIRECT3DDEVICE8 pDevice, HDC hDC, LPCSTR pText, FLOAT Deviation, FLOAT Extrusion, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency, LPGLYPHMETRICSFLOAT pGlyphMetrics)
HRESULT WINAPI D3DXCreateSphere(LPDIRECT3DDEVICE8 pDevice, FLOAT Radius, UINT Slices, UINT Stacks, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency)
HRESULT WINAPI D3DXCreatePolygon(LPDIRECT3DDEVICE8 pDevice, FLOAT Length, UINT Sides, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency)
interface ID3DXBuffer * LPD3DXBUFFER
Definition: d3dx8core.h:29
Definition: glslang_tab.cpp:136
HRESULT WINAPI D3DXCreateTextW(LPDIRECT3DDEVICE8 pDevice, HDC hDC, LPCWSTR pText, FLOAT Deviation, FLOAT Extrusion, LPD3DXMESH *ppMesh, LPD3DXBUFFER *ppAdjacency, LPGLYPHMETRICSFLOAT pGlyphMetrics)
struct ID3DXMesh * LPD3DXMESH
Definition: d3dx8mesh.h:80