水波加入了简单的反射,效果好多了.

news/2024/7/4 15:22:07

今天终于把CubeMap的读取加入引擎了.要知道.在OpenGL下,不是件很容易的事情.尤其要做到加载的接口都要一致,而且要考虑到和DX兼容.
不过目前似乎这个接口还是不错的.Cubemap的第一个简单应用就是给前面做的水加上了简单的反射, 看上去效果好多了.经过一段时间优化,速度也快了.
这个是128x128的网格,DM的尺寸是200x200 . 效果不错.
下面这个的网格尺寸为2x2 也就是只有8个三角形. DM尺寸为128x128. 单从反射效果上看不出来多大分别.关键是网格尺寸越大, 波动上下起伏的效果更明显.
 
以下这个是比较折中的网格64x64, DM依旧为200x200. 看的出来时间消耗在DM的计算上比较多一些.

发个线框模式的图.

DM要用到VTF. 所有的ATI卡都死翘了.不过还好把VTF拿掉后还是可以用DM来计算光照的,所以效果也还不错.尚能接受
目前程序代码比较乱要等整理后公布





http://www.niftyadmin.cn/n/3647777.html

相关文章

新瓶灌旧酒,Hugo老师的Fire算法的GPU版本.

没有完全把Hugo老师的demo给照搬过来.只照搬了两样东西.那个火焰纹理和Coolmap的资源, 以及核心部分的算法.算法原始版本见这里http://freespace.virgin.net/hugo.elias/models/m_fire.htm这个是我把它程序里用的火焰调色板保存成了一个bmp这个GPU版的抓图.注意RTT一定要是8bit…

GUI设计思路之二:Blender -- WinstateBlender/WinTransBlender

现在很多GUI的窗口在显示的时候,都有淡入和淡出的效果. 或者是飞入/飞出的效果(是叫飞入飞出吗?呵呵.). 也就是说1:可以自由控制窗口在两个状态间进行融合. 2: 能自由控制窗口的变换--旋转和缩放等. 为此我把窗口独立成一个个状态:struct _XUI_API_ xuiWindowState…

GUISystem设计思路之三:HotArea的概念。

很多时候,我们希望有些GUI的toolbar能自动消失。这个可以通过循环检测来实现。还有些时候 我们希望鼠标在某个区域动一下或者点一下就让消失掉的toolbar能自动显示出来。或者在一个窗口以外的地方点击的时候就能让窗口自动关闭。这个时候,我们去生写代码…

Mozilla XULRunner 的编译。

Mozilla XULRunner 的编译。潘李亮 2006-10-31Mozilla里有很多好东西。 比如那个js引擎和嵌入式渲染引擎。这段时间在想如果能在游戏里嵌入一个浏览器该多好啊。这个想法用mozilla的渲染引擎来实现在再好不过的了。Mozilla的渲染引擎叫xulrunner。它和firefox 用的是同一个代码…

极限边缘.

极限边缘.最近突然发现自己已经比以前长胖了好多。朋友拿着以前的我的照片都已经认不出来。于是开始决定出去锻炼。突然发现好多以前自己认为是非常剽悍的领域已经都是明日黄花,今天已是我挑战极限的运动。前两个星期和大学舍友一起去踢球。虽然知道以前能满场非的我…

Mozilla浏览器和应用程序的整合---第一步,显示

前段时间终于学会了编译Mozilla XULRunner.顺便修改修改了uBrowser的代码。把它的代码整合到我的引擎中。现在已经能把网页面显示出来了。回头弄弄一个DLL的路径。现在第一次运行的时候会报告有些mozilla的插件找不到。不过似乎第二次就好了。下一个步可以加入键盘鼠标的响应。…

Nebula2探秘14-nGuiServer的创建与使用

Nebula2探秘14-nGuiServer的创建与使用happykevins文关于nGui: nGui是Nebula2本身集成的GUI系统。虽然Radon在mangalore中已经集成了对CEGUI的支持,但是nGui相比之下更加简单易用,而且紧密地与Nebula2结合,不存在CEGUI诸多的兼容性问题。另…

Nebula2探秘15-Simple Application Framework

Nebula2探秘15-Simple Application Frameworkhappykevins文 在经历了前14章的学习之后,本章将介绍一个简单的Nebula2应用程序框架nAppFrame。 nAppFrame可以说是nApplication的最简化版本,去掉了状态机和所有不必要的Packages和Servers。 nAppFrame的代…