m_Vtx = new CUSTOMVERTEX[nVertex];
m_D3DDevice->CreateVertexBuffer( nVertex*sizeof(CUSTOMVERTEX),0, D3DFVF_CUSTOMVERTEX,D3DPOOL_DEFAULT, &m_VertexBuffer, NULL );
int n=0;
for(int z=0; z<=Height; ++z)
{
for(int x=0; x<=Width; ++x)
{
n = z * (Width + 1) + x;
m_Vtx[n].p = D3DXVECTOR3(FLOAT(x), 0.0f, FLOAT(z));
m_Vtx[n].p *= (float)Scale;
m_Vtx[n].d = D3DCOLOR_XRGB(255, 255, 255);
}
}
VOID* pVertices;
m_VertexBuffer->Lock( 0, sizeof(m_Vtx), (void**)&pVertices, 0 );
memcpy( pVertices, m_Vtx, sizeof(m_Vtx) );
m_VertexBuffer->Unlock();
이렇게 했거든 근데 안나와..ㅜㅠ
new 할당한게 잘 못 된걸까?
나도 다이렉트x 하는사람이고 다이렉트하는사람 적어서 하다 빡친기억이 있어서 도와주려고 했으나, 주석도없고 의도도없으면서 각변수의 선언된부분도 없는 부분 소스코드를 딱붙이고 뭡니까 라고 물어보면 답하기가 참 곤란하다. 그래도 양심적으로 도와주자면, 단편적으로 답변해주자면 m_VertexBuffer가 LPDIRECT3D9VERTEXBUFFER라면 sizeof(m_Vtx)하면 포인터의 크기인 4를 돌려준다고 말하고싶다.