Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/intern/gpu_shader.c
| Show First 20 Lines • Show All 147 Lines • ▼ Show 20 Lines | |||||
| extern char datatoc_gpu_shader_fx_dof_frag_glsl[]; | extern char datatoc_gpu_shader_fx_dof_frag_glsl[]; | ||||
| extern char datatoc_gpu_shader_fx_dof_vert_glsl[]; | extern char datatoc_gpu_shader_fx_dof_vert_glsl[]; | ||||
| extern char datatoc_gpu_shader_fx_dof_hq_frag_glsl[]; | extern char datatoc_gpu_shader_fx_dof_hq_frag_glsl[]; | ||||
| extern char datatoc_gpu_shader_fx_dof_hq_vert_glsl[]; | extern char datatoc_gpu_shader_fx_dof_hq_vert_glsl[]; | ||||
| extern char datatoc_gpu_shader_fx_dof_hq_geo_glsl[]; | extern char datatoc_gpu_shader_fx_dof_hq_geo_glsl[]; | ||||
| extern char datatoc_gpu_shader_fx_depth_resolve_glsl[]; | extern char datatoc_gpu_shader_fx_depth_resolve_glsl[]; | ||||
| extern char datatoc_gpu_shader_fx_lib_glsl[]; | extern char datatoc_gpu_shader_fx_lib_glsl[]; | ||||
| extern char datatoc_gpu_shader_gpencil_stroke_vert_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_stroke_frag_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_stroke_geom_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_fill_vert_glsl[]; | |||||
| extern char datatoc_gpu_shader_gpencil_fill_frag_glsl[]; | |||||
| /* cache of built-in shaders (each is created on first use) */ | /* cache of built-in shaders (each is created on first use) */ | ||||
| static GPUShader *builtin_shaders[GPU_NUM_BUILTIN_SHADERS] = { NULL }; | static GPUShader *builtin_shaders[GPU_NUM_BUILTIN_SHADERS] = { NULL }; | ||||
| /* cache for shader fx. Those can exist in combinations so store them here */ | /* cache for shader fx. Those can exist in combinations so store them here */ | ||||
| static GPUShader *fx_shaders[MAX_FX_SHADERS * 2] = { NULL }; | static GPUShader *fx_shaders[MAX_FX_SHADERS * 2] = { NULL }; | ||||
| typedef struct { | typedef struct { | ||||
| const char *vert; | const char *vert; | ||||
| ▲ Show 20 Lines • Show All 650 Lines • ▼ Show 20 Lines | static const GPUShaderStages builtin_shader_stages[GPU_NUM_BUILTIN_SHADERS] = { | ||||
| [GPU_SHADER_INSTANCE_EDGES_VARIYING_COLOR] = { datatoc_gpu_shader_instance_edges_variying_color_vert_glsl, | [GPU_SHADER_INSTANCE_EDGES_VARIYING_COLOR] = { datatoc_gpu_shader_instance_edges_variying_color_vert_glsl, | ||||
| datatoc_gpu_shader_flat_color_frag_glsl, | datatoc_gpu_shader_flat_color_frag_glsl, | ||||
| datatoc_gpu_shader_instance_edges_variying_color_geom_glsl}, | datatoc_gpu_shader_instance_edges_variying_color_geom_glsl}, | ||||
| [GPU_SHADER_3D_INSTANCE_BONE_ENVELOPE_SOLID] = { datatoc_gpu_shader_instance_bone_envelope_solid_vert_glsl, | [GPU_SHADER_3D_INSTANCE_BONE_ENVELOPE_SOLID] = { datatoc_gpu_shader_instance_bone_envelope_solid_vert_glsl, | ||||
| datatoc_gpu_shader_simple_lighting_frag_glsl }, | datatoc_gpu_shader_simple_lighting_frag_glsl }, | ||||
| [GPU_SHADER_3D_INSTANCE_BONE_ENVELOPE_WIRE] = { datatoc_gpu_shader_instance_bone_envelope_wire_vert_glsl, | [GPU_SHADER_3D_INSTANCE_BONE_ENVELOPE_WIRE] = { datatoc_gpu_shader_instance_bone_envelope_wire_vert_glsl, | ||||
| datatoc_gpu_shader_flat_color_frag_glsl }, | datatoc_gpu_shader_flat_color_frag_glsl }, | ||||
| [GPU_SHADER_GPENCIL_STROKE] = { datatoc_gpu_shader_gpencil_stroke_vert_glsl, | |||||
| datatoc_gpu_shader_gpencil_stroke_frag_glsl, | |||||
| datatoc_gpu_shader_gpencil_stroke_geom_glsl }, | |||||
| [GPU_SHADER_GPENCIL_FILL] = { datatoc_gpu_shader_gpencil_fill_vert_glsl, | |||||
| datatoc_gpu_shader_gpencil_fill_frag_glsl }, | |||||
| }; | }; | ||||
| if (builtin_shaders[shader] == NULL) { | if (builtin_shaders[shader] == NULL) { | ||||
| /* just a few special cases */ | /* just a few special cases */ | ||||
| const char *defines = NULL; | const char *defines = NULL; | ||||
| switch (shader) { | switch (shader) { | ||||
| case GPU_SHADER_SMOKE_COBA: | case GPU_SHADER_SMOKE_COBA: | ||||
| defines = "#define USE_COBA;\n"; | defines = "#define USE_COBA;\n"; | ||||
| ▲ Show 20 Lines • Show All 141 Lines • Show Last 20 Lines | |||||