d3dx9_36: Implement D3DXComputeBoundingBox.
This commit is contained in:
parent
5768cbd668
commit
00d14355db
|
@ -16,7 +16,7 @@
|
||||||
@ stub D3DXCompileShaderFromFileW
|
@ stub D3DXCompileShaderFromFileW
|
||||||
@ stub D3DXCompileShaderFromResourceA
|
@ stub D3DXCompileShaderFromResourceA
|
||||||
@ stub D3DXCompileShaderFromResourceW
|
@ stub D3DXCompileShaderFromResourceW
|
||||||
@ stub D3DXComputeBoundingBox
|
@ stdcall D3DXComputeBoundingBox(ptr long long ptr ptr)
|
||||||
@ stub D3DXComputeBoundingSphere
|
@ stub D3DXComputeBoundingSphere
|
||||||
@ stub D3DXComputeIMTFromPerTexelSignal
|
@ stub D3DXComputeIMTFromPerTexelSignal
|
||||||
@ stub D3DXComputeIMTFromPerVertexSignal
|
@ stub D3DXComputeIMTFromPerVertexSignal
|
||||||
|
|
|
@ -24,6 +24,36 @@
|
||||||
#include "d3dx9.h"
|
#include "d3dx9.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* D3DXComputeBoundingBox
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI D3DXComputeBoundingBox(CONST D3DXVECTOR3 *pfirstposition, DWORD numvertices, DWORD dwstride, D3DXVECTOR3 *pmin, D3DXVECTOR3 *pmax)
|
||||||
|
{
|
||||||
|
D3DXVECTOR3 vec;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
if( !pfirstposition || !pmin || !pmax ) return D3DERR_INVALIDCALL;
|
||||||
|
|
||||||
|
*pmin = *pfirstposition;
|
||||||
|
*pmax = *pmin;
|
||||||
|
|
||||||
|
for(i=0; i<numvertices; i++)
|
||||||
|
{
|
||||||
|
vec = *( (D3DXVECTOR3*)((char*)pfirstposition + dwstride * i) );
|
||||||
|
|
||||||
|
if ( vec.x < pmin->x ) pmin->x = vec.x;
|
||||||
|
if ( vec.x > pmax->x ) pmax->x = vec.x;
|
||||||
|
|
||||||
|
if ( vec.y < pmin->y ) pmin->y = vec.y;
|
||||||
|
if ( vec.y > pmax->y ) pmax->y = vec.y;
|
||||||
|
|
||||||
|
if ( vec.z < pmin->z ) pmin->z = vec.z;
|
||||||
|
if ( vec.z > pmax->z ) pmax->z = vec.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* D3DXIntersectTri
|
* D3DXIntersectTri
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "d3d9.h"
|
#include "d3d9.h"
|
||||||
#include "d3dx9math.h"
|
#include "d3dx9math.h"
|
||||||
#include "d3dx9core.h"
|
#include "d3dx9core.h"
|
||||||
|
#include "d3dx9mesh.h"
|
||||||
#include "d3dx9shader.h"
|
#include "d3dx9shader.h"
|
||||||
#include "d3dx9tex.h"
|
#include "d3dx9tex.h"
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ HRESULT WINAPI D3DXCreateBuffer(DWORD, LPD3DXBUFFER*);
|
||||||
UINT WINAPI D3DXGetFVFVertexSize(DWORD);
|
UINT WINAPI D3DXGetFVFVertexSize(DWORD);
|
||||||
BOOL WINAPI D3DXBoxBoundProbe(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *);
|
BOOL WINAPI D3DXBoxBoundProbe(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *);
|
||||||
BOOL WINAPI D3DXSphereBoundProbe(CONST D3DXVECTOR3 *,FLOAT,CONST D3DXVECTOR3 *,CONST D3DXVECTOR3 *);
|
BOOL WINAPI D3DXSphereBoundProbe(CONST D3DXVECTOR3 *,FLOAT,CONST D3DXVECTOR3 *,CONST D3DXVECTOR3 *);
|
||||||
|
HRESULT WINAPI D3DXComputeBoundingBox(CONST D3DXVECTOR3 *, DWORD, DWORD, D3DXVECTOR3 *, D3DXVECTOR3 *);
|
||||||
BOOL WINAPI D3DXIntersectTri(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3*, FLOAT *, FLOAT *, FLOAT *);
|
BOOL WINAPI D3DXIntersectTri(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3*, FLOAT *, FLOAT *, FLOAT *);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
Loading…
Reference in New Issue