How to cast D3DXVECTOR3 to const FLOAT*?

Started by
2 comments, last by ApochPiQ 18 years, 4 months ago
Hi! I have a vector (D3DXVECTOR3 m_vPosition) with the coordinates of my camera. Is there a possibility to pass it to the following function? ID3DXEffect::SetFloatArray(D3DXHANDLE hParameter, const FLOAT *pf, UINT Count) Is there a way to cast the vector to const FLOAT* ? Thanx for any suggestion! SONB
Advertisement
D3DXVECTOR3 has a const FLOAT* cast operator, so there should be no problems passing one to the SetFloatArray method.
So should I write the following:

SetFloatArray("gEyePos", (const FLOAT *)m_vPosition.x, 3);

Is it right?

I tried it and the compiler says:

error C2440: 'type cast' : cannot convert from 'float' to 'const FLOAT *'

Your code is trying to cast m_vPosition.x. x is a member of D3DXVECTOR3, of type float. The const FLOAT * operator is for D3DXVECTOR3 itself, not the individual float members. Just cast m_vPosition instead and it should work.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

This topic is closed to new replies.

Advertisement