Jérôme Gardou : d3dx8: Implement D3DXMatrixStack_RotateAxisLocal.
Alexandre Julliard
julliard at winehq.org
Fri Nov 28 07:16:46 CST 2008
Module: wine
Branch: master
Commit: c2f00b3170abefc240df966792824f635128d1c9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c2f00b3170abefc240df966792824f635128d1c9
Author: Jérôme Gardou <jerome.gardou at gmail.com>
Date: Wed Nov 12 08:54:20 2008 +0100
d3dx8: Implement D3DXMatrixStack_RotateAxisLocal.
---
dlls/d3dx8/math.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index e264fff..919cfac 100644
--- a/dlls/d3dx8/math.c
+++ b/dlls/d3dx8/math.c
@@ -778,9 +778,16 @@ static HRESULT WINAPI ID3DXMatrixStackImpl_RotateAxis(ID3DXMatrixStack *iface, C
static HRESULT WINAPI ID3DXMatrixStackImpl_RotateAxisLocal(ID3DXMatrixStack *iface, CONST D3DXVECTOR3 *pv, FLOAT angle)
{
+ D3DXMATRIX temp;
ID3DXMatrixStackImpl *This = (ID3DXMatrixStackImpl *)iface;
- FIXME("(%p) : stub\n",This);
- return E_NOTIMPL;
+
+ TRACE("iface %p\n", iface);
+
+ if (!pv) return D3DERR_INVALIDCALL;
+ D3DXMatrixRotationAxis(&temp, pv, angle);
+ D3DXMatrixMultiply(&This->stack[This->current], &temp, &This->stack[This->current]);
+
+ return D3D_OK;
}
static HRESULT WINAPI ID3DXMatrixStackImpl_RotateYawPitchRoll(ID3DXMatrixStack *iface, FLOAT x, FLOAT y, FLOAT z)
More information about the wine-cvs
mailing list