Add comments at the top of each built-in shader to ease debugging
When a shader error is printed about a built-in shader, the origin of the shader will now be recognizable immediately by looking at the top of the printed shader code.
This commit is contained in:
parent
b463ac747a
commit
a139e58f8c
@ -1736,6 +1736,8 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
|
|||||||
|
|
||||||
onion.capture.shader = Ref<Shader>(memnew(Shader));
|
onion.capture.shader = Ref<Shader>(memnew(Shader));
|
||||||
onion.capture.shader->set_code(R"(
|
onion.capture.shader->set_code(R"(
|
||||||
|
// Animation editor onion skinning shader.
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
uniform vec4 bkg_color;
|
uniform vec4 bkg_color;
|
||||||
|
@ -5606,6 +5606,8 @@ void Node3DEditor::_init_indicators() {
|
|||||||
|
|
||||||
Ref<Shader> grid_shader = memnew(Shader);
|
Ref<Shader> grid_shader = memnew(Shader);
|
||||||
grid_shader->set_code(R"(
|
grid_shader->set_code(R"(
|
||||||
|
// 3D editor grid shader.
|
||||||
|
|
||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
|
|
||||||
render_mode unshaded;
|
render_mode unshaded;
|
||||||
@ -5847,6 +5849,8 @@ void fragment() {
|
|||||||
Ref<Shader> rotate_shader = memnew(Shader);
|
Ref<Shader> rotate_shader = memnew(Shader);
|
||||||
|
|
||||||
rotate_shader->set_code(R"(
|
rotate_shader->set_code(R"(
|
||||||
|
// 3D editor rotation manipulator gizmo shader.
|
||||||
|
|
||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
|
|
||||||
render_mode unshaded, depth_test_disabled;
|
render_mode unshaded, depth_test_disabled;
|
||||||
@ -5895,6 +5899,8 @@ void fragment() {
|
|||||||
|
|
||||||
Ref<Shader> border_shader = memnew(Shader);
|
Ref<Shader> border_shader = memnew(Shader);
|
||||||
border_shader->set_code(R"(
|
border_shader->set_code(R"(
|
||||||
|
// 3D editor rotation manipulator gizmo shader (white outline).
|
||||||
|
|
||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
|
|
||||||
render_mode unshaded, depth_test_disabled;
|
render_mode unshaded, depth_test_disabled;
|
||||||
@ -7515,6 +7521,8 @@ Node3DEditor::Node3DEditor(EditorNode *p_editor) {
|
|||||||
|
|
||||||
sun_direction_shader.instantiate();
|
sun_direction_shader.instantiate();
|
||||||
sun_direction_shader->set_code(R"(
|
sun_direction_shader->set_code(R"(
|
||||||
|
// 3D editor Preview Sun direction shader.
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
uniform vec3 sun_direction;
|
uniform vec3 sun_direction;
|
||||||
|
@ -79,6 +79,8 @@ void Texture3DEditor::_update_material() {
|
|||||||
void Texture3DEditor::_make_shaders() {
|
void Texture3DEditor::_make_shaders() {
|
||||||
shader.instantiate();
|
shader.instantiate();
|
||||||
shader->set_code(R"(
|
shader->set_code(R"(
|
||||||
|
// Texture3DEditor preview shader.
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
uniform sampler3D tex;
|
uniform sampler3D tex;
|
||||||
|
@ -106,6 +106,8 @@ void TextureLayeredEditor::_update_material() {
|
|||||||
void TextureLayeredEditor::_make_shaders() {
|
void TextureLayeredEditor::_make_shaders() {
|
||||||
shaders[0].instantiate();
|
shaders[0].instantiate();
|
||||||
shaders[0]->set_code(R"(
|
shaders[0]->set_code(R"(
|
||||||
|
// TextureLayeredEditor preview shader (2D array).
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
uniform sampler2DArray tex;
|
uniform sampler2DArray tex;
|
||||||
@ -118,6 +120,8 @@ void fragment() {
|
|||||||
|
|
||||||
shaders[1].instantiate();
|
shaders[1].instantiate();
|
||||||
shaders[1]->set_code(R"(
|
shaders[1]->set_code(R"(
|
||||||
|
// TextureLayeredEditor preview shader (cubemap).
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
uniform samplerCube tex;
|
uniform samplerCube tex;
|
||||||
@ -132,6 +136,8 @@ void fragment() {
|
|||||||
|
|
||||||
shaders[2].instantiate();
|
shaders[2].instantiate();
|
||||||
shaders[2]->set_code(R"(
|
shaders[2]->set_code(R"(
|
||||||
|
// TextureLayeredEditor preview shader (cubemap array).
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
uniform samplerCubeArray tex;
|
uniform samplerCubeArray tex;
|
||||||
|
@ -98,6 +98,8 @@ Ref<Shader> ColorPicker::circle_shader;
|
|||||||
void ColorPicker::init_shaders() {
|
void ColorPicker::init_shaders() {
|
||||||
wheel_shader.instantiate();
|
wheel_shader.instantiate();
|
||||||
wheel_shader->set_code(R"(
|
wheel_shader->set_code(R"(
|
||||||
|
// ColorPicker wheel shader.
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
void fragment() {
|
void fragment() {
|
||||||
@ -120,6 +122,8 @@ void fragment() {
|
|||||||
|
|
||||||
circle_shader.instantiate();
|
circle_shader.instantiate();
|
||||||
circle_shader->set_code(R"(
|
circle_shader->set_code(R"(
|
||||||
|
// ColorPicker circle shader.
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
uniform float v = 1.0;
|
uniform float v = 1.0;
|
||||||
|
@ -683,6 +683,8 @@ void SceneShaderForwardClustered::init(RendererStorageRD *p_storage, const Strin
|
|||||||
default_shader = storage->shader_allocate();
|
default_shader = storage->shader_allocate();
|
||||||
storage->shader_initialize(default_shader);
|
storage->shader_initialize(default_shader);
|
||||||
storage->shader_set_code(default_shader, R"(
|
storage->shader_set_code(default_shader, R"(
|
||||||
|
// Default 3D material shader (clustered).
|
||||||
|
|
||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
|
|
||||||
void vertex() {
|
void vertex() {
|
||||||
@ -712,6 +714,8 @@ void fragment() {
|
|||||||
storage->shader_initialize(overdraw_material_shader);
|
storage->shader_initialize(overdraw_material_shader);
|
||||||
// Use relatively low opacity so that more "layers" of overlapping objects can be distinguished.
|
// Use relatively low opacity so that more "layers" of overlapping objects can be distinguished.
|
||||||
storage->shader_set_code(overdraw_material_shader, R"(
|
storage->shader_set_code(overdraw_material_shader, R"(
|
||||||
|
// 3D editor Overdraw debug draw mode shader (clustered).
|
||||||
|
|
||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
|
|
||||||
render_mode blend_add, unshaded;
|
render_mode blend_add, unshaded;
|
||||||
|
@ -673,6 +673,8 @@ void SceneShaderForwardMobile::init(RendererStorageRD *p_storage, const String p
|
|||||||
default_shader = storage->shader_allocate();
|
default_shader = storage->shader_allocate();
|
||||||
storage->shader_initialize(default_shader);
|
storage->shader_initialize(default_shader);
|
||||||
storage->shader_set_code(default_shader, R"(
|
storage->shader_set_code(default_shader, R"(
|
||||||
|
// Default 3D material shader (mobile).
|
||||||
|
|
||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
|
|
||||||
void vertex() {
|
void vertex() {
|
||||||
@ -701,6 +703,8 @@ void fragment() {
|
|||||||
storage->shader_initialize(overdraw_material_shader);
|
storage->shader_initialize(overdraw_material_shader);
|
||||||
// Use relatively low opacity so that more "layers" of overlapping objects can be distinguished.
|
// Use relatively low opacity so that more "layers" of overlapping objects can be distinguished.
|
||||||
storage->shader_set_code(overdraw_material_shader, R"(
|
storage->shader_set_code(overdraw_material_shader, R"(
|
||||||
|
// 3D editor Overdraw debug draw mode shader (mobile).
|
||||||
|
|
||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
|
|
||||||
render_mode blend_add, unshaded;
|
render_mode blend_add, unshaded;
|
||||||
|
@ -2575,6 +2575,8 @@ RendererCanvasRenderRD::RendererCanvasRenderRD(RendererStorageRD *p_storage) {
|
|||||||
storage->shader_initialize(default_canvas_group_shader);
|
storage->shader_initialize(default_canvas_group_shader);
|
||||||
|
|
||||||
storage->shader_set_code(default_canvas_group_shader, R"(
|
storage->shader_set_code(default_canvas_group_shader, R"(
|
||||||
|
// Default CanvasGroup shader.
|
||||||
|
|
||||||
shader_type canvas_item;
|
shader_type canvas_item;
|
||||||
|
|
||||||
void fragment() {
|
void fragment() {
|
||||||
|
@ -855,6 +855,8 @@ void RendererSceneSkyRD::init(RendererStorageRD *p_storage) {
|
|||||||
storage->shader_initialize(sky_shader.default_shader);
|
storage->shader_initialize(sky_shader.default_shader);
|
||||||
|
|
||||||
storage->shader_set_code(sky_shader.default_shader, R"(
|
storage->shader_set_code(sky_shader.default_shader, R"(
|
||||||
|
// Default sky shader.
|
||||||
|
|
||||||
shader_type sky;
|
shader_type sky;
|
||||||
|
|
||||||
void sky() {
|
void sky() {
|
||||||
@ -942,6 +944,8 @@ void sky() {
|
|||||||
storage->shader_initialize(sky_scene_state.fog_shader);
|
storage->shader_initialize(sky_scene_state.fog_shader);
|
||||||
|
|
||||||
storage->shader_set_code(sky_scene_state.fog_shader, R"(
|
storage->shader_set_code(sky_scene_state.fog_shader, R"(
|
||||||
|
// Default clear color sky shader.
|
||||||
|
|
||||||
shader_type sky;
|
shader_type sky;
|
||||||
|
|
||||||
uniform vec4 clear_color;
|
uniform vec4 clear_color;
|
||||||
|
@ -9398,6 +9398,8 @@ RendererStorageRD::RendererStorageRD() {
|
|||||||
particles_shader.default_shader = shader_allocate();
|
particles_shader.default_shader = shader_allocate();
|
||||||
shader_initialize(particles_shader.default_shader);
|
shader_initialize(particles_shader.default_shader);
|
||||||
shader_set_code(particles_shader.default_shader, R"(
|
shader_set_code(particles_shader.default_shader, R"(
|
||||||
|
// Default particles shader.
|
||||||
|
|
||||||
shader_type particles;
|
shader_type particles;
|
||||||
|
|
||||||
void process() {
|
void process() {
|
||||||
|
Loading…
Reference in New Issue
Block a user