是TA(技美)。
-
0 -
3weiyun ,平台解谜和RPG爱好者
不知道怎么回事这个老问题被推送到我的timeline上了,看到上面的答案也跟不上技术发展了,就简单回答一下。
Shader就是运行在GPU中的程序,除非GPU本身被淘汰,否则Shader就会一直存在。既然是程序那显然是面向程序员的,了解gpu渲染管线和计算机图形学不是美工的任务。早期是固定渲染管线,只支持设置一些参数和做些简单计算,美工可能能完成。现代cpu支持compute shader,已经通用化,早已经脱离了单纯的图形计算功能。在新版API中,就算是特别简单的图形计算都必须提供shader,即使这个shader什么都不做,只把数据传给下一阶段。而新的DXR中更是增加了5种和光线追踪有关的Shader。
游戏引擎中的Material那些只不过是把Shader的参数暴露给了美工编辑。
-
1 -
1warmtrue ,VR游戏开发者
可预见的将来应该永远不会淘汰,定制化,高效化一直是GPU技术发展的趋势。
另外纯Shader的编写更偏程序,美术更多的是向程序提出各种要求,以及操作编辑器。
-
26琪露诺 ,游戏喜好偏软。
准确地说,shader是现代游戏程序(图形程序)里无法绕过的一个环节。
在传统GPU中,绘制的流程是固定的,利用驱动或者更高层面(DX、OpenGL)API把各种参数设置进去,然后投入数据就可以画了。在这个时代,如果要实现什么新的图形功能,都是以扩展或者补丁的方式实现的。
后来可编程的GPU管线出现了。最初是分为Vertex Shader和Pixel Shader(OpenGL里是Fragment Shader)两个可编程的部分(也就是在GPU上写代码)。前者是可以对传输进GPU的模型顶点进行变换,比如从三维空间的坐标转换到观察者眼睛里的坐标。后者可以对光栅化后的像素进行处理,比如gamma矫正、滤镜效果等等。可以看这个图:
发展到现在,除了Vertex和Fragment两种之外,还多出了对三维顶点进行几何拆分的shader,以及曲面细分的shader。可以看下面的图:
其中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被完全取代可能要等非常以后的未来了,现在还是属于游戏的必不可少的部分。
-
登录奶牛关账号即可参与讨论
{{question['follower_count']}} 个玩家关注
相关元素
相关问题
如何在立项之初选择使用Unity还是UE4?11人关注 12个回答
有哪些工具或技巧能够提升你开发游戏的效率?17人关注 3个回答
哪个引擎最适合做开放世界游戏?4人关注 4个回答
RenderMonkey这些老牌shader纷纷停止维护了,shader会被淘汰吗?
0 条评论