0

0

[gpu pro]《正当防卫2》渲染技术

php中文网

php中文网

发布时间:2016-06-07 15:37:12

|

1551人浏览过

|

来源于php中文网

原创

humus写在gpu pro上面的,其中很多东西在他的网站上,以及后来的siggraph12上面提及了,文章链接 雷同的地方就不记录了,结合siggraph12上面的那个文章,可以说含金量颇高,有较多可以借鉴的亮点。 light index 多光源的处理方法不是deferred系列,而是使用l

humus写在gpu pro上面的,其中很多东西在他的网站上,以及后来的siggraph12上面提及了,文章链接

雷同的地方就不记录了,结合siggraph12上面的那个文章,可以说含金量颇高,有较多可以借鉴的亮点。


light index

多光源的处理方法不是deferred系列,而是使用light index的方式,把light信息放到一个texture里面。

细节就略过了。

shadow

使用了cascaded shadow map,有snapping避免抖动,在camera处于不同情况下会自动的调节shadow的range来最大化利用率。

这里一个细节很棒,在不同cascade之间过渡的时候,使用的是dither,而不是blend,这样就避免了sample两次的问题。

[gpu pro]《正当防卫2》渲染技术

在pc还实现了一个类似pcss的效果,是使用类似ssao的方法,在shadowmap里面进行sample搜索,根据有没有occluder来决定shadow kernel的大小。

人物的shadow

justcause2的游戏情况是常常是人物就在镜头前,这个造成正常的shadow的效果精度不足,humus他们尝试了增加一个专门的渲染人物的shadow buffer,但是发现性价比过低。最后采用的是tatarchuk的light bleed mapping technique。

这个参考文章是这个:http://developer.amd.com/wordpress/media/2012/10/D3DTutorial05_Real-Time_Skin_Rendering.pdf

05年gdc一个文章,当年应该说颇具前沿的,现在看来也挺有理论深度的,不过基本上是不适用了,图形学变化真是快速。

light bleeding就是把shadow计算做一些扩展,根据receiver和occluder的距离,不再是简单的可见不可见,而是逐渐的亮度递减:

light bleeding的函数图:

[gpu pro]《正当防卫2》渲染技术

正常shadow的函数图:

[gpu pro]《正当防卫2》渲染技术

humus做了些变化,natalya是使用的exp衰减,而justcause2里面是使用的线性衰减。

Pika
Pika

Pika.art是一个AI驱动的多样化风格视频创作平台

下载

最后character部分的阴影就更加的柔和(visual artifact更少),算是不求有功但求无过的做法了。

ao

有这么几种ao:

  • 物件上材质带的ao,material里面带一个ao的通道
  • ssao
  • ao volume:在character,车辆上面常常有

floating point precision

在另外一篇博客里面有了,就不重复了,这里稍微记录下floating point的精度大小怎么去计算,这个涉及到floating point的原理,这个原理用到的几率非常之低,所以忘记了应该说挺正常的。

我们一般的floating point是23位的mantissa,所以如果我们在8192这个级别做计算,那么精度就是8192/pow(2,23)=1/1024,大约是毫米级别,但是在矩阵做了各种旋转类的操作之后,误差积累是惊人的,做法就是先做translation,避免掉大数据,然后再做rotation。

一致的api

跨平台的常用做法就是自己engine里面有一个api,处理各种平台,这个在设计的时候humus表示如果能更早的借鉴dx10的state object设计上会更精简一些。

dx10之后就是把state做了分组,blend state等等,这样的设计就是更精炼。

gamma

justcause2里面使用linear space做lighting,但是有一些硬件在dx9的srgb上面的blending有一些问题这个带来一些困扰。

然后一个问题不是那么技术,但是导致的问题却非常多,就是早期程序员使用了2作为gamma转换的值,而不是2.2,这个对于程序员来说看不出什么区别,但是对于artist这个区别就大了去了,最后改正带来一些代价。

memory优化

首先justcause使用了一个不错的给artist&designer的反馈就是,在memory耗尽的时候,就不再分配新的贴图出来,而是使用一个错误贴图来警示,然后迫使designer来做资源缩减,这个就是项目中技术含量虽然不高,但是非常有效的一个手段。

shdow map使用16bit,1024分辨率,3张。

vertex compress

做了一个进一步的texture packing,在一些允许的情况下,把texture的颜色放到vertex上面,texture里面只保留luminance,然后3张压到1张dxt1里面。



热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

0

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

0

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

19

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

15

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

17

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

2

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

38

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

22

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第十八期_综合实战
第十八期_综合实战

共100课时 | 10.8万人学习

UNI-APP开发(仿饿了么)
UNI-APP开发(仿饿了么)

共32课时 | 8.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号