openGL学习笔记三十七:绘制简单地图 |
您所在的位置:网站首页 › 瓦片画风景 › openGL学习笔记三十七:绘制简单地图 |
地形本质上由一个个顶点(x,y,z)组成多个三角面连接而成。 地形有两种来源: 1.美术使用3dmax、maya、bleader工具,画点、线、面,导出三维模型,然后在游戏中加载进来,进行绘制。 2.软件自身使用数据生成,如通过一张高度图生成。 涉及函数opengl 绘制网格 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); 代码:下面Terrain 类就是生成一个简单的平面地形网格。 Terrain.hpp #pragma once #include #include struct TerrainVert { float x, y, z; }; //使用索引方式绘制地形 class Terrain { public: typedef std::vector ArrayVertex; typedef std::vector ArrayIndex; public: ArrayVertex _vertex; ArrayIndex _index; int _drawSize; public: Terrain(void); ~Terrain(void); void setup(float w, float h); void render(); };Terrain.cpp #include "terrain.hpp" Terrain::Terrain(void) { } Terrain::~Terrain(void) { } void Terrain::setup(float w, float h) { float step = 1; float startX = -w * 0.5f; float startZ = -h * 0.5f; float halfW = w * 0.5f; float halfH = h * 0.5f; _drawSize = (w / step) * 2; //产生顶点数据 for (float z = startZ; z |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |