unity 着色器内置宏

目标平台

Macro:Target platform:
SHADER_API_D3D11Direct3D 11
SHADER_API_GLCOREDesktop OpenGL “core” (GL 3/4)
SHADER_API_GLESOpenGL ES 2.0
SHADER_API_GLES3OpenGL ES 3.0/3.1
SHADER_API_METALiOS/Mac Metal
SHADER_API_VULKANVulkan
SHADER_API_D3D11_9XDirect3D 11 “feature level 9.x” target for Universal Windows Platform
SHADER_API_PS4PlayStation 4. SHADER_API_PSSL is also defined.
SHADER_API_XBOXONEXbox One
SHADER_API_PSP2PlayStation Vita
SHADER_API_WIIUNintendo Wii U

      宏 SHADER_API_MOBILE   定义为所有的移动平台。

      此外, SHADER_TARGET_GLSL 定义为所有使用GLSL语言的平台。(对使用OpenGL/GLES 始终为真)

着色器目标模型

  SHADER_TARGET 定义了一个数值来匹配着色器目标编译模型(也就是说,与指令 #pragma target 匹配)。比如说,当编译shader 为 着色器模型3.0时,SHADER_TARGET =30。可以用来在shader中做一些额外操作。

#if SHADER_TARGET < 30
    // less than Shader model 3.0:
    // very limited Shader capabilities, do some approximation
#else
    // decent capabilities, do a better thing
#endif

Unity版本

  UNITY_VERSION包含了unity版本的数值。比如,Unity 5.0.1的 UNITY_VERSION = 501.

编译着色器阶段

  预处理宏 SHADER_STAGE_VERTEXSHADER_STAGE_FRAGMENT,SHADER_STAGE_DOMAINSHADER_STAGE_HULL

SHADER_STAGE_GEOMETRY,SHADER_STAGE_COMPUTE 在编译每个着色器阶段时定义。通常,它们在共享像素着色和计算着色之间的着色代码时很有用,以处理某些事情必须稍微不同的情况。

转载于:https://www.cnblogs.com/leiGameDesigner/p/8458604.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值