#pragma 记录

#pragma vertex  指定顶点着色器的主入口函数

#pragma fragment  指定片元着色器的主入口函数

#pragma geometry  指定几何着色器(geometry shader)的主入口函数, 因为几何着色器是从DirectX3D 10, OpenGL 3.2版本才开始引入的, 启用此指示符, 将会自动启用执行 #pragma target 4.0语句

#pragma hull name  指定表层着色器(hull shader)的主入口函数, 因为表层着色器是从DirectX3D 11版本才开始引入的, 启用此指示符, 将会自动启用#pragma target 5.0

#pragma domain  指定范畴着色器(domain shader)的主入口函数, 因为几何着色器是从DirectX3D 11版本才开始引入的, 启用此指示符, 将会自动启用#pragma target 5.0

#pragma target  设置着色器目标值(shader target),告诉编译器按什么版本的着色器数据模型(shader model), 以及面向什么目标平台去编译着色器代码

#pragma only_renderers  把着色器源代码编译成只被所声明的渲染器支持的目标代码, 不启用此选项, 将默认地把代码编译成引擎所支持的所有渲染器都能执行

#pragma exclude_renders  把着色器源代码编译成被除所声明之外的渲染器支持的目标代码. 不启用此选项, 将默认地把代码编译成引擎所支持的所有渲染器都能执行

#pragma multi_compile  指定多重的着色器多样体(shader variants)

#pragma enable_d3d11_debug_symbols  如果着色器代码编译成DirectX11 版本, 则生成着色器调试信息

#pragma hardware_tier_variants  对于可以运行所选渲染器的每个硬件层, 生成每个已编译着色器的多个着色器硬件变体

#pragma glsl, #pragma glsl_no_auto_normalization, #pragma profileoption, #pragma fragmentoption  Unity3D 5.0及之后的版本已废除这些指示符

#pragma fragmentoption ARB_precision_hint_fastest

https://www.zhihu.com/question/58652639

#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON _ALPHAMODULATE_ON

#pragma shader_feature _REQUIRE_UV2

#pragma instancing_options procedural:vertInstancingSetup

原文地址:https://www.cnblogs.com/revoid/p/12793345.html