WOW渲染中的纹理压缩

一直没玩台服,国服也停留在72级。 成都的天气一天天严峻,更是不想动了,于是用NVPerfHUD挂了下WOW,看看它到底啥样。

用NVPerfHUD挂程序需要被挂的程序自身支持,但是网上有一个老兄写的一个NVPerfHUD Any程序可以帮你完成这个功能。对大多数D9的都有效。除非本身做了破解。

给大家这个链接,自己去解决个人问题。

http://www.thecodeway.com/blog/?p=433

完美时空的引擎很不错,依然坚挺地用着D8。其实挺想挂来看看的,可惜市面上主流的工具都不支持D8,只有D9以及以后的版本。

WOW在CTM的版本中升级了它的渲染引擎,光从水面和火焰就看得出来。 但WOW一向是以负载和流畅度为主,并且WOW本身卖的不是画面。所以若不能帮助提升游戏性的渲染损耗基本上被无视了。 其实吧,个人觉得,做游戏无非就三种了。 一种是追求画面,这一点棒子很有心得。二是追求可玩性,这一点我想WOW应该遥遥领先了吧。 另外一种追求就显得很单纯了---钱。 这一点国内许多游戏做得很好,在此就不列名字了,因为比较多。

由于上星期在公司测试新写好的材质和资源管理时,发现ALPHA测试的草丛效果很不理想,于是将草的ALPHA混合开启了,一时间,感觉世界被颠倒了。因为草是按簇画的,排序也只能是按簇排序,当开启了ALPHA混合后,草丛与草丛之间没有太多问题,只是草丛本身出现了像素渲染错误。 不管是Z写和Z测试如何选择开启和关闭。都会有问题。

突然发现草这个东西很特别。

草丛的建模和GPU GEMS 1上的建模方式一样, 三个矩形交叉的方式。

1、它需要用ALPHA混合来实现效果

用ALPHA混合的效果是很不错的。因为可以使边缘柔和。毕竟ALPHA测试会因为图片ALPHA值采样引起的误差导致严重的钜齿。其次就是对美术要求太高了,需要严格控制ALPHA与非ALPHA交界处。

2、但它的行为属性却是一个非透明物体。

这是因为它必须有深度关系,必需写Z。 因为只有写了Z,才能够正确地与特效等透明物混合,并且也只有写了Z,同一草中的多个面片才能够正常混合。

在忽略其它情况下,我试过了Z测试和Z写的四种组合,也未能达到草丛本身和单棵草都同时达到正确的效果。

还是多看看别人怎么做的吧,所以上来就比较关心WOW的植被渲染了。 当看到下面这样的纹理的时候,我笑了。没想到BLZ的美术资源节约到了这样的程度,真是细致入微啊(这不是拍马屁,试问有多少美术资源是这样做的)。 可以看出,若不采用这样的半张,而用整张,那么就是128X128的大小。

左边为原图,右边为ALPHA通道查看图

而对于树的渲染,则很普通了。设置好纹理,设置好数据和渲染状态,提交绘制即可。

 

为了看到ALPHA混合的效果,我强忍着把WOW在我7300的显卡上开完了效果。以为会咋的,结果啥也没发生。

WOW的植被的确没有用到ALPHA混合。我失望了。

可能许多人觉得,把多张纹理整合在一张上更好吧。 当然了,这是自然的。 下面就是WOW中经常一起出现的植被的纹理打包图。

大家可以看到,右边的图并没有被裁剪,其原因不言而谕(因为想以非对称营造感觉,并且小件物体纹理本身比较小。)。

发现这草用的是两片,并且大小还不一样。 不知是否真的有此必要。

我最后要说明的是,这文章就算完了。没有结论,也没有感言。因为那样太俗套!

posted @ 2011-01-23 21:54 麒麟子(Alex) 阅读(...) 评论(...) 编辑 收藏

WOW渲染中的纹理压缩相关推荐

  1. 关于OpenGL ES中的纹理压缩

    基于OpenGL ES的压缩纹理有常见的如下几种实现: 1. ETC1(Ericcson texture compression) 2. PVRTC(PowerVR texture compressi ...

  2. 显存优化:纹理压缩功能介绍与使用说明

    由于近期在开发者群里发现一些开发者对纹理压缩不太理解,遇到一些使用上的问题,所以本次文章中对纹理压缩进行详细的说明和使用上的介绍,希望能对有需求的开发者带来帮助. 本篇文章已经先更新到官网的文档中,也 ...

  3. 游戏中纹理压缩格式之Texture压缩纹理

    记载目录 1.杂言杂语 2.纹理格式与文件格式的区别 3.常见的纹理格式和应用场合及硬件的特定要求常见的压缩纹理格式硬件需求 4.压缩纹理特殊处理RGBA16 + Dithering 处理ETC1的通 ...

  4. Boost:在OpenCL并将图像渲染为OpenGL中的纹理

    Boost:在OpenCL并将图像渲染为OpenGL中的纹理 实现功能 C++实现代码 实现功能 Boost的compute模块,在OpenCL并将图像渲染为OpenGL中的纹理 C++实现代码 #i ...

  5. unity 纹理压缩格式‘_纹理优化:让你的纹理也“瘦”下来

    在上一期<纹理优化:不仅仅是一张图片那么简单>中,我们针对纹理相关的优化,挑选了部分知识点分析.无论是大家在开发时的疏忽,还是对相关知识点的理解不足,这些问题的积累最终都会反映到项目的性能 ...

  6. 【百人计划】图形3.5 纹理压缩的格式

    笔记部分> 一.什么是纹理压缩格式(概念) 为了解决内存和带宽问题,在计算机图形渲染中(储存纹理)的一种图像压缩.优化技术. 二.为什么要进行纹理压缩? 对于低硬件设备和移动端,有两个问题需要解 ...

  7. DXT纹理压缩格式解析

    我们知道游戏中对于3D物体表面细节的表现最重要的还是靠贴图来实现的,那么越是高分辨率越是真彩色的贴图自然表现力也是越强,但是同时带来的问题是所需占用的内存会成倍的上升,而节省内存这一点在目前的游戏中还 ...

  8. 纹理优化三-KTX纹理压缩

    KTX简介: KTX (Khronos Texture) 是一种纹理存储格式,大部分移动设备的 GPU 均支持这种格式.可以有效降低设备的显存占用,提高运行效率和稳定性. ktx是容器,astc是算法 ...

  9. DXT纹理压缩,Multiple Render Targets

    游戏中对于3D物体表面细节的表现最重要的还是靠贴图来实现的,那么越是高分辨率越是真彩色的贴图自然表现力也是越强,但是同时带来的问题是所需占用的内存会成倍的上升,而节省内存这一点在目前的游戏中还是非常非 ...

最新文章

  1. OpenGL和图形卡
  2. xp网吧用母盘制作说明
  3. 20175333曹雅坤 实验二 Java面向对象程序设计
  4. 使用IDEA运行Spark程序
  5. ERDAS遥感图像配准、及其它一些基本处理
  6. 参与社团活动的意义_大学参加社团活动有意义吗?
  7. volley浅析(磨砺营马剑威Android)
  8. background-color:#e5eecc; border:solid 1px #c3c3c3;
  9. Nginx模块开发(10)—limit_req模块分析
  10. ospf-3型和5型汇总
  11. 卡诺图化简 之 和之积形式 与 积之和形式
  12. 解决 Windows 商店 0x800704cf 网络问题
  13. rx6800s什么水平N卡 rx6800s什么水平
  14. 8086汇编(3、指令集)
  15. Linux下输出大字、艺术字--figlet
  16. 一款可以帮助你处理文字、编写内容等办公软件-Word 2013 提供下载
  17. CPU中的通用寄存器
  18. mysql去掉字段中的中文括号及括号中的内容
  19. 【干货】外贸业务员的客户开发信为什么总是进老外垃圾邮箱?
  20. Ubuntu18.04安装Ceres库和G20库

热门文章

  1. IDEA service/DashBoard 不显示服务端口号,解决办法
  2. 100条经典MSN签名
  3. innerText 和 innerHTML的区别
  4. iOS开发之高级视图—— UITableView(四)自定义Cell
  5. java 编写抽象类Animal,JAVA 抽象类,抽象方法
  6. 为了帮助前后端分离的新手,我做了一次大胆的尝试!
  7. SQL SERVER 2008 R2 什么意思。
  8. 新年送什么礼物比较合适?高性价比蓝牙耳机盘点
  9. SpringBoot日志分析新神器,换掉笨重的ELK
  10. 如何查询手机是不是翻新机?2分钟看懂教程,学会可自查爱机