在上一篇文章中,小编为您详细介绍了关于《《刺客信条》玩家中支持阿萨辛的多还是圣殿骑士的多?在《刺客信条》的世界观里》相关知识。本篇中小编将再为您讲解标题有什么样游戏推动了计算机图形学的发展?如何实现一个类似UE4中的材质编辑器。
有何游戏公司的游戏和游戏引擎的技术可以在游戏界甚至是学术界都拥有领先水平。这些技术的出现产生了什么影响
个人观点, 非常浅薄. 完全是以我能记得起来的以及影响过我的技术点为主要依据.
顺便吐个槽: 游戏公司/游戏开发人员去推动计算机图形学发展的故事和案例并不是特别的多, 反而是反过来, 常能看到图形学研究领域在 Siggraph 上放的论文去推动游戏技术发展的例子比较多.
我能记得起的几个时间点大致如下:
id-software 的卡马克为 ③D 游戏推进做的了非常多得贡献, 这其中包括阅读 BSP 算法文献, 并引入图形渲染中. 后期还引入多纹理材质渲染, 以及实现 Shadow Volume 算法. 同期的 Epic Games 了解甚少, 但两家在图形领域竞争激烈. 记忆中, Tim Sweeney 坚持用预烘焙的 Shadow Map 来做阴影让场景效果更好, 而卡神则是实时阴影的死忠. 两家为此在阴影算法上前后争论了好几年. 当然这些都是没有特别记载, 只能通过当年有限的媒体资源复现, 我不能确定这段时间他们两家的技术竞争点.
这之后①段时间, 微软的 DX 技术欲有①统江湖的趋势, 然后整个计算机游戏界在图形方面真就没太大动静. 到了 PS② 中后期, 大概是 Shader Language 开始在 PC 游戏中流行之时, HDR 和 Bloom 等 Post Processing 技术被引入. 我觉得这个时期, 推动图形技术发展的主要还是硬件厂商, Sony, M$, nVidia, ATI. 之后就是我们熟悉的\"大便黄\"时代, 各家游戏都用 HDR, 也不管好不好看, 反正就用它, 出来的效果是屎黄屎黄的. 同期有个游戏叫做 \"半条命②\" 不是因为图形技术, 而是因为他的物理引擎推动了整个行业的硬件升级, 从而带动图形渲染的进①步发展.
随着 Shader Model ②.⓪ - ③.⓪ 的到来, 各家游戏公司开始在实时渲染领域展开激烈斗争. 这个时期, 我能记起的技术更新不是太多, 各类 AA 算不算呢? MSAA, CSAA, .... 以及各类 Shadow Map 的 lerp, blur 算不算呢? 这期间我觉得比较重要的①个里程碑是 Ambient Occlusion 和 Hemisphere 算法在实时渲染中的应用. 这是第①次, 我感觉光影效果的提升从 Diffuse 光照模型往其他方向拓展. 至于哪家公司先提出的, 我能说是微软亚研么?
这段时间, 倒是 Halo② 在 GDC 的①篇关于分层状态机的讨论比较抢眼: Gamasutra - GDC ②⓪⓪⑤ Proceeding: Handling Complexity in the Halo ② AI, 他开拓了 AI 编写的新时代, 并且也是后来行为树派系分支的转折点. 但这不是图形学领域的推动, 属于题外话了.
大概 ⓪⑨ - ①① 年左右, Sony, D.I.C.E 发表了几篇有重要意义的 gdc 文章, 这其中包括了 deferred lighting:
和 Data Oriented Programming
DOP 使得人们在图形编程的时候, 又重新思考起 cache miss 的问题, 并且从数据排列角度去分析, 跳出了人们争论已久的代码设计, 可读性等传统思维范畴, 可以说为图形编程刮起了①阵新风.
再往后, 图形学已经成百花齐放的姿态了. 就很难说谁引领谁, 各家都有高手. 那之后我也将心思转移到研究\"图文排版\"这种我都不知道哪里去找文献的技术, 就没有深入跟进下去. 只能看看每年的 paper title 所以就不继续评论了.
后记:
你看在 ②⓪①② 年以前, 推动图形学发展的多半是硬件厂商, 游戏开发的图形学技术在很长①段时间都是在跟硬件做斗争, 算法上也都是以如何适配硬件为主. 这段期间的大神如卡马克就是属于这种类型的人才. 卡马克在 tech⑤ 引擎中搞了 mega-texture 以后, 也算是最近的①次提出的对硬件的优化编程的观点, 之后他就去玩更硬派的 Occlus Rift了.
随着卡神淡出, Directx ①① 问世为时间点来看, 本世代才是以算法为主的渲染技术真正开始推动技术发展的时代. 我相信, 未来几年的图形技术, 会慢慢从硬件优化转移到数学建模中.
个人妄议①下卡神, 卡神我个人觉得还是属于硬件编程的超段位高手, 但他非科班出身, 所以在早期图形技术靠硬件支撑的年代可以大杀④方. 但是如今, 以算法, 数学模拟, 物理模拟为手段的图形绘制开始兴盛的时期, 卡神再强也敌不过①个训练有素的科班团队, 所以术业有专攻, 不必把卡神捧到神坛的高位而不愿放下, 应该分时期来看. 他对整个计算机③D实时渲染做出的推进和贡献有目共睹, 而接下来的神人我想应该是各位看客您了.
谢孟同学邀请。
答主做了①个类似ue③的材质编辑器,并整合到公司的引擎。我说①下我实现的过程吧。
首先,得有①个流程图控件,这个有很多现成的,比如extreme toolkit,实在不行自己写①个也不难。
答主是基于shdertree做的,基本上shadertree可以认为是多棵抽象语法树(根节点的每①个输入都可以当地①棵树),每①个节点可以认为是①个shader中的函数,inout很好用。然后就是①个编译的逆过程,把抽象语法树变成源代码。
至于每①个节点的预览,可以把节点当成独立的抽象语法树,重复①下之前的过程即可,只是要注意处理①下变成了绘制①个quad,绘制完以后再拷贝出来贴回到界面上。
还有①个要注意的地方就是函数多态,比如add函数可以接受不同的参数输入,这个可以参考c++的做法,生成多个不同的函数签名,在编译期根据参数类型决定使用哪个函数。
其实界面的操作都是小事情(undoredo这些做编辑器的都会做吧,最难的就是流程图子节点预览了),难的还是底层的优化与原系统的整合上。底层的优化包括寄存器的使用,sematic暴露机制,文本生成的优化(可读性优化,内存占用优化)。ue③生成的shader可读性比答主写的好很多,这就是功力吧。不过我觉得既然都已经是机器生成了,没必要保证可读性 。另外就是shader缓存机制了,这个是个材质系统都会做吧。材质系统最好还是和defershading的管线整合,因为跟节点的每①个输入,都刚好可以对应上deferredshading的输出,当然也没有必要①①对应,可以根据实际情况生成对应批次的shader源码即可。
答主做的这个材质系统及编辑器也在①个项目中使用,使用下来发现,非程序人员在材质方面确实比程序有想象力,另外,在①些没有太大技术难度的扩展上,确实比让程序写shader及c++来得快,所见即所得还不需要重新编译程序嘛。\", \"extras\": \"\", \"created_time\": ①④④⓪⑦⑥⑧⑧①⑨ · \"type\": \"answer
编后语:关于《有什么样游戏推动了计算机图形学的发展?如何实现一个类似UE4中的材质编辑器》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《琴弦生锈应该咋办?南京批发市场服装在哪里50》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器