在Unity 3D中,shader是何时编译的,在何时加载入显存中的

在Unity 3D中,shader是何时编译的,在何时加载入显存中的,第1张

ditor中:修改shader并保存时立即编译。

Runtime下,无论哪个平台,都是在进入场景时加载shader object内容到内存,但是首次实际调用渲染时才编译,编译完成之后会cache下来。

有两种优化方法:

1 调用ShaderWarmupAllShaders(),自动编译该场景中用到的所有shader。该方法在Unity5中已经废弃。

2 在项目设置的GraphicsSettings中,可以导出ShaderVariantCollection,并在Preloaded Shader中导入,这样的话就可以在载入场景时一并编译需要预加载的shader,这样的优化在移动平台上用得比较多。

原理上基本是一种

都是把2D图像映射到一个平面网格上,然后让这个网格始终面向摄像机,同时摄像机的投影模式为平行投影(没有近大远小)

实际实现上有挺多的,比如可以在3D模式下自己实现上述原理,还可以使用assetstore的一些2D游戏制作插件,还可以使用unity3d自带的2D模式制作。

以上就是关于在Unity 3D中,shader是何时编译的,在何时加载入显存中的全部的内容,包括:在Unity 3D中,shader是何时编译的,在何时加载入显存中的、求教大神,unity小游戏怎么简单和数据库连接、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9782636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存