Вид сверху только на местности, какой будет лучший подход? - PullRequest
0 голосов
/ 28 февраля 2019

Я начал с того, что попытался нарисовать ландшафт из треугольных полос, чтобы я мог вращать его для вида сверху, и с хорошим углом освещения у меня было бы все, что мне нужно:

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

Please don't hate me

...