代碼是在這裏的要求:Directx的頂點顏色
void MakeTeapotRed()
{
D3DXCreateTeapot(Device, &Teapot, 0);
}
讓我怎麼改變茶壺的頂點顏色?如果你的思維材料,我已經知道,我只需要知道顏色頂點應該比材料更簡單。我可以使用Vertex Buffers和Index Buffers中的幾何形狀來做到這一點,您如何將這個應用到與已經填寫了VB和IB信息的網格?
class ColorVertex
{
public:
ColorVertex(){}
ColorVertex(float x, float y, float z, D3DCOLOR color)
{
m_x = x;
m_y = y;
m_z = z;
m_color = color;
}
float m_x, m_y, m_z; // 3d coordinates
D3DCOLOR m_color;
static const DWORD FVF;
};
const DWORD ColorVertex::FVF = D3DFVF_XYZ | D3DFVF_DIFFUSE;
我剛剛發佈的代碼是稱爲ColorVertex的頂點信息的類。正如您所看到的,代碼是爲頂點顏色設置的,不需要顏色或不能有燈光正常工作,如FVF = D3DFVF_XYZ |所示。 D3DFVF_DIFFUSE。
再一次,人們似乎很難理解問題,我需要更新頂點的顏色以包含顏色,例如茶壺,球體,可以通過D3DCreate [objects]創建的網格物體等。 D3DCreateTeapot(參數的東西)。 請逐行佈局代碼,我是directx中的noob,而不是C++中的代碼。
那麼,你贏得了我作爲第一個看到你的問題視頻的獎項。 – chris 2012-07-24 05:23:38
我在堆棧溢出3天前發佈了一個問題,沒有人會給我一個答案。如果有人會給出答案,人們會給出最可能的含糊不清的答案。我希望有人能在這裏解決它。 – 2012-07-24 05:25:58
如何發佈一些代碼並描述你的問題?看我的視頻太麻煩了。 – Wernsey 2012-07-24 05:38:34