ページ 11

DirectX画像の拡大縮小について

Posted: 2012年11月18日(日) 17:44
by bonbo
早速ですが質問させていただきます。
directXのスプライトの拡大縮小(回転)についてなのですが
いま画像を表示する手段として
開始時にスプライトを一つ作成
D3DXCreateSprite

D3DXCreateTextureFromFileExでテクスチャを作る

描画

コード:

	g_pd3dDevice->Clear( 0 , NULL , D3DCLEAR_TARGET ,
	                     D3DCOLOR_XRGB( 0 , 0 , 0 ) , 1.0f , 0 );
	
	g_pd3dDevice->BeginScene();
	
	g_pSprite->Begin( NULL );

   g_pSprite->Draw(...);

	g_pSprite->End();
	
	g_pd3dDevice->EndScene();
	
	g_pd3dDevice->Present( NULL , NULL , NULL , NULL );
というような方式をとっているのですが、その間に、行列を含んだ要素が見当たらず
多くのページに書いてある行列を用いた拡大縮小について、よくわからないでいます。
どのようにして拡大縮小を実現することができるのでしょうか。

環境は
VS2010
DirectX SDK 2010 June
Windows7
です。
よろしくお願いします。

Re: DirectX画像の拡大縮小について

Posted: 2012年11月18日(日) 18:47
by ISLe
ID3DXSprite::SetTransformで変換行列を指定します。
D3DX9だけでいくつもバージョンが分かれていますので注意してください。

Re: DirectX画像の拡大縮小について

Posted: 2012年11月18日(日) 19:25
by bonbo
>IsLeさん
ありがとうございます
やはりスプライトを複数作る必要があるのですね…
もしよければその関数をどこで使えばよいかおしえていただけないでしょうか

Re: DirectX画像の拡大縮小について

Posted: 2012年11月18日(日) 22:08
by bonbo
できました。まだ知識が穴だらけなのでまた質問したいと思います。
ありがとうございました