• Advertisement
Sign in to follow this  

How to cast D3DXVECTOR3 to const FLOAT*?

This topic is 4462 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
Advertisement
D3DXVECTOR3 has a const FLOAT* cast operator, so there should be no problems passing one to the SetFloatArray method.

Share this post


Link to post
Share on other sites
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 *'

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement