ShaderEnums¶
-
class ShaderEnums¶
Provides scoping for various enum types that are used by both
ShaderModuleand Shader classes.Inheritance diagram
digraph inheritance93cace3f7a { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "ShaderEnums" [URL="acron.core.ShaderEnums.html#acron.core.ShaderEnums",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ShaderEnums" [arrowsize=0.75,style=""]; }-
enum Capabilities¶
Indicates which features are used by the shader, which can be used by the driver to check whether cross-compilation is possible, or whether certain transformation steps may need to be applied.
-
enumerator C_basic_shader = 1¶
Always set, indicates that we support basic vertex+fragment shaders.
-
enumerator C_vertex_texture = 2¶
-
enumerator C_point_coord = 4¶
-
enumerator C_standard_derivatives = 8¶
-
enumerator C_shadow_samplers = 16¶
1D and 2D only
-
enumerator C_non_square_matrices = 32¶
GLSL 1.20
-
enumerator C_texture_lod = 64¶
textureLod in vshader doesn’t count, textureGrad does
-
enumerator C_unified_model = 128¶
/** * This cap deserves some explanation: it refers to the new shader model * exposed by hardware capable of OpenGL 3.0 / DirectX 10 (SM 4.0) and above * or GL_EXT_gpu_shader4, adding features like: * - “true” (non-emulated) 32-bit integers and operations * - unsigned integers * - integer samplers (if C_texture_integer is also present) * - integer varyings * - integer bitwise operations * - flat interpolation * - roundEven * - texelFetch * Because all these features require the new shader model and are not * offered individually, they have been wrapped up in a single bit flag. * A shader with this bit set will not work with DirectX 9. */
-
enumerator C_noperspective_interpolation = 256¶
not supported in GLES
-
enumerator C_texture_array = 512¶
-
enumerator C_texture_integer = 1024¶
usampler2D, isampler2D, etc.
-
enumerator C_texture_query_size = 2048¶
textureSize, etc. (could be emulated)
-
enumerator C_sampler_cube_shadow = 4096¶
-
enumerator C_vertex_id = 8192¶
-
enumerator C_draw_buffers = 16384¶
MRT
-
enumerator C_clip_distance = 32768¶
gl_ClipDistance
-
enumerator C_instance_id = 65536¶
ES 3.00
-
enumerator C_texture_buffer = 131072¶
ES 3.20
-
enumerator C_geometry_shader = 262144¶
GLSL 1.50 / ES 3.20 / SM 4.0
-
enumerator C_primitive_id = 524288¶
-
enumerator C_bit_encoding = 1048576¶
GLSL 3.30 / ES 3.00 / SM 4.0
-
enumerator C_texture_query_lod = 2097152¶
GLSL 4.00 / SM 4.1
-
enumerator C_texture_gather_red = 4194304¶
-
enumerator C_texture_gather_any = 8388608¶
GLSL 4.00 / ES 3.10 / SM 5.0
-
enumerator C_extended_arithmetic = 16777216¶
-
enumerator C_double = 33554432¶
Not in ES
-
enumerator C_cube_map_array = 67108864¶
GLSL 4.00 / ES 3.20 / SM 5.0
-
enumerator C_geometry_shader_instancing = 134217728¶
-
enumerator C_tessellation_shader = 268435456¶
-
enumerator C_sample_variables = 536870912¶
-
enumerator C_multisample_interpolation = 1073741824¶
-
enumerator C_dynamic_indexing = -2147483648¶
SM 5.1
-
enumerator C_atomic_counters = 1¶
GLSL 4.20 / ES 3.10 / SM 5.0
-
enumerator C_image_load_store = 2¶
-
enumerator C_image_atomic = 4¶
ES 3.20 or OES_shader_image_atomic
-
enumerator C_image_query_size = 8¶
GLSL 4.30 / ES 3.10 / SM 5.0
-
enumerator C_texture_query_levels = 16¶
not in ES
-
enumerator C_storage_buffer = 32¶
-
enumerator C_compute_shader = 64¶
-
enumerator C_enhanced_layouts = 128¶
GLSL 4.40 / ARB_enhanced_layouts
-
enumerator C_cull_distance = 256¶
GLSL 4.50
-
enumerator C_derivative_control = 512¶
-
enumerator C_texture_query_samples = 1024¶
-
enumerator C_debug_output = 2048¶
Debugging features (not linked to any particular version)
-
enumerator C_basic_shader = 1¶
-
enum Dependency¶
-
enumerator D_none = 0¶
-
enumerator D_frame = 1¶
-
enumerator D_scene = 2¶
-
enumerator D_vertex_data = 8¶
-
enumerator D_transform = 48¶
-
enumerator D_view_transform = 32¶
-
enumerator D_projection = 64¶
-
enumerator D_color = 128¶
-
enumerator D_colorscale = 256¶
-
enumerator D_material = 512¶
-
enumerator D_shader_inputs = 1024¶
-
enumerator D_fog = 2048¶
-
enumerator D_light = 4096¶
-
enumerator D_clip_planes = 8192¶
-
enumerator D_tex_matrix = 16384¶
-
enumerator D_texture = 32768¶
-
enumerator D_tex_gen = 65536¶
-
enumerator D_render_mode = 131072¶
-
enumerator D_alpha_test = 262144¶
-
enumerator D_state = 524160¶
-
enumerator D_none = 0¶
-
enum SourceLanguage¶
-
enumerator SL_none = 0¶
-
enumerator SL_Cg = 1¶
-
enumerator SL_GLSL = 2¶
-
enumerator SL_HLSL = 3¶
-
enumerator SL_none = 0¶
- class ShaderEnums.SourceLanguages¶
Bases:
alias of
pvector_SourceLanguage
-
enum Stage¶
-
enumerator VERTEX = 0¶
-
enumerator TESS_CONTROL = 1¶
-
enumerator TESS_EVALUATION = 2¶
-
enumerator GEOMETRY = 3¶
-
enumerator FRAGMENT = 4¶
-
enumerator COMPUTE = 5¶
-
enumerator VERTEX = 0¶
-
enum StateMatrix¶
-
enumerator SM_identity = 0¶
-
enumerator SM_plane_x = 1¶
-
enumerator SM_clipplane_x = 2¶
-
enumerator SM_mat_constant_x = 3¶
-
enumerator SM_vec_constant_x = 4¶
-
enumerator SM_world_to_view = 5¶
-
enumerator SM_view_to_world = 6¶
-
enumerator SM_world_to_apiview = 7¶
-
enumerator SM_apiview_to_world = 8¶
-
enumerator SM_model_to_view = 9¶
-
enumerator SM_view_to_model = 10¶
-
enumerator SM_apiview_to_view = 11¶
-
enumerator SM_view_to_apiview = 12¶
-
enumerator SM_clip_to_view = 13¶
-
enumerator SM_view_to_clip = 14¶
-
enumerator SM_apiclip_to_view = 15¶
-
enumerator SM_view_to_apiclip = 16¶
-
enumerator SM_view_x_to_view = 17¶
-
enumerator SM_view_to_view_x = 18¶
-
enumerator SM_apiview_x_to_view = 19¶
-
enumerator SM_view_to_apiview_x = 20¶
-
enumerator SM_clip_x_to_view = 21¶
-
enumerator SM_view_to_clip_x = 22¶
-
enumerator SM_apiclip_x_to_view = 23¶
-
enumerator SM_view_to_apiclip_x = 24¶
-
enumerator SM_model_to_apiview = 25¶
-
enumerator SM_apiview_to_model = 26¶
-
enumerator SM_apiview_to_apiclip = 27¶
-
enumerator SM_apiclip_to_apiview = 28¶
-
enumerator SM_world_to_apiclip_light_i = 29¶
-
enumerator SM_point_attenuation = 30¶
-
enumerator SM_INVALID = 31¶
-
enumerator SM_identity = 0¶
- ShaderEnums.__init__()¶
- static ShaderEnums.format_stage()¶
Returns the stage as a string.
- static ShaderEnums.get_matrix_deps()¶
- static ShaderEnums.output_capabilities()¶
Outputs the given capabilities mask.
-
enum Capabilities¶