1
爲了嘗試在簡單矩形上獲取紋理,我遇到了一個奇怪的問題。似乎只使用紋理中最後一列像素。 http://i.imgur.com/40EoI.png < - 結果是在那裏的黑色和白色的矩形。Directx 11 - 僅部分顯示紋理
我已經跋涉了已經提出的問題的深度,並且走過了谷歌危險的下賤之路,但無濟於事。我將我的代碼與我基於它的教程進行了比較(巧合的是,它適用於我選擇的紋理),但仍然感到困惑。 我在想這可能是輸入佈局,也許補償?
D3D11_INPUT_ELEMENT_DESC ied[] =
{
{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0},
{"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0},
{"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 24, D3D11_INPUT_PER_VERTEX_DATA, 0},
};
dev->CreateInputLayout(ied, 3, VS->GetBufferPointer(), VS->GetBufferSize(), &pLayout);
devcon->IASetInputLayout(pLayout);
如果不是這樣,那麼那裏有一個機會,它可能是CreateShaderResourceFromViewFile:
D3DX11CreateShaderResourceViewFromFile(dev, // the Direct3D device
L"Ptitle.png", // load Wood.png in the local folder
NULL, // no additional information
NULL, // no multithreading
&Ttitle, // address of the shader-resource-view
NULL); // no multithreading
而且,只是爲了好措施 - 但我敢肯定它的罰款,這裏的頂點和它們各自的紋理座標
// Title
{-200.0f, 100.0f, 0.0f, D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f), 0.0f, 1.0f},//13 BOTTOM LEFT
{-200.0f, 200.0f, 0.0f, D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f), 0.0f, 0.0f},//14 TOP LEFT
{200.0f, 100.0f, 0.0f, D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f), 1.0f, 1.0f},//15 BOTTOM RIGHT
{200.0f, 200.0f, 0.0f, D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f), 1.0f, 0.0f},//16 TOP RIGHT
我有一種感覺,我會踢自己。 非常感謝我可能收到的任何幫助,以及在我仍然過於模糊的情況下的道歉。
你是一個很棒的人。我甚至會說最好的。這是一大堆。謝謝 ;) – user1888727