Engine&Render
文章平均质量分 74
安柏霖
zhihu : https://www.zhihu.com/people/toughbro
<无限法则>--LeadProgrammer
<天涯明月刀>--Engine Architect
<Ghost Recon:Advanced Warfighter2>
<EndWar>
展开
-
DLSS3.5 RayReconstruction
- 可以针对ray tracing的结果做类似dlss的TAA+Upsampling的工作,基于AI加持,效果远好于手撸denoiser- 效果拔群,尤其是path tracing,几乎是必备的条件;原创 2023-12-24 17:03:45 · 937 阅读 · 0 评论 -
<avatar: frontiers of pandora>技术overview
avatar整体的评分和销量不算好,画面和技术实现方面算是一个长板,技术方面在当前大盘硬件上可以说是做到了相当不错的水平;该有的技术都有一个实现;原创 2023-12-24 08:56:03 · 744 阅读 · 0 评论 -
[gdc23]《战神:诸神黄昏》中的积雪系统
gdc23上santa monica带来基于tesselation的displacement map的可交互积雪系统,这是一个对于前作(战神4)的screen space parallax mapping的升级,而且是一个由自身render programmer在一个项目周期内,完成的:- 丰富&顶尖质量的- 性能友好的- 不需要美术很多设置(基本就是全局参数)系统;talk本身基本完整介绍了整个研发的提出,prototype,polish,shipping的整个过程,对于产品团队可以说是含金量很原创 2023-08-19 22:02:56 · 616 阅读 · 0 评论 -
[gdc]Rendering ‘God of War Ragnark‘
gdc23, sony santa monica关于god of war的分享;原创 2023-08-13 17:24:10 · 699 阅读 · 0 评论 -
[dx12]Flip, VSync 和 GSync
windows平台上,vsync和flip常常是一个剪不断理还乱的东西,时不时就会有新的问题处理;而且随着时代的发展,概念也在不停地演变,包括这里我们就常用的windows平台上的情况做一个记录。原创 2022-08-29 11:18:05 · 3400 阅读 · 0 评论 -
[gdc19]《战神4》的风力&植被交互系统
《战神4》中的风力以及植被(其实还有其他很多mesh)交互系统,对于渲染栩栩如生的世界,烘托战斗气氛起到很好的作用。战神4在GDC19上的分享,一方面展现了3A且完备的品质,一方面也分享了非常系统化的方案,学习起来非常享受,:)先看下风力的交互品质:https://www.bilibili.com/video/av60091567这个flowmap的云也很酷https://www.bi...原创 2019-07-21 16:17:12 · 1366 阅读 · 1 评论 -
[gdc19]《蜘蛛侠》开发解读(4/4)--研发过程和哲学
3A游戏意味着变化即便是业界老兵insomniac,在制作spiderman的时候,也会出现制作到一半的时候,有非常大的改动。包括不限于:物件量和规格大幅度改变:15年到17年,每个tile的物件量和规格都在不停地变化新的玩法系统:墙上爬行,表演系统,更多更复杂的任务新的模式:拍照等等3A游戏意味着什么,意味着你要尽可能的在有限的开发周期里发挥到极限,这里有主观因素和客观因素:...原创 2019-07-19 21:49:16 · 569 阅读 · 1 评论 -
[sig17]《使命召唤:无限战争》的多层材质技术
《使命召唤:无限战争》的多层材质技术,siggraph17,activision.infinity ward带来。PBR的发展趋势从activision在cod上面做的一些工作上看,可以明显的看到PBR的发展趋势,从最开始的把基于物理模型,追求数学正确到现在的引入更多的材质属性,更多的光照模型以及他们之间的更加复杂的组合,从表达能力上更加接近真实世界,业内视角就是更加接近电影的渲染。un...原创 2018-11-25 21:59:30 · 4904 阅读 · 3 评论 -
[sig16]《神秘海域4》中的volumetric-based materials
siggraph16,naughtydog的TA带来的很不错的处理衣服和头发的volumetric渲染的文章。项目经验和心路历程实际在我接触到的大部分开发者眼里,大家会觉得naughtydog这样的引领业界的公司,一定是从“一个英明决策到另一个英明决策”,然后砍瓜切菜般一A到底的把牛逼游戏做出来。实际上作者在本文中也反复提及,中间走了不少弯路,有错误的预判,有失败的尝试,中间一度感到失去希...原创 2018-11-19 00:35:20 · 2272 阅读 · 2 评论 -
[engine]视频中的平滑感
smoothVideo https://frames-per-second.appspot.com/最近看画面流畅相关的内容,这个文章蛮好的;简单讲,就是帧数高有适当的motion blur会让画面流畅感上升;尤其是里面的对比视频就比较好,可以有一个很直观的感受;这里也直接文字记录下:Frame rate and motion blur are important a...原创 2022-03-31 11:42:03 · 978 阅读 · 0 评论 -
[gdc19]《战神4》中的全局光照技术
战神4作为18年的GameOfYear,可以说各种牛逼。Sony Santa Monica 能够将游戏行业里的旗舰游戏继续推进,并且在品质,设计上都有创新,实属不易。过程中也是比较曲折,难怪主创看到项目最后成功忍不住泪奔。这里是全局光照技术的呈现,简单说间接光照在GIVolume+NormalizeEnvMap上终于比较成熟了(《战神4》《蜘蛛侠》都类似做法了),比lightmap有比较明...原创 2019-07-20 22:08:27 · 3128 阅读 · 1 评论 -
[gdc19]《蜘蛛侠》开发解读(3/4)--Runtime篇
这里统一列一下runtime部分,比较犀利&有特点的是:streaming策略荡蛛丝一套动作系统品质不错,但也就中规中矩的是:渲染pipeline各种布料,表情等等streaming策略在文件组织方式上稍微特别一点的就是,有一个zone的概念;移动速度最高是32m/s模型组织方式:有了良好的组织方式之后,快速移动的时候要load的东西就大大减少了imposte...原创 2019-07-19 21:13:25 · 585 阅读 · 1 评论 -
fullscreen mode and windowed mode
本文汇总介绍关于exclusive fullscreen(真全屏)和windowed mode(窗口模式包括无边框)方面的信息。直接上图,这里对比下大的不同,真全屏的话相对来说两个巨大优势:直接把backbuffer显示到桌面,已经是最少的copy了显存独占,这个对于显存量比较小的游戏来说特别的重要,实际游戏运行中,会出现driver在调度显存的情况,这种往往以paging的方式出现一...原创 2018-10-02 14:42:13 · 8865 阅读 · 1 评论 -
[gdc19]《蜘蛛侠》开发解读(2/4)--工具篇
在《蜘蛛侠》中,工具对于游戏的品质可以说是愈发重要,说是和runtime相提并论也不过分,也正是工具的出色发挥,能支撑spiderman的优秀品质。这里主要谈三个方面:houdini流水线来生成场景以及细节lod&光照编辑器升级历史houdini流水线从gr开始,houdini近几年谈的比较多了。spiderman可以说用的比较重度,覆盖的范围非常的广,可以说主体都覆盖...原创 2019-07-17 17:52:39 · 736 阅读 · 1 评论 -
[gdc19]《蜘蛛侠》开发解读(1/4)--overview
如果让我来选GDC19最喜欢最牛的系列,那么毫不犹豫就是《蜘蛛侠》系列了。起开发商insomniac也是我最喜欢的开发商之一,成立于1994年,绝对的业界老兵,有不错的作品(虽然特著名的还是不多),技术很是不错,而且乐于分享,我个人的开发过程中真是学了很多,看下它的作品:在GDC19上,insomniac几乎把spiderman开发的方方面面都和大家做了分享,真的是要点一个大大的赞!!解读...原创 2019-07-09 22:34:22 · 630 阅读 · 0 评论 -
dx12的misc记录
会持续更新pix工具dx12专享,给力多了,但是有时候会有莫名的问题,需要重启原创 2019-05-03 14:53:18 · 583 阅读 · 3 评论 -
[gdc20]Fast Denoising With Self Stabilizing Recurrent Blurs
gdc20上nvidia带来,整体上是对于metro gdc19的在denoise方面(地铁中的光追GI)的延续和持续的改进,在大思路比较近似的情况下,在从整体到细节上做了提升;研究的工作也比较细致,读起来很有感觉;overview整体上是一个denoiser,用于使用monte carlo做ray tracing然后denoise的情况(而不是类似surfel based的技术);在space&temporal上面的weight选择上,结合业内的技术做法,有很多的改进综合,效率和效果都.原创 2022-05-04 12:13:26 · 1502 阅读 · 0 评论 -
源自视网膜细胞的poisson disk distribution
在渲染中我们在做各种up sampling的时候,会常常使用poisson disk distribution。常常来说,我们就知道这个东东效果很好,就作为一个“黑盒”工具来使用,和高斯blur有点像,反正就用了。那这个poisson disk distribution到底是什么,为何有这样的特性呢?简单人话poisson disk distribution就受灵长类的视网膜细胞的分布启发得来的一种分布。在做up sample的时候,以这样的方式来分布,正好契合视网膜细胞的特点,会被视觉系统感受.原创 2022-05-03 20:55:17 · 1467 阅读 · 0 评论 -
[gdc22]<Horizon Forbidden West>的DeferredTexture技术
overview:visibility buffervisibility buffer其实出来很长时间了,近期的话通过nanite被大家熟知;其实这个有很多变种,如文章中所列:intel原版dawn engine(eidos)ue5activision都有不同的做法;总的说来就是开始渲染是一个比传统gbuffer小的多的visibility buffer,仅保存primitive id等少量信息,贴图等一概不读;然后再来一个pass,把各种复杂信息补上,输出gbuffer或者直接.原创 2022-04-17 22:35:18 · 1838 阅读 · 1 评论 -
[engine]加载速度拉满的direct storage
ps5给人很大亮眼的地方就是超快的硬盘,的确加载速度也是最近游戏硬件猛烈升级的重要领域;刚好最近gdc22中ForSpoken的share中也聊到了DirectStorage,终于pc上也可以开始享受加载速度提升的快乐了;时间线19年nvidia就在high performance computing那部分,cuda里面提出了GPUDirectStorage...原创 2022-03-27 22:55:19 · 5337 阅读 · 2 评论 -
FlatBuffer
https://www.youtube.com/watch?v=olmL1fUnQAQgoogle在gdc15上的一个talk做的事情:提供一套支持schema定义的数据存储然后数据是内存友好的直接排列,速度和内存消耗都很小(这个是核心优势)read only适用的区域:如果系统中已经有了一套serialize系统了,那么就没什么必要,meta定义和schema本质是一个东西,这块就重复了,自己做成bin格式直接读就好(顶多flatbuffer代码一些设计模式有借鉴意义)没有meta原创 2022-03-03 09:36:51 · 1686 阅读 · 0 评论 -
进程间资源共享&通信
一般可以有这样一些方式:IPC默认的就是指IPChttps://en.wikipedia.org/wiki/Inter-process_communication这里有若干方式,主要类型:socket:网络message:消息shared memory :共享内存pipe这里shared memory在资源共享方面是用的比较多的;比如服务器的一些核心数据就是放在shared memory中,这样process down掉,也可以立即重启而不会丢失;图形资源这个一般是到图形领域的部原创 2022-03-02 10:03:03 · 1744 阅读 · 0 评论 -
[gdc20]control的可破坏环境技术
gdc20, 由remedy的特效主美 johannes richter带来;原文在youtube上是公开的:https://www.youtube.com/watch?v=kODJsQGXanU单从最终表现上来看,应该说是近几年,小规模破坏品质做的很不错的案例了:而且参与开发的人也不多1-3人,还在芬兰开发,可见是一个非常实用的技术和流程;overview整体的技术是:houdini里做模型预切以及物理属性setup实时做模拟模型之间有层级以及通过joints来连接(这里join.原创 2021-06-14 18:36:14 · 791 阅读 · 1 评论 -
[sig20]对马岛之魂的渲染技术(3/3)
这里覆盖的是skin shading和detail map相关skin shadingpre integrated skin shading在infamous阶段,sucker punch使用了pre integrated skin shading, 这个细节可以看[gpu pro2]pre integrated skin shading一张图看就是这个:dot(n, l)就是normal和light的dot1/r就是曲率这个做法不依赖deferred shading,也很适合手游;d原创 2021-02-18 23:07:05 · 928 阅读 · 0 评论 -
[sig20]对马岛之魂的渲染技术(2/3)
这里的实现了一个可以用来渲染绒布材质的,sucker punch称为anisotropic aspertiy scattering的brdf;同样也可以认为是:毛绒绒布。。。这类的材质;具体把材质列出来这样的:在对马岛这里实际应用的是苔藓类的材质,看起来是一个产品化非常不足的一个技术,从实用角度看,还匹配不上所付出的研究,可能后续有一些绒布材质更好这里原来的sucker punch的绒布材质是fresnel+wrap lighting做的;后来也参考了ready at dawn(.原创 2021-02-17 23:28:27 · 626 阅读 · 0 评论 -
[sig20]对马岛之魂的渲染技术(1/3)
2020年发售的《对马岛之魂》可以说给行业带来不小的惊喜,也收到玩家的很大的喜爱;开发商sucker punch,在对马岛之前的代表作是infamous系列(这个系列各种特技其实也挺赞的),是一个美国游戏公司;公司规模巅峰时期是160人,25qa,ppt里看起来是6个渲染程序,这个规模放在国内已经是“小团队”;销量超过500万份,并且tga上获得best art direction;艺术方向本身是:stylized realism;所基于的技术本身就是非常的物理;本文是含金量不错的一篇文章,覆盖.原创 2021-02-17 20:26:01 · 1512 阅读 · 0 评论 -
[acm15]the sggx microflake distribution
introacm transaction on graphics 15的一个文章;https://dl.acm.org/doi/10.1145/2766988整体偏学术,主要是对马岛的siggraph20的course中有引用,顺着看过来,还挺有意思;论文本身有点晦涩,看起来有点枯燥,看这个视频比较好:https://www.bilibili.com/video/BV1MK411P71x?from=search&seid=10817193380449311591笔者还加了些注释说明。.原创 2020-12-06 23:15:14 · 773 阅读 · 0 评论 -
物理正确的lookdev[2/2]--物理矫正
有了lookdev环境,接下来就是制作高质量的物件和材质了;这里我们可以通过两部分来保证:过程正确,使用真实物件的材质来驱动开发,保证整个过程的“尽可能”的物理正确结果正确,通过最终结果和真实物件的准确匹配来做到这点然后在实际开发过程中,出于效率考虑,在“过程&结果”正确以及物理正确的原则上,可以增加一些灵活性在其中。过程正确简单讲,就是材质的制作要物理正确,在关键属性上要围绕在材质本身的基本物理属性上。比如我们常用的游戏内的简化版的disney principle brdf模.原创 2020-12-06 11:51:42 · 937 阅读 · 0 评论 -
物理正确的lookdev[1/2]--光照环境
lookdev在电影cg和游戏行业用的比较多,准确定义可以google下,对游戏开发过程中来说,主要是美术在制作物件材质时候,在标准光照环境下,查看以及调整作品到符合要求(最常见的要求就是photo realistic)。游戏开发中的lookdev是从影视行业发展来的,所以很多地方有继承,但是有些地方也是可以简化,这部分先聊下lookdev的环境。如置顶图中所示,这个就是一个典型的lookdev的环境,一个标准的室内的光照环境,中间是物件,旁边是灰球铬球以及色板。在物理正确的流水线中,我们可以确保,.原创 2020-12-04 08:52:10 · 2701 阅读 · 1 评论 -
RayTracingInAction[2/3]--地铁中的光追GI(gdc19)
gdc19年,一直开发地铁系列的4A games;4A games是成立于2006年,乌克兰开发商,一直做metro系列游戏,三个大版本,中间两个重制版。技术上一直metro是比较激进的,是硬件厂商show技术的常客,这次raytracing也没有缺席...原创 2020-05-06 16:00:26 · 1020 阅读 · 1 评论 -
RayTracingInAction[1/3]--overview
距离这个置顶图上线的gdc18已经过去两年了,raytracing在多个产品中逐渐开始落地,有比较轻量级的战地的反射,cod的shadow,也有在地铁中的GlobalIllumination方案。很高兴看到业界逐渐开始在这些方面落地,目前nvidia的raytracing方面进展蛮好,基于amd的gpu的两代console上也是有raytracing的支持,not bad。raytraci...原创 2020-05-05 16:06:08 · 1254 阅读 · 0 评论 -
[gdc20]ISPC in UnrealEngine4
2020GDC上,ispc也是intel重点推进的技术,这里是在ue中的应用。ISPCISPC是 Implicit SPMD(single program multiple data) Program Compiler的缩写。可以理解为这是一个面向cpu的shader。ispc的是一个脚本,然后要ispc compiler编译一下,然后再build到c++代码中(相比gpu shader...原创 2020-05-04 08:00:31 · 1320 阅读 · 0 评论 -
[gdc20]魔兽世界中的VRS应用
gdc2020, blizzard带来在魔兽世界中的vrs的应用。顺便也把intel的专门支持VRS的一篇GDC talk也带上了。VariableRateShadingVRS是VariableRateShading的简写,最初是用于VR设备。后来在vulkan,dx12中成为标配,陆续在各种GPU里也有支持,也是dx12相比dx11重要的技术优势。可以提供在不同的区域以不同的比例来做...原创 2020-05-03 18:34:25 · 1156 阅读 · 0 评论 -
[gdc20]6 years of optimizing world of tanks
gdc20上为数不多的讲完整项目的talk,和intel一起做的,所以谈intel的技术偏多一些,谈了坦克世界6年的优化经验,作为从业者来说,其中的历程比文中的一些技术更加宝贵。开发商是白俄罗斯的游戏开发商“WarGaming”,旗下有战舰世界等战争游戏(和studio名字还真是相当匹配)。CoreEngine的6年的升级之路坦克世界用的是in house的core engine,于201...原创 2020-05-03 13:50:52 · 678 阅读 · 0 评论 -
dx12的resource barrier
referenceUsing Resource Barriers to Synchronize Resource States in Direct3D 12原创 2020-03-26 20:27:07 · 2918 阅读 · 0 评论 -
dxgi的概念以及奇怪问题处理
dxgi:Microsoft DirectX Graphics Infrastructure (DXGI) 是处理与kernal driver以及系统硬件的交互。与d3d之间的关系可以从图中看到。这里与dxgi最常见的几个事情:adapter:gpuoutput:显示器等一些swap chain比如《无限法则》最近实现的feature里就可以罗列系统中的显卡,以及玩家可以自己决...原创 2019-11-16 20:43:02 · 3648 阅读 · 0 评论 -
Siggraph2019 RealTimeRender“观影推荐”
siggraph的分量自不多说,每年paper一放出来,心情仿佛是《星际穿越》上映一样,何况siggraph年年有呢!links:http://advances.realtimerendering.com/s2019/index.htm这里列一下siggraph2019的paper阅读推荐,本来这里的内容是我11月初时候团队内部技术分享的一次课,这里就也用文章写出来。面向的同学是有一定的...原创 2019-11-12 09:06:06 · 1140 阅读 · 2 评论 -
[siggraph19]《荒野大镖客2》的大气云雾技术(4/4)
第四部分,也是ppt中的第三部分,integration,也就是把计算好的光照等和场景集成起来。这里是一个integration完整的示意图,我们接下来可以一步步看看。sky scatteringsky scattering算法上是Precomputed Atmospheric Scattering,三个特点:考虑了earth shadow分帧实时更新的存放在32x16x32的L...原创 2019-11-11 13:57:20 · 914 阅读 · 0 评论 -
[siggraph19]《荒野大镖客2》的大气云雾技术(3/4)
froxelfroxel也是最近开始出现的一个新名词:frustum voxel;也是用voxel的形式,存储低精度的场景volume信息,然后用于低频信息渲染,比如scattering lighting;《荒野大镖客2》中的存了三种信息:shadowmateriallighting : 结合前两者来计算shadow volume,注意这个不是阴影算法的shadow volu...原创 2019-11-11 13:23:57 · 1131 阅读 · 1 评论 -
[siggraph19]《荒野大镖客2》的大气云雾技术(2/4)
接下来我们看第二部分,这部分主要谈渲染部分,包括scattering 和lighting的render,相对内容也多一些。voxel+raymarching处理大气效果时候,为了兼顾近处的精度和场景的宏大,近处使用了...原创 2019-11-10 23:37:45 · 1369 阅读 · 0 评论