Unity Shader概念理解

(以下均为各人理解,如有错误愿指出,非常感谢)

什么是shader

单说shader,shader其实就是段(我们要自己编写的)代码。GPU通过显卡驱动可以识别出这段代码,然后通过(我们自己定义的方式)渲染将图形渲染到屏幕上。

什么是Unity shader

同样是段代码,但是是给Unity识别的代码,因此编写规则会稍有不同。Unity把识别好的代码再交给显卡驱动识别,最后渲染到屏幕上。

Unity shader为何存在

1.为了方便跨平台。咱可能做电脑游戏,也可能做手机游戏等等。windows是用DirectX解析代码,安卓是OpenGLes,不同的操作系统所运用的图形编程接口(API)是不同的,也就是说编写shader的规则是不同的。unity出于好心:“索性就按我定的规则写,我帮你们再转换到你想要的合适平台。”
2.为了方便连接。具体我还真有点忘了解释不清,建议看乐乐姐的《UnityShader入门精要》,我目前的总结也是据此基础上的总结。我的理解是就算直接编写了对应平台的shader,比如说OpenGL的shader,如果想要在Unity内渲染成功也需要自己操作连接好多不同的库,总之很麻烦。Unity等于说直接也帮忙省去了一些麻烦的步骤,当然也限制了一些操作,编写shader的自由度没那么高了,但过于自由也不全是好事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值