Unity中Shader编译目标级别

本文详细介绍了Unity中Shader的Shader Model及其编译目标级别,包括#pragma target和#pragma require的用法,用于根据不同的平台特性选择合适的Shader功能。通过示例代码展示了如何在Shader中进行条件判断,以实现不同配置平台的支持。同时,提到了Shader LOD控制来调整Shader的质量和性能。
摘要由CSDN通过智能技术生成

文章目录

  • 前言
  • 一、Shader Model
  • 二、Shader编译目标级别
    • 法1: #pragma target 3.0
    • 法2:#pragma require integers geometry
  • 三、测试代码


前言

针对不同平台的特性,所做的一些功能


一、Shader Model

  • ShaderModel 由微软提出,要求显卡厂商按 SM 级别提供对应的功能与指令支持
  • 不同的SM包含不同的指令集与Shader规范
  • 高版本的SM时低版本的超集
  • 微软Shader帮助文档

二、Shader编译目标级别

法1: #pragma target 3.0

Shader编绎目标级别,默认值为2.5
可以通过#if (SHADER_TARGET < 30)来做分支判断
● 2.0:
● 2.5: derivatives
● 3.0: 2.5 + interpolators10 + samplelod + fragcoord
● 3.5(相当于OpenGL ES3.0): 3.0 + interpolators15 + mrt4 + integers + 2darray + instancing
● 4.0: 3.5 + geometry
● 4.5(相当于OpenGL ES3.1): 3.5 + compute + randomwrite
● 4.6: 4.0 + cubearray + tesshw + te

  • 52
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楠溪泽岸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值