皆さん、誰でもDirect3D C++でテクスチャマッピングを手伝うことができます。私は基本的なゲームを作り、その環境をテクスチャ化したいと思う。Direct3D C++テクスチャマッピング
struct CUSTOMVERTEX
{
FLOAT x, y, z; // The position for the vertex
DWORD color; // The vertex color
};
は、これは私が四角形を描画する方法を次のとおりです:
CUSTOMVERTEX g_Vertices[] =
{
{-1.0f,-1.0f,-1.0f,0xFF0000FF},{-1.0f, 1.0f,-1.0f,0xFF0000FF},
{ 1.0f, 1.0f,-1.0f,0xFF0000FF}, { 1.0f, 1.0f,-1.0f,0xFF0000FF},
{ 1.0f,-1.0f,-1.0f,0xFF0000FF},{-1.0f,-1.0f,-1.0f,0xFF0000FF},
};
私は私は私の描画コードのカスタム頂点を作成しています、多くのオンラインチュートリアルを見てきましたが、今のところ
をまったく運を持っていませんでしたここ
はバッファです:
//*************************** Vertex Buffer ****************************
if(FAILED(g_pd3dDevice->CreateVertexBuffer(numberOfVertecies*sizeof(CUSTOMVERTEX),
0 /* Usage */, D3DFVF_CUSTOMVERTEX,D3DPOOL_MANAGED, &g_pVB, NULL)))
MessageBox(hwnd,"Vertex Buffer problem",NULL,NULL);
VOID* pVertices;
if(FAILED(g_pVB->Lock(0, sizeof(g_Vertices), (void**)&pVertices, 0)))
MessageBox(hwnd,"Vertex Lock Problem",NULL,NULL);
memcpy(pVertices, g_Vertices, sizeof(g_Vertices));
g_pVB->Unlock();
、ここでは正方形である:
g_pd3dDevice->SetTransform(D3DTS_WORLD, &g_matWorld);
g_pd3dDevice->SetStreamSource(0, g_pVB, 0, sizeof(CUSTOMVERTEX));
g_pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 20);
四角形をどのようにテクスチャするか見たいので、私は全体の環境をテクスチャリングすることができますか?あなたは、あなたが頂点テクスチャ座標にその色の値を変更作成すると
struct CUSTOMVERTEX
{
FLOAT x, y, z; // The position for the vertex
FLOAT tu, tv; // Texture Coordinates
};
にご頂点構造を変更する必要がテクスチャマッピングを実装する場合((0,0)が対応して調整することを忘れてはいけない