文章目录
- 前言
- 一、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