我首先尝试从三角形条纹中绘制地形,所以我可以旋转它进行俯视,并具有良好的照明角度,我将拥有所需的一切:
void genTerrain(GLint cellX, GLint cellY, GLfloat cellSize)
{
glPolygonMode(GL_FRONT_AND_BACK , GL_LINE);
std::vector<GLfloat> height;
height.resize(cellX * cellY);
glPushMatrix();
GLint c = 0;
for (GLint j = 0 ; j < cellY - 1 ; j++ )
{
glBegin(GL_TRIANGLE_STRIP);
for (GLint i = 0 ; i < cellX ; i++ )
{
glVertex3f( i , height[c], j * cellSize );
glVertex3f( i , height[c], (j+1) * cellSize );
c++;
}
glEnd();
}
glPopMatrix();
}
好吧,我不能,因为每个三角形带都是分开的,无法找到组合它们的方法。老实说,我不想再次探索美国。我尝试在2D投影OpenGL显示器上将点彼此相邻放置。可以进行渐变着色,但有时我想看到一些阴影。有没有可靠而简单的技术呢?
如所见,语言为c++
,我故意未加标签。
至少我可以画出它们:c