zoukankan      html  css  js  c++  java
  • unity 着色器内置宏

    目标平台

    Macro:Target platform:
    SHADER_API_D3D11 Direct3D 11
    SHADER_API_GLCORE Desktop OpenGL “core” (GL 3/4)
    SHADER_API_GLES OpenGL ES 2.0
    SHADER_API_GLES3 OpenGL ES 3.0/3.1
    SHADER_API_METAL iOS/Mac Metal
    SHADER_API_VULKAN Vulkan
    SHADER_API_D3D11_9X Direct3D 11 “feature level 9.x” target for Universal Windows Platform
    SHADER_API_PS4 PlayStation 4. SHADER_API_PSSL is also defined.
    SHADER_API_XBOXONE Xbox One
    SHADER_API_PSP2 PlayStation Vita
    SHADER_API_WIIU Nintendo 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 在编译每个着色器阶段时定义。通常,它们在共享像素着色和计算着色之间的着色代码时很有用,以处理某些事情必须稍微不同的情况。

  • 相关阅读:
    懒惰了
    android环境搭建问题总结(0基础)
    android初次配置运行环境
    android 模拟器黑屏
    MapReduce——求每年最高气温
    MapReduce——调用HDFS
    11.Mapreduce实例——MapReduce自定义输出格式小
    MapReduce——Docker服务安装
    10.Mapreduce实例——MapReduce自定义输入格式
    Docker镜像操作——Mysql安装
  • 原文地址:https://www.cnblogs.com/leiGameDesigner/p/8458604.html
Copyright © 2011-2022 走看看