这个gem描述如何来渲染植物和树。
这其中描述的方法所画的植物仍旧是非常粗糙的,但是其中描述的一些优化方法以及思想倒是值得借鉴。
目前比较大型游戏里面对于叶子的渲染都是用alpha test来做,就是一大片叶子其实是一个正方形,然后贴图上去,进而用alpha test砍掉非叶子部分。这样在做阴影的时候也可以非常理想。
这篇gem主要集中在及其简单的植物上,所面向的游戏类型也是对于植物细节要求特别高的,那么就用两个正方形十字交叉,用同样的贴图来画就好。
那么这里又提到一些优化:
1, batch: batch有多个级别,最简单的batch就是把使用同样pixel shader和vertex shader的model都集中在一起,统一画,这样就不用切换shader,进而省很多时间。
那么这里的植物画法的batch就更进一步,是把所有的用同一贴图的植物集中在一切,用triangle strip连接成一个mesh。这样一个batch就把一类大量的植物都画掉了。
其中需要注意的地方就是triangle strip的排列方式,因为strip中一个点会影响到多达三个点,我们是在画多个独立的矩形,而不是连接的,所以排列点来打散是需要做的工作:比如我们有1,2,3,4,8,9,10,11
那么打散排列就是1,2,3,4,4,8,8,9,10,11
2,非常传统的优化方法了,bsp,bv树,八叉树阿,能剔除的都剔除掉
分享到:
相关推荐
Widgets for new UI: Collections: - Combobox - ListView - TileView - TreeView - DirectoryTreeView * - FileListView * Widgets can be generated for the your custom type with context menu "Create / New UI...
资源分类:Python库 所属语言:Python 资源全名:QT-PyQt-PySide-Custom-Widgets-0.1.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
DQT_RESTRICTED_CAST_FROM_ASCII -DQT_DISABLE_DEPRECATED_BEFORE=0x050600 -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DBOTAN_DLL= -DBOTAN_TARGET_OS_HAS_GETTIMEOFDAY -DBOTAN_HAS_ALLOC_MMAP -...
anaconda-widgets-21.48.22.121-3.rhelah.0.el7.centos.x86_64.rpm
GWT整合Spring时需要这个包,在官网上没有最新的jar包,这是自己用jar命令生成的,并测试可以使用。
资源来自pypi官网。 资源全名:spl_widgets-0.2.6-py3-none-any.whl
资源来自pypi官网。 资源全名:pygame_widgets-0.4.3-py3-none-any.whl
资源来自pypi官网。 资源全名:astropixie_widgets-0.1.0-py3-none-any.whl
资源来自pypi官网。 资源全名:django_map_widgets-0.3.0-py3-none-any.whl
@ fullstack-foundation / react-widgets-docs
资源分类:Python库 所属语言:Python 资源全名:atap_widgets-0.2.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:tornado_widgets-0.0.31-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:rhizo_widgets-0.1.7-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Create visually appealing and feature-rich applications by using Qt 5 and the C++ language Qt 5, the latest version of Qt, enables you to develop applications with complex user interfaces for multiple...
打开Qt Creatr,并选择“新建项目”,然后选择“Qt Widgets应用程序”。为项目命名并选择保存路径。点击“下一步”并按照向导的指示完成项目创建过程。 步骤2: 添加WebEngine模块在QtCreaor的项目资源管理器中,...