- 28 名前:クリエイト [2011/10/30(日) 18:57:41.55 ]
- テクスチャードクアッドをDrawPrimitive()で2D描画しようと考えていますが、
下記のコードで描画されません。ライティングとマテリアルの設定を変えてみても駄目で、頂点情報の指定で根本的に誤解があるのかもしれないので指摘お願いします。 ちなみに、サンプルからのコピペでXファイルを表示させることはできているので、初期化部分は合っていると思います。 STANDARD_VERTEX lm[4]; LPDIRECT3DVERTEXBUFFER9 vb; LPDIRECT3DTEXTURE9 pTexture; STANDARD_VERTEX newVERTEX[]={ {-1.f,0.f,0.f,0,0,-1.f,0xffffffff,0.f,0.f}, {1.f,0.f,0.f,0,0,-1.f,0x55ffffff,1.f,0.f}, {-1.f,1.f,0.f,0,0,-1.f,0x55ff44ff,0.f,1.f}, {1.f,1.f,0.f,0,0,-1.f,0xffffffff,1.f,1.f} }; memcpy(lm,newVERTEX,sizeof(newVERTEX)); MY_VERTEX_RHW *v; STANDARD_VERTEX *vv; pDevice->CreateVertexBuffer(sizeof(STANDARD_VERTEX)*4,0,D3DFVF_XYZ| D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1,D3DPOOL_MANAGED,&vb,NULL); vb->Lock(0,0,(void **)&vv,0); memcpy(vv,lm,sizeof(STANDARD_VERTEX)*4); vb->Unlock(); //ワールド、ビュー、プロジェクション変換省略。 pDevice->SetTexture(0,pTexture); pDevice->SetStreamSource(0,vb,0,sizeof(STANDARD_VERTEX)*4); pDevice->SetFVF(D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1); pDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);
|

|