RenderMonkey这些老牌shader纷纷停止维护了,shader会被淘汰吗?

0 条评论


  • 26

    琪露诺游戏喜好偏软。

    Synthwave Surferfenx 等 26人赞同

    准确地说,shader是现代游戏程序(图形程序)里无法绕过的一个环节。

    在传统GPU中,绘制的流程是固定的,利用驱动或者更高层面(DX、OpenGL)API把各种参数设置进去,然后投入数据就可以画了。在这个时代,如果要实现什么新的图形功能,都是以扩展或者补丁的方式实现的。

    后来可编程的GPU管线出现了。最初是分为Vertex Shader和Pixel Shader(OpenGL里是Fragment Shader)两个可编程的部分(也就是在GPU上写代码)。前者是可以对传输进GPU的模型顶点进行变换,比如从三维空间的坐标转换到观察者眼睛里的坐标。后者可以对光栅化后的像素进行处理,比如gamma矫正、滤镜效果等等。可以看这个图:

    Graphics3D_Pipe.png?utm_source=cowlevel

    发展到现在,除了Vertex和Fragment两种之外,还多出了对三维顶点进行几何拆分的shader,以及曲面细分的shader。可以看下面的图:

    5ff44cb12644f83851e9d9052bc47136.jpeg

    其中Hull Shader,Tessellator,Domain Shader都是负责曲面细分相关的工作,而Geometry Shader用来扩展形状、创建新的顶点。

    RenderMonkey这些属于Shader编辑用的工具,它虽然停止维护了,但是Shader依然在发挥作用。另外,也看到有不少新的工具出现,比如unity里的(第三方?)shader编辑工具,以及visual studio也有shader设计器了。

    另外说到shader被淘汰,那个时候可能是GPGPU(通用GPU)普及的时候吧。现在的CUDA、OpenCL一类的工具可以用GPU进行像普通CPU代码一样的计算,但对于专门的图形方面,GPU的管线有不少优化的地方,而GPGPU可能会有额外的开销。所以shader被完全取代可能要等非常以后的未来了,现在还是属于游戏的必不可少的部分。

    发布于 2016-12-22 17:59:54 1 条评论


  • 3

    weiyun平台解谜和RPG爱好者

    难瓜细拉kelvin34501 赞同

    不知道怎么回事这个老问题被推送到我的timeline上了,看到上面的答案也跟不上技术发展了,就简单回答一下。

    Shader就是运行在GPU中的程序,除非GPU本身被淘汰,否则Shader就会一直存在。既然是程序那显然是面向程序员的,了解gpu渲染管线和计算机图形学不是美工的任务。早期是固定渲染管线,只支持设置一些参数和做些简单计算,美工可能能完成。现代cpu支持compute shader,已经通用化,早已经脱离了单纯的图形计算功能。在新版API中,就算是特别简单的图形计算都必须提供shader,即使这个shader什么都不做,只把数据传给下一阶段。而新的DXR中更是增加了5种和光线追踪有关的Shader。

    a90a47be0079dca2d5f64bbdcb201ac7.jpg

    游戏引擎中的Material那些只不过是把Shader的参数暴露给了美工编辑。

    发布于 2018-11-05 09:41:54 0 条评论


  • 1

    大城小胖不给自己点赞就是一种犯罪,会被打成小胖

    大伟 赞同
    标题里的问题: 我的答案是『不会』 正文里的『问题』: 美术设计各种视觉效果。程序决定哪些效果用shader哪些用其他技术。 对于大多数美术来说,他们只负责设计效果和提供美术素材,并不关心(也不了解)shader。
    发布于 2017-07-05 18:37:48 0 条评论


  • 1

    warmtrueVR游戏开发者

    可预见的将来应该永远不会淘汰,定制化,高效化一直是GPU技术发展的趋势。

    另外纯Shader的编写更偏程序,美术更多的是向程序提出各种要求,以及操作编辑器。

    发布于 2016-12-26 17:57:47 0 条评论


  • 0

    XenoAmessXenoAmess

    是TA(技美)。

    更新于 2019-01-25 00:08:23 0 条评论

  • 登录奶牛关账号即可参与讨论