高さマップをロードするプログラムがあり、次に三角形リスト メソッドを使用して頂点を配列に並べ替えます。私の質問は、それを三角形ストリップに変更するにはどうすればよいですか? 私はそれを1つのストリップにしたいので、最初の行は左から右、2番目の行は右から左など、forループを使用してこれを行います。
これまでのtrianlge listメソッドの私のコード(高さマップローダーまたは頂点数の定義は表示されず、法線計算機も表示されますが、それを適応させるのに助けは必要ありません):
for( int l = 0; l < m_HeightMapLength; ++l )
{
for( int w = 0; w < m_HeightMapWidth; ++w )
{
if( w < m_HeightMapWidth-1 && l < m_HeightMapLength-1 )
{
/*v0 = m_pHeightMap[mapIndex];
v1 = m_pHeightMap[mapIndex+m_HeightMapWidth];
v2 = m_pHeightMap[mapIndex+1];
v3 = m_pHeightMap[mapIndex+m_HeightMapWidth+1];
D3DXVECTOR3 vA = v0 - v1;
D3DXVECTOR3 vB = v1 - v2;
D3DXVECTOR3 vC = v3 - v1;
D3DXVECTOR3 vN1;
D3DXVec3Cross(&vN1, &vA, &vB);
D3DXVECTOR3 vN2;
D3DXVec3Cross(&vN2, &vB, &vC);*/
//D3DXVec3Normalize( &vN1, &vN1);
//D3DXVec3Normalize( &vN2, &vN2);
//T Left, Bot Left, T Right, T Right, Bot Left, Bot Right
//m_pMapVtxs[i++] = Vertex_Pos3fColour4ubNormal3f(D3DXVECTOR3( m_pHeightMap[mapIndex].x, m_pHeightMap[mapIndex].y, m_pHeightMap[mapIndex].z), MAP_COLOUR, D3DXVECTOR3(vN1.x, vN1.y, vN1.z));
//m_pMapVtxs[i++] = Vertex_Pos3fColour4ubNormal3f(D3DXVECTOR3( m_pHeightMap[mapIndex + m_HeightMapWidth].x, m_pHeightMap[mapIndex + m_HeightMapWidth].y, m_pHeightMap[mapIndex + m_HeightMapWidth].z), MAP_COLOUR, D3DXVECTOR3(vN1.x, vN1.y, vN1.z));
//m_pMapVtxs[i++] = Vertex_Pos3fColour4ubNormal3f(D3DXVECTOR3( m_pHeightMap[mapIndex+1].x, m_pHeightMap[mapIndex+1].y, m_pHeightMap[mapIndex+1].z), MAP_COLOUR, D3DXVECTOR3(vN1.x, vN1.y, vN1.z));
//m_pMapVtxs[i++] = Vertex_Pos3fColour4ubNormal3f(D3DXVECTOR3( m_pHeightMap[mapIndex+1].x, m_pHeightMap[mapIndex+1].y, m_pHeightMap[mapIndex+1].z), MAP_COLOUR, D3DXVECTOR3(vN2.x, vN2.y, vN2.z));
//m_pMapVtxs[i++] = Vertex_Pos3fColour4ubNormal3f(D3DXVECTOR3( m_pHeightMap[mapIndex + m_HeightMapWidth].x, m_pHeightMap[mapIndex + m_HeightMapWidth].y, m_pHeightMap[mapIndex + m_HeightMapWidth].z), MAP_COLOUR, D3DXVECTOR3(vN2.x, vN2.y, vN2.z));
//m_pMapVtxs[i++] = Vertex_Pos3fColour4ubNormal3f(D3DXVECTOR3( m_pHeightMap[mapIndex + m_HeightMapWidth+1].x, m_pHeightMap[mapIndex + m_HeightMapWidth+1].y, m_pHeightMap[mapIndex + m_HeightMapWidth+1].z), MAP_COLOUR, D3DXVECTOR3(vN2.x, vN2.y, vN2.z));
mapIndex++;
forループは、それをストリップに変更するための私の主な問題です。私はすでに頂点を紙にマップしているので、それが私の主な問題です。洞察は大歓迎です。