Unity中Shader编译目标渲染器

这篇具有很好参考价值的文章主要介绍了Unity中Shader编译目标渲染器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

Unity中Shader编译到目标渲染器


一、Unity在打包时,会把Shader编译成不同平台对应的代码

Unity中Shader编译目标渲染器,Unity,unity,游戏引擎

我们在状态栏,可以看见我们目前所处于的目标平台

Unity中Shader编译目标渲染器,Unity,unity,游戏引擎


二、在Unity中,怎么指定目标平台

1、#pragma only_renderers

#pragma only_renderers
仅编译指定平台的Shader

  1. d3d11 - Direct3D 11/12
  2. glcore - OpenGL 3.x/4.x
  3. gles - OpenGL ES 2.0
  4. gles3 - OpenGL ES 3.x
  5. metal - iOS/Mac Metal
  6. vulkan - Vulkan
  7. d3d11_9x - Direct3D 11 9.x功能级别,通常在WSA平台上使用
  8. xboxone - Xbox One
  9. ps4 - PlayStation 4
  10. psp2 - PlayStation Vita
  11. n3ds - Nintendo 3DS
  12. wiiu - Nintendo Wii U

2、#pragma exclude_renderers

剔除掉指定平台的相关代码

  1. d3d11 - Direct3D 11/12
  2. glcore - OpenGL 3.x/4.x
  3. gles - OpenGL ES 2.0
  4. gles3 - OpenGL ES 3.x
  5. metal - iOS/Mac Metal
  6. vulkan - Vulkan
  7. d3d11_9x - Direct3D 11 9.x功能级别,通常在WSA平台上使用
  8. xboxone - Xbox One
  9. ps4 - PlayStation 4
  10. psp2 - PlayStation Vita
  11. n3ds - Nintendo 3DS
  12. wiiu - Nintendo Wii U

三、我们测试一下看看效果

1、 我当前处于 DX11 平台,我们修改为只渲染 IOS/Mac 平台(Metal)

//仅编译指定目标平台
#pragma only_renderers metal

我们会发现,Unity渲染丢失了,呈现洋葱紫
Unity中Shader编译目标渲染器,Unity,unity,游戏引擎

2、我们剔除一些平台,看看剔除后,编译的代码有没有减少

剔除前(945行):
Unity中Shader编译目标渲染器,Unity,unity,游戏引擎

剔除gles后(774行):

Unity中Shader编译目标渲染器,Unity,unity,游戏引擎


四、编译目标渲染器优化的好处

这样优化,并不能提高游戏在运行时的性能,但是可以节省打包编译时的时间,和编译文件所占的存储空间。文章来源地址https://www.toymoban.com/news/detail-754404.html

到了这里,关于Unity中Shader编译目标渲染器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【unity shader】水体渲染基础-水下透视效果

    接下来是水体渲染基础的最后一篇,通过水面看到水下的物体,并呈现深度效果。 我们直接搭一个小场景。 增加水面,赋予uv变形的水面材质,并增加透明度的设置。 水体会吸收光线,所以真实的水体并不是完全透明的。此外,水体对不同频率的光吸收率不同,蓝光被吸收

    2024年03月14日
    浏览(53)
  • Unity Shader从内置渲染管线迁移到URP

    Unity 在URP中将shader更新为了HLSL语言,使用build-in shader 无法直接在URP中使用 这里讲一下关于shader的更新方法 参考 From Built-in to URP Tags 添加 \\\"RenderPipeline\\\" = \\\"UniversalPipeline\\\" CGPROGRAM ENDCG 改变为 HLSLPROGRAM ENDHLSL #include \\\"UnityCG.cginc\\\" 更改为 #include \\\"Packages/com.unity.render-pipelines.universal/Sh

    2024年02月05日
    浏览(44)
  • 【unity shader】水体渲染基础-通过顶点偏移实现波浪

    为了表示宽广水域中的水体变化,往往需要进行水平面的整体运动变化。即对平面的顶点进行位移,以实现波浪的起伏效果。现在对于波浪的构成,如快速傅里叶变换和波浪的统计学理论,在游戏中的应用也相对完善。今天主要是做一个基础的波浪实现:正弦波形。 1.1. 基础

    2024年02月03日
    浏览(44)
  • unity build-in 渲染管线升级urp渲染 shader篇

            由于工作原因需要对项目进行升级,从build-in渲染管线升级到urp渲染管线,我自己对应的unity版本是2018.版本升级到2021.3.2版本,由于最近几年unity版本升级比较快,个体版本差异有所不同,如遇与版本不一致问题敬请谅解。以下是根据官网等系列网站整理的内容

    2023年04月16日
    浏览(55)
  • Unity大面积草地渲染——1、Shader控制一棵草的渲染

    目录 1、Shader控制一棵草的渲染 2、草地的动态交互 3、使用GPUInstancing渲染大面积的草 4、对大面积草地进行区域剔除和显示等级设置 大家好,我是阿赵。 这里开始讲大面积草地渲染的第一个部分,一棵草的渲染。按照惯例,完整shader在最后。前面是原理的介绍。 这里我自己

    2024年02月12日
    浏览(43)
  • Unity中的渲染优化技术 -- Shader入门精要学习(15)

    本章中,我们将阐述一些 Unity 中常见的优化技术。这些优化技术都是和渲染相关的,例如,使用批处理、LOD 技术等。 游戏优化不仅是程序员的工作,更需要美工人员在游戏的美术上进行一定的权衡。例如,避免使用全屏的屏幕特效,避免使用计算复杂的 Shader,减少透明混合

    2024年01月18日
    浏览(38)
  • Unity-Chan Toon Shader卡通渲染学习

    (本文记录一下从0-1复刻UTS2,持续更新中) Unity-Chan Toon Shader  2.0 (UTS2)  是一款用于图像和视频的卡通着色器,旨在满足从事卡通着色 3DCG 动画的创作者的需求。 UTS2开源项目地址: GitHub - unity3d-jp/UnityChanToonShaderVer2_Project: UnityChanToonShaderVer2 Project / v.2.0.9 Release (1)3 Bas

    2024年02月04日
    浏览(49)
  • 【unity shader】水体渲染基础-基于texture distortion的流体流动材质

    当液体静止时,它在视觉上与固体没有太大区别。 但大多数时候,我们的性能不一定支持去实现特别复杂的水物理模拟, 需要的只是在常规的静态材料的表面上让其运动起来。我们可以对网格的 UV 坐标实现动态变化,从而让表面的纹理效果实现变形的动态变化。 1.1. uv实时

    2024年02月03日
    浏览(53)
  • Unity游戏图形学 Shader结构

    openGL:SLG跨平台 =GLSL:openGL shaderlauguge DX:微软开发,性能很好,但是不能跨平台 =HLSL:high level shader language CG:微软和Nvidia公司联合开发,跨平台,基于c语言开发,性能很好 openGL、dx、cg都包含 CG和HLSL包括在 CGPROGRAM...ENDCG 语法快内 GLSL包括在 GLSLPROGRAM...ENDGLSL 语法快内 自己

    2024年02月01日
    浏览(41)
  • Unity中Shader指令优化(编译后指令解析)

    我们先读懂Shader编译后代码,才能对Shader进行合理的优化 我们目前先只编译到 D3D 平台 这是编译后的代码(我们来逐步分析):

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包