d3dx9库函数
这几天参考了csdn上大坡先生()整理的d3dx9的库函数,我做了一些机械的事情。就算过年练打字了。以下为我整理的d3dx9库函数简略版,以后除了msdn外,存档备用:
D3DXCOLOR* D3DXColorAdd //两个颜色的组合值
D3DXCOLOR* WINAPI D3DXColorAdjustContrast( //调整颜色对比度
D3DXCOLOR *pOut,
const D3DXCOLOR *pC,
FLOAT c
);
D3DXCOLOR* WINAPI D3DXColorAdjustSaturation( //调整颜色饱和度
D3DXCOLOR *pOut,
const D3DXCOLOR *pC,
FLOAT s
);
D3DXCOLOR* D3DXColorLerp //两个颜色线性插值补创建一个颜色
D3DXCOLOR* D3DXColorModulate //混合两个颜色
D3DXCOLOR* D3DXColorScale //按比例放大或缩小颜色值
D3DXCOLOR* D3DXColorNegative //创建一个颜色的冷色值
D3DXCOLOR* D3DXColorSubtract //两个颜色相减
HRESULT WINAPI D3DXCreateMatrixStack //创建一个ID3DXMarixStack实例
FLOAT* WINAPI D3DXFresnelTerm //计算菲涅尔系数
FLOAT* WINAPI D3DXFloat16To32Array //转换16位float数组至32位
D3DXFLOAT16* WINAPI D3DXFloat32To16Array//转换32位float数组至16位
D3DXMATRIX* WINAPI D3DXMatrixAffineTrandformation(//创建放射变换矩阵
D3DXMATRIX* pOut,
FLOAT scaling,
const D3DXQUATERNION *pRotation,
const D3DXVECTOR3* pTranslation
);
D3DXMATRIX* D3DXMatrixAffinrTransformation2D//在平面创建放射变换矩阵
HRESULT WINAPI D3DXMatrixDecompose //分解一个3D变换矩阵为缩放系数,旋转分量和平移向量
FLOAT WINAPI D3DXMatrixDeterminant //计算矩阵行列式值
D3DXMATRIX* D3DXMatrixIdentity //创建单位矩阵
D3DXMATRIX* D3DXMatrixInverse //计算逆矩阵
BOOL D3DXMatrixIsIdentity //判断单位矩阵
D3DXMATRIX* WINAPI D3DXMatrixLookAtLH //创建左手系观察矩阵
D3DXMATRIX* WINAPI D3DXMatrixLookATRH //创建右手系观察矩阵
D3DXMatrix* WINAPI D3DXMatrixMultiply //两个矩阵相乘
D3DXMATRIX* WINAPI D3DXMatrixMultiplyTranspose//矩阵乘积的转置
D3DXMATRIX* WINAPI D3DXMatrixOrthoLH //创建左手正交投影矩阵
D3DXMATRIX* WINAPI D3DXMatrixOrthoRH //创建右手正交投影矩阵
D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterLH//创建用户定制的左手正交投影矩阵
D3DXMATRIX* WINAPI D3DXMatrixOrthoOffCenterRH//创建用户制定的右手正交投影矩阵
D3DXMATRIX* WINAPI D3DXMatrixPerspectiveForLH//创建左手投影坐标系
D3DXMATRIX* WINAPI D3DXMatrixPerspectiveForRH//创建右手投影坐标系
D3DXMATRIX* WINAPI D3DXMatrixRotationAxis //创建绕任意轴旋转地矩阵
D3DXMATRIX* WINAPI D3DXMatrixRotationQuaternion//四元组创建旋转矩阵
D3DXMATRIX* WINAPI D3DXMatrixRotationX //绕X轴旋转矩阵
D3DXMATRIX* WINAPI D3DXMatrixRotationY //绕Y轴旋转矩阵
D3DXMATRIX* WINAPI D3DXMatrixRotationZ //绕Z轴旋转矩阵
D3DXMATRIX* WINAPI D3DXMatrixRotationYawPitchRoll//绕XYZ角度旋转矩阵
D3DXMATRIX* WINAPI D3DXMatrixScaling //沿XYZ缩放矩阵
D3DXMATRIX* WINAPI D3DXMatrixShadow //创建平面阴影矩阵
D3DXMATRIX* WINAPI D3DXMatrixTransformation //创建一个变换矩阵
D3DXMATRIX* WINAPI D3DXMatrixTransformation2D//创建一个平面变换矩阵
D3DXMATRIX* WINAPI D3DXMatrixTranspose //把矩阵转置
FLOAT D3DXPlaneDot //平面方程与4D向量的点乘
FLOAT D3DXPlaneDotCoord //平面与3D向量的点乘,w=1
FLOAT D3DXPlaneDotNormal //平面与3D向量的点乘,w=0
D3DXPLANE* WINAPI D3DXPlaneFromPointNormal //点法创建平面
D3DXPLANE* WINAPI D3DXPlaneFromPoints //三点创建平面
D3DXVECTOR3* WINAPI D3DXPlaneIntersectLine //找出直线平面交点
D3DXPLANE* WINAPI D3DXPlaneNormalize//规格化平面方程系数以求单位法线
D3DXPLANE* D3DXPlaneScale //缩放平面
D3DXPLANE* WINAPI D3DXPlaneTransform //矩阵转置平面
D3DXPLANE* WINAPI D3DXPlaneTransformArray//用变换矩阵变换平面数组
D3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric//三个四元数的重心
D3DXQUATERNION* D3DXQuaternionConjugate //求共轭四元数
FLOAT D3DXQuaternionDot //四元数点乘
D3DXQUATERNION* WINAPI D3DXQuaternionExp //四元数指数
D3DXQUATERNION* WINAPI D3DXQuaternionInverse//共轭变换并规格化四元数
D3DXQUATERNION* D3DXQuaternionIdentity //单位四元数
BOOL D3DXQuaternionIsIdentity //判断单位四元数
FLOAT D3DXQuaternionLength //返回四元数长度
FLOAT D3DXQuaternionLengthSq //返回四元数长度平方
D3DXQUATERNION* WINAPI D3DXQuaternionLn //计算自然对数
D3DXQUATERNION* WINAPI D3DXQuaternionMultiply //两个四元数相乘
D3DXQUATERNION* WINAPI D3DXQuaternionNormalize //单位长度的四元数
D3DXQUATERNION* WINAPI D3DXQuaternionRotationAxis//绕轴旋转四元数
D3DXQUATERNION* WINAPI D3DXQuaternionRotationMatrix//旋转矩阵创建四元数
D3DXQUATERNION* WINAPI D3DXQuaternionRotationYawPitchRoll//绕XYZ旋转创建的四元数
D3DXQUATERNION* WINAPI D3DXQuaternionSlerp //两个四元数球面插值
D3DXQUATERNION* WINAPI D3DXQuaternionSquad //球面四边形插四元数
void WINAPI D3DXQuaternionSquadSetup //创建球面四边形插值的控制点
void WINAPI D3DXQuaternionToAxisAngle//向量绕自身旋转角度计算四元数
FLOAT* WINAPI D3DXSHAdd //球面调和函数向量相加
D3DXVECTOR2* D3DXVec2Add //2D向量相加
D3DXVECTOR* WINAPI D3DXVec2BaryCentric //三个平面向量的重心
D3DXVECTOR2* WINAPI D3DXVec2CatmullRom //Catmull-Rom插值计算,2D
FLOAT D3DXVec2CCW //2D向量叉乘的z分量
FLOAT D3DXVec2Dot //2D向量点乘
D3DXVECTOR2* WINAPI D3DXVec2Hermite //Hermite样条插值
FLOAT D3DXVec2Length //2D向量长度
FLOAT D3DXVec2LengthSq //2D向量长度平方
D3DXVECTOR2* D3DXVec2Lerp //2D向量长线性插值
D3DXVECTOR2* D3DXVec2Maximize //由两个2D向量中最大分量组成
D3DXVECTOR2* D3DXVec2Minimize //由两个2D向量中最小分量组成
D3DXVECTOR2* WINAPI D3DXVec2Normalize //规格化2D向量
D3DXVECTOR2* D3DXVec2Scale //缩放2D向量
D3DXVECTOR2* D3DXSubtract //2D向量相减
D3DXVECTOR2* WINAPI D3DXVec2Transform //矩阵来变换2D向量
D3DXVECTOR2* WINAPI D3DXVec2TransformArray //用矩阵变换数组
D3DXVECTOR2* WINAPI D3DXVec2TransformCoord //矩阵变换2D向量w=1
D3DXVECTOR2* WINAPI D3DXVec2TransformCoordArray //矩阵变换一组向量(x,y,0,1)
D3DXVECTOR2* WINAPI D3DXVec2TransformNormal//矩阵变换2D向量一般成份
D3DXVECTOR2* WINAPI D3DXVec2TransformNormalArray//矩阵变换向量(x,y,0,0)
D3DXVECTOR3* D3DXVec3Add //3D向量相加
D3DXVECTOR3* WINAPI D3DXVec3BaryCentric //三个3D向量的重心坐标点
D3DXVECTOR3* WINAPI D3DXVec3CatmullRom //3D向量CatmullRom插值
D3DXVECTOR3* D3DXVec3Cross //3D向量叉乘
FLOAT D3DXVec3Dot //3D向量点乘
D3DXVECTOR3* WINAPI D3DXVec3Hermite //3D向量Hermite样条插值
FLOAT D3DXVec3Length //3D向量长度
FLOAT D3DXVec3LengthSq //3D向量长度平方
D3DXVECTOR3* D3DXVec3Maximize //由两个3D向量中最大分量组成
D3DXVECTOR3* D3DXVec3Minimize //由两个3D向量中最小分量组成
D3DXVECTOR3* D3DXVec3Lerp //3D向量线性插值
D3DXVECTOR3* WINAPI D3DXVec3Normalize //3D向量规格化
D3DXVECTOR3* WINAPI D3DXVec3Project //对象向量从空间投影到屏幕
D3DXVECTOR3* D3DXVec3Scale //缩放3D向量
D3DXVECTOR3* D3DXVec3Subtract //3D向量相减
D3DXVECTOR4* WINAPI D3DXVec3Transform //矩阵把向量进行变换,w=1
D3DXVECTOR4* WINAPI D3DXVec3TransformArray//矩阵把向量数组进行变换
D3DXVECTOR3* WINAPI D3DXVec3TransformCoord//矩阵变换3D向量并置w为1的投影结果
D3DXVECTOR3* WINAPI D3DXVec3TransformCoordArray//矩阵变换3D向量数组并置w为1的投果
D3DXVECTOR3* WINAPI D3DXVec3TransformNormal//矩阵变换向量标准式,w=0
D3DXVECTOR3* WINAPI D3DXVec3TransformNormalArray//矩阵变换向量数组标准式,w=0
D3DXVECTOR4* D3DXVec4Add //两个4D向量相加
D3DXVECTOR3* WINAPI D3DXVec3Unproject //向量从屏幕投影到对象
D3DXVECTOR3* WINAPI D3DXVec3UnprojectArray//向量数组从屏幕投影到对象
D3DXVECTOR4* WINAPI D3DXVec4CatmullRom //4D向量CatmullRom插值
D3DXVECTOR4* WINAPI D3DXVec4BaryCentric //4D向量组成三角形的重心
D3DXVECTOR4* WINAPI D3DXVec4Cross //4D向量叉乘
D3DXVECTOR4* WINAPI D3DXVec4Dot //4D向量点乘