Я начал с того, что попытался нарисовать ландшафт из треугольных полос, чтобы я мог вращать его для вида сверху, и с хорошим углом освещения у меня было бы все, что мне нужно:
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();
}
Ну, я не могt потому что каждая полоса треугольника была отдельной и не могла найти способ объединить их.Честно говоря, я не хочу снова исследовать Америку.Я попытался поставить точки рядом друг с другом на 2D-проекционном дисплее OpenGL.Градиентная окраска была в порядке, но в какой-то момент я захотел увидеть тени.Есть ли надежная и несложная техника для этого?
Как видно, язык - c++
, я намеренно не помечал.
По крайней мере, я могу нарисовать их: c