Jump to content

  • Log In with Google      Sign In   
  • Create Account

Strategy Camera


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 lyzerk   Members   -  Reputation: 120

Like
0Likes
Like

Posted 31 August 2012 - 03:08 AM

Hello, again me.

I'm trying to do strategy camera. here my codes;

terrain world view;
[source lang="cpp"] D3DXMATRIXA16 matWorld; D3DXMatrixTranslation( &matWorld, 0, 0, 0); g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );[/source]

and camera view;

[source lang="cpp"] D3DXVECTOR3 vEyePt( 0, 0, 100 ); D3DXVECTOR3 vLookatPt(0, 0 , 0); D3DXVECTOR3 vUpVec( 0, 1, 0); //up D3DXMATRIXA16 matView; D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec ); pd3dDevice->SetTransform( D3DTS_VIEW, &matView );[/source]

my problem is that i tried all parametres in evept, lookatpt (upVec is for angle i think.) and i cant found right vector.

how can i do right and up vector with mouse ? like any strategy game ?

Thanks.

edit:

i tried camera world view like that before

[source lang="cpp"] D3DXMATRIXA16 matWorld; D3DXMatrixTranslation( &matWorld, camera.camera.x, camera.camera.y, camera.camera.z); pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld ); D3DXVECTOR3 vEyePt( 0, 0, 100 ); D3DXVECTOR3 vLookatPt(0, 0 , 0); D3DXVECTOR3 vUpVec( 0, 1, 0); //up D3DXMATRIXA16 matView; D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec ); pd3dDevice->SetTransform( D3DTS_VIEW, &matView );[/source]

but its doing nothing D3DTS_VIEW just like position of view i can't move it :S anybody have idea ?

Edited by lyzerk, 31 August 2012 - 05:12 AM.


Sponsor:

#2 lyzerk   Members   -  Reputation: 120

Like
0Likes
Like

Posted 31 August 2012 - 11:10 AM

okey, i did something like up, down, left, right, zoomout and zoomin for terrain like this code;
view matrix here;
[source lang="cpp"] D3DXMATRIXA16 matWorld; D3DXMatrixTranslation( &matWorld, camera.camera.x, camera.camera.y, camera.camera.z); pd3dDevice->SetTransform( D3DTS_VIEW, &matWorld );[/source]
others;
[source lang="cpp"]void CALLBACK OnKeyboard( UINT nChar, bool bKeyDown, bool bAltDown, void* pUserContext ){if(nChar == 'a' || nChar == 'A'){ camera.camera += camera.moveLeft;}else if(nChar == 'd' || nChar == 'D'){ camera.camera -= camera.moveLeft;}else if(nChar == 'q' || nChar == 'Q'){ camera.camera += camera.moveUp;}else if(nChar == 'e' || nChar == 'E'){ camera.camera -= camera.moveUp;}else if(nChar == 'w' || nChar == 'W'){ camera.camera += camera.moveFoward;}else if(nChar == 's' || nChar == 'S'){ camera.camera -= camera.moveFoward;}}[/source]
[source lang="cpp"] camera.moveFoward = D3DXVECTOR3( 0 , 1 , 0 );camera.moveUp = D3DXVECTOR3( 0 , 0 , 1 );camera.moveLeft = D3DXVECTOR3( 1 , 0 , 0 );[/source]
i tried for angle of view with D3DXMatrixRotation-x-y-z but its not worked. i want to do really one camera like strategy games

#3 lyzerk   Members   -  Reputation: 120

Like
0Likes
Like

Posted 31 August 2012 - 02:45 PM

ok guys i fixed it, anyway thanks.

here is answer;
//matWorld is matrix of world view
//matView is D3DXMatrixLookAtRH
D3DXMATRIXA16 result = matWorld * matView;
pd3dDevice->SetTransform( D3DTS_VIEW, &result );




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS