160 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Factor
		
	
	
| USING: math classes.struct windows.types alien.syntax windows.directx.d3d9types
 | |
| windows.com.syntax windows.com windows.directx windows.directx.d3d9 ;
 | |
| IN: windows.directx.d3dx9math
 | |
| 
 | |
| LIBRARY: d3dx9
 | |
| 
 | |
| CONSTANT: D3DX_PI    3.141592654
 | |
| CONSTANT: D3DX_1BYPI 0.318309886
 | |
| 
 | |
| : D3DXToRadian ( degree -- radian ) D3DX_PI 180.0 / * ; inline
 | |
| : D3DXToDegree ( radian -- degree ) 180.0 D3DX_PI / * ; inline
 | |
| 
 | |
| CONSTANT: D3DX_16F_DIG          3
 | |
| CONSTANT: D3DX_16F_EPSILON      4.8875809e-4
 | |
| CONSTANT: D3DX_16F_MANT_DIG     11
 | |
| CONSTANT: D3DX_16F_MAX          6.550400e+004
 | |
| CONSTANT: D3DX_16F_MAX_10_EXP   4
 | |
| CONSTANT: D3DX_16F_MAX_EXP      15
 | |
| CONSTANT: D3DX_16F_MIN          6.1035156e-5
 | |
| CONSTANT: D3DX_16F_MIN_10_EXP   -4
 | |
| CONSTANT: D3DX_16F_MIN_EXP      -14
 | |
| CONSTANT: D3DX_16F_RADIX        2
 | |
| CONSTANT: D3DX_16F_ROUNDS       1
 | |
| 
 | |
| STRUCT: D3DXFLOAT16
 | |
|     { value WORD } ;
 | |
| TYPEDEF: D3DXFLOAT16* LPD3DXFLOAT16
 | |
| 
 | |
| STRUCT: D3DXVECTOR2
 | |
|     { x FLOAT }
 | |
|     { y FLOAT } ;
 | |
| TYPEDEF: D3DXVECTOR2* LPD3DXVECTOR2
 | |
| 
 | |
| STRUCT: D3DXVECTOR2_16F
 | |
|     { x D3DXFLOAT16 }
 | |
|     { y D3DXFLOAT16 } ;
 | |
| TYPEDEF: D3DXVECTOR2_16F* LPD3DXVECTOR2_16F
 | |
| 
 | |
| TYPEDEF: D3DVECTOR D3DXVECTOR3
 | |
| TYPEDEF: D3DXVECTOR3* LPD3DXVECTOR3
 | |
| 
 | |
| STRUCT: D3DXVECTOR3_16F
 | |
|     { x D3DXFLOAT16 }
 | |
|     { y D3DXFLOAT16 }
 | |
|     { z D3DXFLOAT16 } ;
 | |
| TYPEDEF: D3DXVECTOR3_16F* LPD3DXVECTOR3_16F
 | |
| 
 | |
| STRUCT: D3DXVECTOR4
 | |
|     { x FLOAT }
 | |
|     { y FLOAT }
 | |
|     { z FLOAT }
 | |
|     { w FLOAT } ;
 | |
| TYPEDEF: D3DXVECTOR4* LPD3DXVECTOR4
 | |
| 
 | |
| STRUCT: D3DXVECTOR4_16F
 | |
|     { x D3DXFLOAT16 }
 | |
|     { y D3DXFLOAT16 }
 | |
|     { z D3DXFLOAT16 }
 | |
|     { w D3DXFLOAT16 } ;
 | |
| TYPEDEF: D3DXVECTOR4_16F* LPD3DXVECTOR4_16F
 | |
| 
 | |
| TYPEDEF: D3DMATRIX D3DXMATRIX
 | |
| TYPEDEF: D3DXMATRIX* LPD3DXMATRIX
 | |
| TYPEDEF: D3DXMATRIX D3DXMATRIXA16
 | |
| TYPEDEF: D3DXMATRIXA16* LPD3DXMATRIXA16
 | |
| 
 | |
| STRUCT: D3DXQUATERNION
 | |
|     { x FLOAT }
 | |
|     { y FLOAT }
 | |
|     { z FLOAT }
 | |
|     { w FLOAT } ;
 | |
| TYPEDEF: D3DXQUATERNION* LPD3DXQUATERNION
 | |
| 
 | |
| STRUCT: D3DXPLANE
 | |
|     { a FLOAT }
 | |
|     { b FLOAT }
 | |
|     { c FLOAT }
 | |
|     { d FLOAT } ;
 | |
| TYPEDEF: D3DXPLANE* LPD3DXPLANE
 | |
| 
 | |
| STRUCT: D3DXCOLOR
 | |
|     { r FLOAT }
 | |
|     { g FLOAT }
 | |
|     { b FLOAT }
 | |
|     { a FLOAT } ;
 | |
| TYPEDEF: D3DXCOLOR* LPD3DXCOLOR
 | |
| 
 | |
| C-TYPE: ID3DXMatrixStack
 | |
| TYPEDEF: ID3DXMatrixStack* LPD3DXMATRIXSTACK
 | |
| 
 | |
| COM-INTERFACE: ID3DXMatrixStack IUnknown {C7885BA7-F990-4fe7-922D-8515E477DD85}
 | |
|     HRESULT Pop ( )
 | |
|     HRESULT Push ( )
 | |
|     HRESULT LoadIdentity ( )
 | |
|     HRESULT LoadMatrix ( D3DXMATRIX* pM  )
 | |
|     HRESULT MultMatrix ( D3DXMATRIX* pM  )
 | |
|     HRESULT MultMatrixLocal ( D3DXMATRIX* pM  )
 | |
|     HRESULT RotateAxis ( D3DXVECTOR3* pV, FLOAT Angle )
 | |
|     HRESULT RotateAxisLocal ( D3DXVECTOR3* pV, FLOAT Angle )
 | |
|     HRESULT RotateYawPitchRoll ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll )
 | |
|     HRESULT RotateYawPitchRollLocal ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll )
 | |
|     HRESULT Scale ( FLOAT x, FLOAT y, FLOAT z )
 | |
|     HRESULT ScaleLocal ( FLOAT x, FLOAT y, FLOAT z )
 | |
|     HRESULT Translate ( FLOAT x, FLOAT y, FLOAT z  )
 | |
|     HRESULT TranslateLocal ( FLOAT x, FLOAT y, FLOAT z )
 | |
|     D3DXMATRIX* GetTop ( ) ;
 | |
| 
 | |
| FUNCTION: HRESULT D3DXCreateMatrixStack (
 | |
|         DWORD               Flags,
 | |
|         LPD3DXMATRIXSTACK*  ppStack )
 | |
| 
 | |
| CONSTANT: D3DXSH_MINORDER 2
 | |
| CONSTANT: D3DXSH_MAXORDER 6
 | |
| 
 | |
| FUNCTION: FLOAT* D3DXSHEvalDirection
 | |
|     ( FLOAT* Out, UINT Order, D3DXVECTOR3 *pDir )
 | |
| 
 | |
| FUNCTION: FLOAT* D3DXSHRotate
 | |
|     ( FLOAT* Out, UINT Order, D3DXMATRIX *pMatrix, FLOAT* In )
 | |
| 
 | |
| FUNCTION: FLOAT* D3DXSHRotateZ
 | |
|     ( FLOAT* Out, UINT Order, FLOAT Angle, FLOAT* In )
 | |
| 
 | |
| FUNCTION: FLOAT* D3DXSHAdd
 | |
|     ( FLOAT* Out, UINT Order, FLOAT* A, FLOAT* B )
 | |
| 
 | |
| FUNCTION: FLOAT* D3DXSHScale
 | |
|     ( FLOAT* Out, UINT Order, FLOAT* In, FLOAT Scale )
 | |
| 
 | |
| FUNCTION: FLOAT WINAPI ( UINT Order, FLOAT* A, FLOAT* B )
 | |
| 
 | |
| FUNCTION: FLOAT* D3DXSHMultiply2 ( FLOAT* Out, FLOAT* F, FLOAT* G )
 | |
| FUNCTION: FLOAT* D3DXSHMultiply3 ( FLOAT* Out, FLOAT* F, FLOAT* G )
 | |
| FUNCTION: FLOAT* D3DXSHMultiply4 ( FLOAT* Out, FLOAT* F, FLOAT* G )
 | |
| FUNCTION: FLOAT* D3DXSHMultiply5 ( FLOAT* Out, FLOAT* F, FLOAT* G )
 | |
| FUNCTION: FLOAT* D3DXSHMultiply6 ( FLOAT* Out, FLOAT* F, FLOAT* G )
 | |
| 
 | |
| FUNCTION: HRESULT D3DXSHEvalDirectionalLight
 | |
|     ( UINT Order, D3DXVECTOR3* pDir,
 | |
|       FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
 | |
|       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
 | |
| 
 | |
| FUNCTION: HRESULT D3DXSHEvalSphericalLight
 | |
|     ( UINT Order, D3DXVECTOR3* pPos, FLOAT Radius,
 | |
|       FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
 | |
|       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
 | |
| 
 | |
| FUNCTION: HRESULT D3DXSHEvalConeLight
 | |
|     ( UINT Order, D3DXVECTOR3* pDir, FLOAT Radius,
 | |
|       FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
 | |
|       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
 | |
| 
 | |
| FUNCTION: HRESULT D3DXSHEvalHemisphereLight
 | |
|     ( UINT Order, D3DXVECTOR3* pDir, D3DXCOLOR Top, D3DXCOLOR Bottom,
 | |
|       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
 | |
| 
 | |
| FUNCTION: HRESULT D3DXSHProjectCubeMap
 | |
|     ( UINT uOrder, LPDIRECT3DCUBETEXTURE9 pCubeMap,
 | |
|       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
 |