« 学一学, Texture Array纹理数组Shadow Map阴影贴图技术之探Ⅲ »

Terrain Texture-Array Demo

记录做这个demo的那些破事儿。又一个图片展。应用exture array技术制造一个古怪的山脉,咔~——ZwqXin.com

texture array demo by zwqxin
这个想法来源于这张图,觉得效果会不错的说,然后看到D3D有个这类型的demo,于是做了....虽然。

本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明
      原文地址:http://www.zwqxin.com/archives/opengl/texture-array-demo.html

问题的关键在于:上面那样的效果需要4个矩形旋转拼合产生,但是我以前写的地形Terrain地形都是一次过,连续的:算法决定一个M*N网格虽然理论上至少得有(M+1)*(N+1)-1个顶点,但是一般地形制造都会省略每个平面方向(X,Z决定之平面)的最后各一排的顶点,也就是说只用M*N个顶点描述。这样对大地形来说没什么。但是现在我得把一个地形切成四块,旋转拼接——于是这些“不见了的顶点”成为问题了(注意断裂处本来也该有地形):

texture array demo by zwqxin
直接切割地形(由灰度图读入)后,出现难以磨合的分裂间隙。

texture array demo by zwqxin
尝试了一些做法未果,因此采取了笨方法:直接修补,把空隙两端连接起来。出现了一堆小问题,譬如坐标,纹理坐标的对应。其间还有MFC读地形图时出现的错误(原因不明),需要修补......反正从上面第二张图到第三张图花费了不少时间。

texture array demo by zwqxin
4个本为一体的地形分块是不可能旋转拼接的,直接效果会像上面那样。因此施用小技法“旋转r纹理坐标”

texture array demo by zwqxin
出来结果了,呵呵。纹理图都是256*256的,解析度低,见谅吧~~

这是个自动旋转的山形。为什么最山地上面反而是绿色的呢?呵呵,特殊爱好而已。雪“融化”那刻,自我感觉蛮好的嘿嘿。代码一匹布甘乱,就不放了,放出效果(可执行程序)。

在上篇日志:学一学, Texture Array纹理数组 的最后附有本效果demo。

DEMO使用了shader,需要下载glew库到指定目录,下载见此:OpenGL常用的库

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

IE下本页面显示有问题?

→点击地址栏右侧【兼容视图】←

日历

Search

网站分类

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 2008-2013 ZwqXin. All Rights Reserved. Theme edited from ipati.