openGL学习笔记三十七:绘制简单地图

您所在的位置:网站首页 瓦片画风景 openGL学习笔记三十七:绘制简单地图

openGL学习笔记三十七:绘制简单地图

2024-07-07 19:36| 来源: 网络整理| 查看: 265

  地形本质上由一个个顶点(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