mirror of
https://github.com/libretro/RetroArch
synced 2025-01-17 01:16:25 +00:00
226 lines
7.0 KiB
C
226 lines
7.0 KiB
C
/*
|
|
*
|
|
* 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__ */
|