├── .gitignore
├── LICENSE
├── README.md
├── godot
├── Demos
│ ├── Blur
│ │ ├── AsteroidTrail.gd
│ │ ├── BlurDirection.gd
│ │ ├── BlurredPresentation.gd
│ │ ├── MotionBlurScene.gd
│ │ ├── PrecomputeGaussianKernel.gd
│ │ ├── ShakingCamera.gd
│ │ ├── ShakingCamera.tscn
│ │ ├── Ship.gd
│ │ ├── Ship.tscn
│ │ ├── SpaceBackground.tscn
│ │ ├── asteroid-round.svg
│ │ ├── asteroid-round.svg.import
│ │ ├── topdown-player.svg
│ │ └── topdown-player.svg.import
│ ├── BlurGlowDemo.tscn
│ ├── BlurViewportContainersDemo.tscn
│ ├── BlurViewportTexturesDemo.tscn
│ ├── Clouds2D
│ │ ├── clouds_noise1.tres
│ │ ├── clouds_noise2.tres
│ │ ├── topdown-adventure.svg
│ │ └── topdown-adventure.svg.import
│ ├── Clouds2DDemo.tscn
│ ├── Crystals
│ │ ├── Crystal_Albedo.png
│ │ ├── Crystal_Albedo.png.import
│ │ ├── Crystal_Emission.png
│ │ ├── Crystal_Emission.png.import
│ │ ├── Crystal_Normal.png
│ │ ├── Crystal_Normal.png.import
│ │ ├── LICENSE
│ │ ├── crystals.glb
│ │ └── crystals.glb.import
│ ├── CrystalsDemo.tscn
│ ├── Dissolve
│ │ ├── Dissolve2D
│ │ │ ├── Dissolve2DControls.gd
│ │ │ ├── DissolveController.gd
│ │ │ ├── DissolveMaskController.gd
│ │ │ ├── Particles2D.gd
│ │ │ ├── black.png
│ │ │ ├── black.png.import
│ │ │ └── color_ramp.tres
│ │ ├── Dissolve3D
│ │ │ ├── DissolveMaterial.tres
│ │ │ └── DissolvingSphere.gd
│ │ └── noise_tex.tres
│ ├── Dissolve2DDemo.tscn
│ ├── Dissolve3DDemo.tscn
│ ├── EnvironmentGlowDemo.tscn
│ ├── Flag3D
│ │ └── Flag3DScene.tscn
│ ├── Flag3DDemo.tscn
│ ├── ForceField
│ │ ├── ForceFieldEmitter.gd
│ │ ├── ForceFieldScene.tscn
│ │ ├── force_field_material.tres
│ │ ├── hexagon_grid.png
│ │ └── hexagon_grid.png.import
│ ├── ForceFieldDemo.tscn
│ ├── Glow2D
│ │ ├── BlurGlow
│ │ │ ├── GlowSprite.gd
│ │ │ └── Scene.tscn
│ │ ├── glowy_arrow.png
│ │ └── glowy_arrow.png.import
│ ├── ImpossibleCube
│ │ ├── ImpossibleCubeBase.tscn
│ │ ├── Rotate.gd
│ │ ├── cube_full.obj
│ │ ├── cube_full.obj.import
│ │ ├── cube_hollow.obj
│ │ ├── cube_hollow.obj.import
│ │ ├── cube_stencil.png
│ │ └── cube_stencil.png.import
│ ├── ImpossibleCubeDemo.tscn
│ ├── InteractiveSnow
│ │ ├── InteractiveSnowMaterial.tres
│ │ ├── InteractiveSnowPlane.glb
│ │ ├── InteractiveSnowPlane.glb.import
│ │ ├── InteractiveSnowViewport.gd
│ │ ├── InteractiveSnowball.gd
│ │ ├── Textures
│ │ │ ├── BlendTexture.jpg
│ │ │ ├── BlendTexture.jpg.import
│ │ │ ├── Ground039_1K_Color.jpg
│ │ │ ├── Ground039_1K_Color.jpg.import
│ │ │ ├── Ground039_1K_Normal.jpg
│ │ │ ├── Ground039_1K_Normal.jpg.import
│ │ │ ├── Ground039_1K_Roughness.jpg
│ │ │ ├── Ground039_1K_Roughness.jpg.import
│ │ │ ├── Snow004_1K_Color.jpg
│ │ │ ├── Snow004_1K_Color.jpg.import
│ │ │ ├── Snow004_1K_Normal.jpg
│ │ │ ├── Snow004_1K_Normal.jpg.import
│ │ │ ├── Snow004_1K_Roughness.jpg
│ │ │ ├── Snow004_1K_Roughness.jpg.import
│ │ │ ├── testmask.png
│ │ │ └── testmask.png.import
│ │ ├── TrailTexture.png
│ │ ├── TrailTexture.png.import
│ │ ├── TrailTip.png
│ │ └── TrailTip.png.import
│ ├── InteractiveSnowDemo.tscn
│ ├── InvertedColorsDemo.tscn
│ ├── MatCap
│ │ ├── Chrome_matcap.png
│ │ ├── Chrome_matcap.png.import
│ │ ├── MatCapScene.tscn
│ │ ├── black_glass_matcap.jpeg
│ │ ├── black_glass_matcap.jpeg.import
│ │ ├── copper_matcap.png
│ │ ├── copper_matcap.png.import
│ │ ├── flat_sketch_matcap.png
│ │ ├── flat_sketch_matcap.png.import
│ │ ├── glowy_matcap.jpeg
│ │ ├── glowy_matcap.jpeg.import
│ │ ├── plastic_matcap.jpg
│ │ ├── plastic_matcap.jpg.import
│ │ ├── red_matcap.png
│ │ ├── red_matcap.png.import
│ │ ├── redjade_matcap.png
│ │ ├── redjade_matcap.png.import
│ │ ├── skin_matcap.png
│ │ └── skin_matcap.png.import
│ ├── MatCapDemo.tscn
│ ├── NoiseDemo.tscn
│ ├── Outline
│ │ ├── Outline2D
│ │ │ ├── Cursor.gd
│ │ │ ├── Outline.gd
│ │ │ ├── OutlineBothDirections.tscn
│ │ │ ├── OutlineInner.tscn
│ │ │ ├── OutlineOuter.tscn
│ │ │ ├── mouse_cursor.png
│ │ │ └── mouse_cursor.png.import
│ │ └── Outline3D
│ │ │ ├── AnimatedOutline.gd
│ │ │ ├── CameraMouseHover.gd
│ │ │ ├── Outline3DScene.tscn
│ │ │ ├── OutlinePopArea.gd
│ │ │ └── SmoothNormalsMeshInstance.gd
│ ├── Outline2DDemo.tscn
│ ├── Outline3DDemo.tscn
│ ├── PaletteSwap2D
│ │ ├── KingsAndPigs_color_sets.png
│ │ ├── KingsAndPigs_color_sets.png.import
│ │ ├── KingsAndPigs_greyscale_sprite.png
│ │ ├── KingsAndPigs_greyscale_sprite.png.import
│ │ └── PaletteSwapSprite.gd
│ ├── PaletteSwap2DDemo.tscn
│ ├── ParticleBridge
│ │ ├── ParticleBridgeDemo.gd
│ │ └── RigidPlayer.gd
│ ├── ParticleBridgeDemo.tscn
│ ├── PixelPerfectOutline3DDemo.tscn
│ ├── PointilismDemo.tscn
│ ├── PreBakedGlowDemo.tscn
│ ├── Reflection2D
│ │ ├── Reflection2D.gd
│ │ ├── Reflection2DTextureRect.gd
│ │ └── mirror_y.gdshader
│ ├── Reflection2DDemo.tscn
│ ├── Reflection2DTextureRectDemo.tscn
│ ├── Shockwave
│ │ ├── Shockwave.gd
│ │ ├── ShockwaveMaterial.tres
│ │ ├── ShockwaveScene.tscn
│ │ └── basic_blue.tres
│ ├── Shockwave3D
│ │ ├── Scene.blend
│ │ ├── Scene.blend.import
│ │ ├── Shockwave.gd
│ │ ├── Shockwave3DMaterial.tres
│ │ └── Shockwave3DScene.tscn
│ ├── Shockwave3DDemo.tscn
│ ├── ShockwaveDemo.tscn
│ ├── SphereMask
│ │ ├── .LanternAlbedo.png-autosave.kra
│ │ ├── BridgeBody.mesh
│ │ ├── BridgeMaterial.tres
│ │ ├── Lantern.mesh
│ │ ├── LanternAlbedo.png
│ │ ├── LanternAlbedo.png.import
│ │ ├── LanternMaterial.material
│ │ ├── LanternMaterialEmissive.material
│ │ ├── LanternPositionToMaterial.gd
│ │ ├── PaperTransmission.jpg
│ │ ├── PaperTransmission.jpg.import
│ │ ├── Poles.mesh
│ │ ├── PolesMaterial.material
│ │ ├── PolesTexture.jpeg
│ │ ├── PolesTexture.jpeg.import
│ │ ├── SphereMaskMaterial.material
│ │ ├── bridge-lantern.blend
│ │ ├── bridge-lantern.blend.import
│ │ ├── bridge-lantern.glb
│ │ └── bridge-lantern.glb.import
│ ├── SphereMaskDemo.tscn
│ ├── StylizedFire
│ │ ├── BlueFireGradient.tres
│ │ ├── CloudNoise.tres
│ │ ├── FireGradient.tres
│ │ ├── FireMask.png
│ │ ├── FireMask.png.import
│ │ ├── GreenFireGradient.tres
│ │ ├── HoleNoise.png
│ │ ├── HoleNoise.png.import
│ │ ├── WispyNoise.png
│ │ └── WispyNoise.png.import
│ ├── StylizedFireDemo.tscn
│ ├── StylizedLiquid
│ │ ├── LiquidWobble.gd
│ │ ├── Models
│ │ │ ├── Beige.material
│ │ │ ├── Glass.material
│ │ │ ├── Red.material
│ │ │ ├── potionLarge_red.gltf.glb
│ │ │ └── potionLarge_red.gltf.glb.import
│ │ └── PotionLarge.tscn
│ ├── StylizedLiquidDemo.tscn
│ ├── StylizedWaterfall
│ │ ├── RocksMaterial.material
│ │ ├── RocksMaterial.tres
│ │ ├── RocksMaterial_001.material
│ │ ├── Sand_001.material
│ │ ├── WaterMaterial.tres
│ │ ├── WaterfallMaterial_001.material
│ │ ├── WaterfallMesh.blend
│ │ ├── WaterfallMesh.blend.import
│ │ ├── WaterfallMesh.blend.zip
│ │ ├── WaterfallMesh.blend1
│ │ ├── WaterfallMesh.dae
│ │ ├── WaterfallMesh.dae.import
│ │ ├── color-uv.png
│ │ ├── color-uv.png.import
│ │ ├── rock-color.jpg
│ │ └── rock-color.jpg.import
│ ├── StylizedWaterfallDemo.tscn
│ ├── TextureMix
│ │ ├── MixMaterial.tres
│ │ ├── TextureMixDemo.gd
│ │ ├── lambert2.material
│ │ ├── scene.glb
│ │ ├── scene.glb.import
│ │ └── textures
│ │ │ ├── Moss003_1K_Color.jpg
│ │ │ ├── Moss003_1K_Color.jpg.import
│ │ │ ├── Moss003_1K_Normal.jpg
│ │ │ ├── Moss003_1K_Normal.jpg.import
│ │ │ ├── lambert2_ao.jpg
│ │ │ ├── lambert2_ao.jpg.import
│ │ │ ├── lambert2_ao.png.import
│ │ │ ├── lambert2_baseColor.jpeg
│ │ │ ├── lambert2_baseColor.jpeg.import
│ │ │ ├── lambert2_normal.jpg
│ │ │ └── lambert2_normal.jpg.import
│ ├── TextureMixDemo.tscn
│ ├── UnlitDirectionalTint.tscn
│ ├── UnlitDirectionalTint
│ │ └── UnlitDirectionalTint.tres
│ ├── Water2D
│ │ ├── Water2D.gd
│ │ ├── disk_mask.png
│ │ ├── disk_mask.png.import
│ │ ├── water_2D_material.tres
│ │ ├── water_diffuse.png
│ │ ├── water_diffuse.png.import
│ │ ├── water_normal.png
│ │ ├── water_normal.png.import
│ │ ├── water_uv_offset.png
│ │ └── water_uv_offset.png.import
│ ├── Water2DDemo.tscn
│ ├── Water3D
│ │ ├── diffuse.png
│ │ ├── diffuse.png.import
│ │ ├── normal.png
│ │ ├── normal.png.import
│ │ ├── rocks.glb
│ │ ├── rocks.glb.import
│ │ ├── specular.png
│ │ └── specular.png.import
│ ├── Water3DDemo.tscn
│ ├── WaterSidescroll2D
│ │ ├── WaterSidescroll2D.gd
│ │ ├── water_sidescroll_2D_full.gdshader
│ │ └── water_sidescroll_2D_simple.gdshader
│ ├── WaterSidescroll2DDemo.tscn
│ ├── WindGrass
│ │ ├── GrassMesh.gd
│ │ ├── WindGrassScene.tscn
│ │ ├── grass_triangle.obj
│ │ ├── grass_triangle.obj.import
│ │ ├── unshaded.gdshader
│ │ └── wind_grass.tres
│ ├── WindGrassDemo.tscn
│ ├── WindTrees
│ │ ├── FolliageWindGrassMaterial.tres
│ │ ├── FolliageWindTreeLeavesMaterial.tres
│ │ ├── FolliageWindTreeTrunkMaterial.tres
│ │ ├── Models
│ │ │ ├── Tree.glb
│ │ │ ├── Tree.glb.import
│ │ │ ├── grass_clump.mesh
│ │ │ ├── terrain.obj
│ │ │ └── terrain.obj.import
│ │ ├── Textures
│ │ │ ├── 3d_noise.png
│ │ │ ├── 3d_noise.png.import
│ │ │ ├── bark_albedo.png
│ │ │ ├── bark_albedo.png.import
│ │ │ ├── bark_normal.png
│ │ │ ├── bark_normal.png.import
│ │ │ ├── elm leaf.png
│ │ │ ├── elm leaf.png.import
│ │ │ ├── elm_leaf_albedo.png
│ │ │ ├── elm_leaf_albedo.png.import
│ │ │ ├── elm_leaf_normal.png
│ │ │ ├── elm_leaf_normal.png.import
│ │ │ ├── elm_leaf_transmission.png
│ │ │ ├── elm_leaf_transmission.png.import
│ │ │ ├── grass_albedo.png
│ │ │ ├── grass_albedo.png.import
│ │ │ ├── grass_normal.png
│ │ │ ├── grass_normal.png.import
│ │ │ ├── ground_ORM.png
│ │ │ ├── ground_ORM.png.import
│ │ │ ├── ground_albedo.png
│ │ │ ├── ground_albedo.png.import
│ │ │ ├── ground_normal.png
│ │ │ └── ground_normal.png.import
│ │ ├── Tree.tscn
│ │ ├── WindControl.gd
│ │ ├── WindTreeScene.tscn
│ │ ├── foliage_wind_grass.gdshader
│ │ ├── foliage_wind_tree_leaves.gdshader
│ │ └── foliage_wind_tree_trunk.gdshader
│ ├── WindTreesDemo.tscn
│ ├── XRay2DDemo.tscn
│ ├── XRay3DDemo.tscn
│ ├── Xray2d
│ │ ├── GearTrain.tscn
│ │ ├── MainScene.tscn
│ │ ├── Watcher.gd
│ │ ├── gear.png
│ │ └── gear.png.import
│ └── labels
│ │ ├── demo_labels.csv
│ │ ├── demo_labels.csv.import
│ │ └── demo_labels.en.translation
├── Intro
│ ├── Elements
│ │ ├── CubeScene.gd
│ │ ├── CubeScene.tscn
│ │ ├── EnableWireframe.gd
│ │ ├── LineDrawer.gd
│ │ ├── LineDrawer.tscn
│ │ ├── LineDrawers.gd
│ │ ├── Pixel.gd
│ │ ├── Pixel.tscn
│ │ ├── Pixels.gd
│ │ ├── RawVertexData.gd
│ │ ├── ShaderPipelineIntro.gd
│ │ ├── TintedSpriteDemo.tscn
│ │ ├── Title.gd
│ │ ├── VertexCodeAnim.tscn
│ │ ├── VertexRaw.gd
│ │ └── VertexRaw.tscn
│ ├── ShaderPipelineIntro.tscn
│ ├── textured_square.png
│ └── textured_square.png.import
├── Main
│ ├── Constants.gd
│ ├── DemoItem.gd
│ ├── DemoItem.tscn
│ ├── DemoList.gd
│ ├── DemoList.tscn
│ ├── DemoPickerUI.gd
│ ├── DemoPickerUI.tscn
│ ├── DemoPlayer.gd
│ ├── DemoSelector.gd
│ ├── DemoSelector.tscn
│ ├── GDQuestLogo.gd
│ ├── GDQuestLogo.tscn
│ ├── UI
│ │ ├── 9patch_mainmenu.png
│ │ ├── 9patch_mainmenu.png.import
│ │ ├── 9patch_searchbar.png
│ │ ├── 9patch_searchbar.png.import
│ │ ├── Slider.tscn
│ │ ├── TextButton.tscn
│ │ ├── arrowLeft.png
│ │ ├── arrowLeft.png.import
│ │ ├── arrowLeftPressed.png
│ │ ├── arrowLeftPressed.png.import
│ │ ├── arrowRight.png
│ │ ├── arrowRight.png.import
│ │ ├── arrowRightPressed.png
│ │ ├── arrowRightPressed.png.import
│ │ ├── button.png
│ │ ├── button.png.import
│ │ ├── buttonLong.png
│ │ ├── buttonLong.png.import
│ │ ├── buttonLongPressed.png
│ │ ├── buttonLongPressed.png.import
│ │ ├── buttonPressed.png
│ │ ├── buttonPressed.png.import
│ │ ├── close.png
│ │ ├── close.png.import
│ │ ├── fonts
│ │ │ ├── ExtraLargeFont.tres
│ │ │ ├── KeyboardKeyFont.tres
│ │ │ ├── Montserrat-Bold.ttf
│ │ │ ├── Montserrat-Bold.ttf.import
│ │ │ ├── SmallFont.tres
│ │ │ ├── SourceCodePro-Bold.otf
│ │ │ ├── SourceCodePro-Bold.otf.import
│ │ │ ├── SubtitleFont.tres
│ │ │ └── TitleFont.tres
│ │ ├── lineedit_stylebox_error.tres
│ │ ├── lineedit_stylebox_focus.tres
│ │ ├── lineedit_stylebox_normal.tres
│ │ ├── node-icons
│ │ │ ├── Control.svg
│ │ │ ├── Control.svg.import
│ │ │ ├── GuiVisibilityVisible.svg
│ │ │ ├── GuiVisibilityVisible.svg.import
│ │ │ ├── Node.svg
│ │ │ ├── Node.svg.import
│ │ │ ├── Node2D.svg
│ │ │ ├── Node2D.svg.import
│ │ │ ├── Node3D.svg
│ │ │ └── Node3D.svg.import
│ │ ├── scrollbar.png
│ │ ├── scrollbar.png.import
│ │ ├── scrollbar_grabber_active.png
│ │ ├── scrollbar_grabber_active.png.import
│ │ ├── scrollbar_grabber_inactive.png
│ │ ├── scrollbar_grabber_inactive.png.import
│ │ ├── textFrame.png
│ │ ├── textFrame.png.import
│ │ └── ui_theme.tres
│ ├── UIControlsList.gd
│ ├── UIControlsList.tscn
│ ├── UIKeyMapping.gd
│ ├── UIKeyMapping.tscn
│ ├── UIKeyboardKey.tscn
│ ├── background.png
│ ├── background.png.import
│ ├── filter_button_group.tres
│ ├── gdquest_logo_white.svg
│ ├── gdquest_logo_white.svg.import
│ ├── keyboard_key_panel.tres
│ ├── nodes_metadata.json
│ ├── planet.png
│ ├── planet.png.import
│ ├── planet_large.png
│ ├── planet_large.png.import
│ ├── title.svg
│ └── title.svg.import
├── Shaders
│ ├── PalettSwap2D.gdshader
│ ├── SpecularControl.gdshader
│ ├── VisualShader
│ │ ├── shockwave.tres
│ │ └── test.tres
│ ├── baked_sprite_glow.gdshader
│ ├── clouds2D.gdshader
│ ├── compose.gdshader
│ ├── dissolve.gdshader
│ ├── dissolve2D.gdshader
│ ├── dissolve2D_mask.gdshader
│ ├── flag_3d.gdshader
│ ├── force_field.gdshader
│ ├── fresnel_crystal.gdshader
│ ├── gaussian_blur.gdshader
│ ├── gaussian_blur_optimized.gdshader
│ ├── glow_prepass.gdshader
│ ├── interactive_snow.gdshader
│ ├── invert.gdshader
│ ├── matcap.gdshader
│ ├── outline2D_inner.gdshader
│ ├── outline2D_inner_outer.gdshader
│ ├── outline2D_outer.gdshader
│ ├── outline3D.gdshader
│ ├── outline3D_smooth_normals_color.gdshader
│ ├── particle_bridge_particle.gdshader
│ ├── particle_bridge_spatial.gdshader
│ ├── perlin_noise.gdshader
│ ├── pixel_perfect_outline3D.gdshader
│ ├── pointilism.gdshader
│ ├── random_noise.gdshader
│ ├── rim_control.gdshader
│ ├── shockwave.gdshader
│ ├── shockwave_3d.gdshader
│ ├── sphere_mask.gdshader
│ ├── stencil_mask.gdshader
│ ├── stylized_fire.gdshader
│ ├── stylized_liquid.gdshader
│ ├── stylized_waterfall.gdshader
│ ├── texture_mix.gdshader
│ ├── unlit_directional_tint.gdshader
│ ├── value_noise.gdshader
│ ├── value_noise_layered.gdshader
│ ├── voronoi_noise.gdshader
│ ├── water_2D.gdshader
│ ├── water_3d.gdshader
│ ├── wind_grass.gdshader
│ ├── wind_texture.gdshader
│ ├── wind_uv.gdshader
│ ├── xray_2d_mask.gdshader
│ ├── xray_3d_mask.gdshader
│ └── xray_glow.gdshader
├── Shared
│ ├── Background2D
│ │ ├── Demo2DBackground.tscn
│ │ ├── gaussian_blur_lod_15_samples.gdshader
│ │ ├── gaussian_blur_lod_9_samples.gdshader
│ │ ├── gradient.svg
│ │ ├── gradient.svg.import
│ │ ├── graph.svg
│ │ ├── graph.svg.import
│ │ ├── sparkle.png
│ │ └── sparkle.png.import
│ ├── Camera
│ │ ├── MouseCamera2D.gd
│ │ ├── MouseCamera2D.tscn
│ │ └── ParallaxBackground.tscn
│ ├── Demo3DEnvironment.tscn
│ ├── Demo3DEnvironmentDark.tscn
│ ├── DemoInterface.gd
│ ├── DemoInterface.tscn
│ ├── environments
│ │ ├── 2d_level_environment.tres
│ │ ├── level_environment.tres
│ │ └── level_environment_dark.tres
│ ├── materials
│ │ └── basic_grey.tres
│ ├── models
│ │ ├── 3D-environment
│ │ │ ├── AtlasMaterial.material
│ │ │ ├── SceneColorAtlas.tres
│ │ │ ├── ShockwaveScene.glb
│ │ │ ├── ShockwaveScene.glb.import
│ │ │ ├── ShockwaveScene_palette.png
│ │ │ └── ShockwaveScene_palette.png.import
│ │ └── rat_model
│ │ │ ├── rat.dae
│ │ │ ├── rat.dae.import
│ │ │ ├── rat.tscn
│ │ │ ├── rat_albedo.png
│ │ │ ├── rat_albedo.png.import
│ │ │ ├── rat_body_ao.png
│ │ │ ├── rat_body_ao.png.import
│ │ │ ├── rat_body_claws_mask.png
│ │ │ ├── rat_body_claws_mask.png.import
│ │ │ ├── rat_body_flesh_mask.png
│ │ │ ├── rat_body_flesh_mask.png.import
│ │ │ ├── rat_head_albedo.png
│ │ │ ├── rat_head_albedo.png.import
│ │ │ ├── rat_head_ao.png
│ │ │ ├── rat_head_ao.png.import
│ │ │ ├── rat_head_eyes_mask.png
│ │ │ ├── rat_head_eyes_mask.png.import
│ │ │ ├── rat_head_flesh_mask.png
│ │ │ ├── rat_head_flesh_mask.png.import
│ │ │ ├── rat_head_teeth_mask.png
│ │ │ ├── rat_head_teeth_mask.png.import
│ │ │ ├── rat_shadow_paint.png
│ │ │ └── rat_shadow_paint.png.import
│ ├── sprites
│ │ ├── cloud1.png
│ │ ├── cloud1.png.import
│ │ ├── robi_shaded.png
│ │ └── robi_shaded.png.import
│ └── theme
│ │ ├── empty.tres
│ │ ├── fonts
│ │ ├── default_font_bold.tres
│ │ ├── default_font_code.tres
│ │ ├── default_font_italics.tres
│ │ ├── font_default.tres
│ │ ├── font_info.tres
│ │ ├── font_title.tres
│ │ ├── montserrat
│ │ │ ├── Montserrat-Black.ttf
│ │ │ ├── Montserrat-Black.ttf.import
│ │ │ ├── Montserrat-Bold.ttf
│ │ │ ├── Montserrat-Bold.ttf.import
│ │ │ ├── Montserrat-Medium.ttf
│ │ │ ├── Montserrat-Medium.ttf.import
│ │ │ ├── Montserrat-MediumItalic.ttf
│ │ │ └── Montserrat-MediumItalic.ttf.import
│ │ └── source_code_pro
│ │ │ ├── SourceCodePro-Medium.otf
│ │ │ └── SourceCodePro-Medium.otf.import
│ │ ├── gdquest.theme
│ │ ├── icons
│ │ ├── chevron-right.svg
│ │ ├── chevron-right.svg.import
│ │ ├── chevron-up.svg
│ │ ├── chevron-up.svg.import
│ │ ├── trash_icon.svg
│ │ └── trash_icon.svg.import
│ │ ├── slider
│ │ ├── grabber_area.stylebox
│ │ └── slider.stylebox
│ │ └── stylebox
│ │ ├── button_disabled.tres
│ │ ├── button_focused.tres
│ │ ├── button_focused_error.tres
│ │ ├── button_focused_margin.tres
│ │ ├── button_hover.tres
│ │ ├── button_normal.tres
│ │ ├── button_pressed.tres
│ │ ├── line.tres
│ │ ├── line_edit.tres
│ │ ├── panel.tres
│ │ └── panel_popup.tres
├── Utils
│ ├── DebugViewer.gd
│ ├── PostProcessBuilder.gd
│ └── PostProcessStep.gd
├── addons
│ └── ShaderSecretsHelper
│ │ └── DemoScreen.gd
├── default_env.tres
├── icon.png
├── icon.png.import
└── project.godot
└── img
├── banner-shader-secrets.png
├── robi-in-flames.png
├── stylized-fire.png
└── water2d.png
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Godot-specific ignores
3 | .import/
4 | .godot/
5 | export.cfg
6 | export_presets.cfg
7 |
8 | # Mono-specific ignores
9 | .mono/
10 | data_*/
11 |
12 | .vscode/
13 |
--------------------------------------------------------------------------------
/godot/Demos/Blur/BlurDirection.gd:
--------------------------------------------------------------------------------
1 | extends Control
2 |
3 | @export var direction_provider_path := NodePath()
4 | @export var blur_scale := Vector2.ONE
5 |
6 | var direction := Vector2.ZERO
7 |
8 | @onready var direction_provider: Node = get_node(direction_provider_path)
9 |
10 |
11 | func _ready() -> void:
12 | if direction_provider:
13 | direction_provider.connect("speeding_up", Callable(self, "_on_speeding_up"))
14 | direction = Vector2.UP.rotated(deg_to_rad(direction_provider.direction_degrees))
15 | blur_scale = blur_scale.normalized()
16 |
17 |
18 | func _on_speeding_up(percentage_of_max: float) -> void:
19 | material.set_shader_parameter("blur_scale", direction * percentage_of_max * blur_scale)
20 |
--------------------------------------------------------------------------------
/godot/Demos/Blur/BlurredPresentation.gd:
--------------------------------------------------------------------------------
1 | extends TextureRect
2 |
3 | @export var direction_provider_path := NodePath()
4 |
5 | @onready var direction_provider: Node = get_node(direction_provider_path)
6 |
7 |
8 | func _ready() -> void:
9 | if direction_provider:
10 | direction_provider.connect("speeding_up", Callable(self, "_on_speeding_up"))
11 |
12 |
13 | func _on_speeding_up(percentage_of_max: float) -> void:
14 | self_modulate.a = percentage_of_max
15 |
--------------------------------------------------------------------------------
/godot/Demos/Blur/MotionBlurScene.gd:
--------------------------------------------------------------------------------
1 | extends Node2D
2 |
3 | signal speeding_up(percentage_of_max)
4 |
5 | @export var trail_length: float
6 | @export var direction_degrees: float
7 |
--------------------------------------------------------------------------------
/godot/Demos/Blur/PrecomputeGaussianKernel.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | # Computes a gaussian kernels with `SAMPLES` samples and prints it as ShaderScript
3 | extends EditorScript
4 |
5 | const SAMPLES := 71
6 |
7 |
8 | func gaussian(x: float) -> float:
9 | var x_squared := x * x
10 | var width := 1.0 / sqrt(TAU * SAMPLES)
11 |
12 | return width * exp((x_squared / (2.0 * SAMPLES)) * -1.0)
13 |
14 |
15 | func _run() -> void:
16 | var output := "const float SAMPLES = %s.0;\n" % SAMPLES
17 | output += "\tconst float WEIGHTS[%s] = {" % (SAMPLES if SAMPLES % 2 == 0 else SAMPLES - 1)
18 |
19 | for i in range(-SAMPLES / 2.0, SAMPLES / 2.0):
20 | output += "\n\t\t%s," % gaussian(float(i))
21 |
22 | output = output.rstrip(',') + "\n\t};"
23 |
24 | OS.clipboard = output
25 | print("Precomputing gaussian weights: \n%s" % output)
26 |
--------------------------------------------------------------------------------
/godot/Demos/Blur/ShakingCamera.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://dkvt3w3hayp4j"]
2 |
3 | [ext_resource type="Script" path="res://Demos/Blur/ShakingCamera.gd" id="1"]
4 |
5 | [node name="ShakingCamera" type="Camera2D"]
6 | position_smoothing_enabled = true
7 | script = ExtResource("1")
8 | amplitude = 8.0
9 | duration = 0.8
10 |
11 | [node name="Timer" type="Timer" parent="."]
12 | wait_time = 0.8
13 | one_shot = true
14 |
--------------------------------------------------------------------------------
/godot/Demos/Clouds2D/clouds_noise1.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://bok1i4hhop0o2"]
2 |
3 | [sub_resource type="FastNoiseLite" id="1"]
4 |
5 | [resource]
6 | width = 1024
7 | seamless = true
8 | noise = SubResource("1")
9 |
--------------------------------------------------------------------------------
/godot/Demos/Clouds2D/clouds_noise2.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="NoiseTexture" load_steps=2 format=2]
2 |
3 | [sub_resource type="FastNoiseLite" id=1]
4 | octaves = 2
5 | period = 11.1
6 | persistence = 1.0
7 | lacunarity = 2.06
8 |
9 | [resource]
10 | flags = 6
11 | seamless = true
12 | noise = SubResource( 1 )
13 |
--------------------------------------------------------------------------------
/godot/Demos/Crystals/Crystal_Albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Crystals/Crystal_Albedo.png
--------------------------------------------------------------------------------
/godot/Demos/Crystals/Crystal_Albedo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cu2p18bjrwh4f"
6 | path.s3tc="res://.godot/imported/Crystal_Albedo.png-40dba69040eb6c65c58806ba4a796cc4.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/Crystals/Crystal_Albedo.png"
15 | dest_files=["res://.godot/imported/Crystal_Albedo.png-40dba69040eb6c65c58806ba4a796cc4.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/Crystals/Crystal_Emission.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Crystals/Crystal_Emission.png
--------------------------------------------------------------------------------
/godot/Demos/Crystals/Crystal_Emission.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cys1t6gtdcrvi"
6 | path.s3tc="res://.godot/imported/Crystal_Emission.png-05ffb8f603e21067f019693e2013a69d.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/Crystals/Crystal_Emission.png"
15 | dest_files=["res://.godot/imported/Crystal_Emission.png-05ffb8f603e21067f019693e2013a69d.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/Crystals/Crystal_Normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Crystals/Crystal_Normal.png
--------------------------------------------------------------------------------
/godot/Demos/Crystals/Crystal_Normal.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://qiewxcg1l806"
6 | path.s3tc="res://.godot/imported/Crystal_Normal.png-78d01dee305ca9e02214b0bec2dff8b2.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/Crystals/Crystal_Normal.png"
15 | dest_files=["res://.godot/imported/Crystal_Normal.png-78d01dee305ca9e02214b0bec2dff8b2.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=1
24 | compress/channel_pack=1
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/Crystals/LICENSE:
--------------------------------------------------------------------------------
1 | Crystal by PolyToots
2 | © PolyToots
3 | https://sketchfab.com/3d-models/crystals-0499073f160248adb451bf4135e5f50a
4 |
5 | Exported into GLTF from Blender for Godot. Textures flipped.
6 |
7 | Under CC-By 4.0: https://creativecommons.org/licenses/by/4.0/
8 |
--------------------------------------------------------------------------------
/godot/Demos/Crystals/crystals.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Crystals/crystals.glb
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/Dissolve2D/Dissolve2DControls.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends Node
3 |
4 | @export (float, 0, 1) var debug_dissolve_control := 0.0: set = _set_debug_control
5 |
6 | @onready var mask := owner.get_node("MaskView/SubViewport/RobiMask")
7 | @onready var robi := owner.get_node("Robi")
8 |
9 |
10 | func _unhandled_input(event: InputEvent) -> void:
11 | if event.is_action_pressed("ui_accept"):
12 | mask.dissolve()
13 | robi.dissolve()
14 |
15 |
16 | func _set_debug_control(value: float) -> void:
17 | debug_dissolve_control = value
18 | if not is_inside_tree():
19 | await self.ready
20 |
21 | if Engine.is_editor_hint():
22 | mask.debug_dissolve_control = value
23 | robi.debug_dissolve_control = value
24 |
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/Dissolve2D/DissolveMaskController.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends Sprite2D
3 |
4 | var debug_dissolve_control := 0.0: set = _set_debug_control
5 |
6 | @onready var _animation_player: AnimationPlayer = $AnimationPlayer
7 |
8 |
9 | func dissolve() -> void:
10 | _animation_player.play("Dissolve")
11 |
12 |
13 | func _set_debug_control(value: float) -> void:
14 | debug_dissolve_control = value
15 | if Engine.is_editor_hint():
16 | material.set_shader_parameter("dissolve_amount", value)
17 |
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/Dissolve2D/black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Dissolve/Dissolve2D/black.png
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/Dissolve2D/black.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://dgynwe5ry8cbv"
6 | path="res://.godot/imported/black.png-cf30e723a6e8f584fc40b074fe72de23.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/Dissolve/Dissolve2D/black.png"
14 | dest_files=["res://.godot/imported/black.png-cf30e723a6e8f584fc40b074fe72de23.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/Dissolve2D/color_ramp.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="Gradient" format=2]
2 |
3 | [resource]
4 | colors = PackedColorArray( 2.73725, 0.0784314, 0.329412, 1, 2.50196, 2.54118, 0.0705882, 1 )
5 |
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/Dissolve3D/DissolveMaterial.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=3 format=2]
2 |
3 | [ext_resource path="res://Demos/Dissolve/noise_tex.tres" type="Texture2D" id=1]
4 | [ext_resource path="res://Shaders/dissolve.gdshader" type="Shader" id=3]
5 |
6 | [resource]
7 | shader = ExtResource( 3 )
8 | shader_param/albedo = Color( 0.972549, 0.654902, 0.0509804, 1 )
9 | shader_param/emission_color = Color( 0.972549, 0.164706, 0.0588235, 1 )
10 | shader_param/emission_amount = 3.064
11 | shader_param/burn_size = 0.1
12 | shader_param/dissolve_amount = 0.0
13 | shader_param/dissolve_texture = ExtResource( 1 )
14 |
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/Dissolve3D/DissolvingSphere.gd:
--------------------------------------------------------------------------------
1 | extends MeshInstance3D
2 |
3 | @onready var _animation_player: AnimationPlayer = $AnimationPlayer
4 |
5 |
6 | func _unhandled_input(event: InputEvent) -> void:
7 | if event.is_action_pressed("ui_accept"):
8 | dissolve()
9 |
10 |
11 | func dissolve() -> void:
12 | _animation_player.play("Dissolve")
13 |
--------------------------------------------------------------------------------
/godot/Demos/Dissolve/noise_tex.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="NoiseTexture" load_steps=2 format=2]
2 |
3 | [sub_resource type="FastNoiseLite" id=1]
4 | period = 34.0
5 | persistence = 0.141
6 | lacunarity = 2.84
7 |
8 | [resource]
9 | seamless = true
10 | noise = SubResource( 1 )
11 |
--------------------------------------------------------------------------------
/godot/Demos/Flag3DDemo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=3 uid="uid://dkyf4721wih60"]
2 |
3 | [ext_resource type="PackedScene" uid="uid://ccoj1forkve0h" path="res://Demos/Flag3D/Flag3DScene.tscn" id="1"]
4 | [ext_resource type="PackedScene" uid="uid://dquhei2qv5csj" path="res://Shared/Demo3DEnvironment.tscn" id="2"]
5 | [ext_resource type="PackedScene" uid="uid://diofpwcvq5elu" path="res://Shared/DemoInterface.tscn" id="3"]
6 | [ext_resource type="Script" path="res://addons/ShaderSecretsHelper/DemoScreen.gd" id="4"]
7 |
8 | [node name="Flag3DDemo" type="CanvasLayer"]
9 | script = ExtResource("4")
10 |
11 | [node name="Flag3DScene" parent="." instance=ExtResource("1")]
12 |
13 | [node name="Demo3DEnvironment" parent="." instance=ExtResource("2")]
14 |
15 | [node name="DemoInterface" parent="." instance=ExtResource("3")]
16 | anchors_preset = 10
17 | text_bbcode = "The shader samples FastNoiseLite to give the impression of a flag blowing in the wind."
18 |
--------------------------------------------------------------------------------
/godot/Demos/ForceField/ForceFieldEmitter.gd:
--------------------------------------------------------------------------------
1 | extends RigidBody3D
2 |
3 | var _thrown := false
4 | @onready var _animation_player: AnimationPlayer = $ForceField/AnimationPlayer
5 |
6 |
7 | func _ready() -> void:
8 | connect("body_entered", Callable(self, "_on_RigidBody_body_entered").bind(), CONNECT_ONE_SHOT)
9 |
10 |
11 | func _unhandled_input(event: InputEvent) -> void:
12 | if not _thrown and event.is_action_pressed("ui_accept"):
13 | gravity_scale = 1
14 | apply_central_impulse(Vector3(0, 4, -6))
15 | _thrown = true
16 |
17 | func _on_RigidBody_body_entered(body: Node) -> void:
18 | _animation_player.play("Expand")
19 |
--------------------------------------------------------------------------------
/godot/Demos/ForceField/force_field_material.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://cp7fpmko6heid"]
2 |
3 | [ext_resource type="Shader" path="res://Shaders/force_field.gdshader" id="1_hm6s7"]
4 | [ext_resource type="Texture2D" uid="uid://b2skoftifgi55" path="res://Demos/ForceField/hexagon_grid.png" id="2_tm5w2"]
5 |
6 | [resource]
7 | render_priority = 0
8 | shader = ExtResource("1_hm6s7")
9 | shader_parameter/color = Color(0.607843, 0.219608, 1, 1)
10 | shader_parameter/pattern_scroll_speed = 0.025
11 | shader_parameter/pattern_uv_scale = Vector2(6, 3)
12 | shader_parameter/pattern_texture = ExtResource("2_tm5w2")
13 | shader_parameter/fresnel_power = 4.0
14 | shader_parameter/edge_intensity = 2.0
15 | shader_parameter/center_intensity = 0.1
16 | shader_parameter/pulsing_strength = 0.25
17 | shader_parameter/pulsing_speed = 1.0
18 | shader_parameter/scanline_frequency = 0.5
19 | shader_parameter/scanline_width = 0.1
20 | shader_parameter/scanline_intensity = 0.35
21 |
--------------------------------------------------------------------------------
/godot/Demos/ForceField/hexagon_grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/ForceField/hexagon_grid.png
--------------------------------------------------------------------------------
/godot/Demos/ForceField/hexagon_grid.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://b2skoftifgi55"
6 | path.s3tc="res://.godot/imported/hexagon_grid.png-6db776025160063ebd890f0fd572b349.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/ForceField/hexagon_grid.png"
15 | dest_files=["res://.godot/imported/hexagon_grid.png-6db776025160063ebd890f0fd572b349.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/ForceFieldDemo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=3 uid="uid://ynusfw8t4kgp"]
2 |
3 | [ext_resource type="PackedScene" uid="uid://haehxmhcirdj" path="res://Demos/ForceField/ForceFieldScene.tscn" id="1"]
4 | [ext_resource type="PackedScene" uid="uid://diofpwcvq5elu" path="res://Shared/DemoInterface.tscn" id="2"]
5 | [ext_resource type="PackedScene" uid="uid://dquhei2qv5csj" path="res://Shared/Demo3DEnvironment.tscn" id="3"]
6 | [ext_resource type="Script" path="res://addons/ShaderSecretsHelper/DemoScreen.gd" id="4"]
7 |
8 | [node name="ForceFieldDemo" type="CanvasLayer"]
9 | script = ExtResource("4")
10 |
11 | [node name="ForceFieldScene" parent="." instance=ExtResource("1")]
12 |
13 | [node name="Demo3DEnvironment" parent="." instance=ExtResource("3")]
14 |
15 | [node name="DemoInterface" parent="." instance=ExtResource("2")]
16 | anchors_preset = 10
17 |
--------------------------------------------------------------------------------
/godot/Demos/Glow2D/BlurGlow/GlowSprite.gd:
--------------------------------------------------------------------------------
1 | extends Sprite2D
2 |
3 | @export var prepass_viewport_path := NodePath()
4 | @export var glow_color := Color.WHITE
5 |
6 | var prepass_shader: Shader = preload("../shaders/glow_prepass.gdshader")
7 |
8 | @onready var prepass_viewport: SubViewport = get_node(prepass_viewport_path)
9 | @onready var remote_transform := $RemoteTransform2D
10 |
11 |
12 | func _ready() -> void:
13 | var sprite := Sprite2D.new()
14 | sprite.texture = texture
15 | sprite.position = position
16 | sprite.scale = scale
17 | sprite.material = ShaderMaterial.new()
18 | sprite.material.gdshader = prepass_shader
19 | sprite.material.set_shader_parameter("glow_color", glow_color)
20 | prepass_viewport.add_child(sprite)
21 | #remote_transform.remote_path = sprite.get_path()
22 |
--------------------------------------------------------------------------------
/godot/Demos/Glow2D/BlurGlow/Scene.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://dnei3uy5bhpha"]
2 |
3 | [ext_resource type="Texture2D" uid="uid://7giw201cbixu" path="res://Shared/sprites/robi_shaded.png" id="1_ocuod"]
4 |
5 | [node name="Scene" type="Node2D"]
6 |
7 | [node name="Sprite2D" type="Sprite2D" parent="."]
8 | position = Vector2(640, 360)
9 | scale = Vector2(0.75, 0.75)
10 | texture = ExtResource("1_ocuod")
11 |
--------------------------------------------------------------------------------
/godot/Demos/Glow2D/glowy_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Glow2D/glowy_arrow.png
--------------------------------------------------------------------------------
/godot/Demos/Glow2D/glowy_arrow.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://d1q5d535gph8b"
6 | path="res://.godot/imported/glowy_arrow.png-de2c8751c478916236e715884dd4696e.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/Glow2D/glowy_arrow.png"
14 | dest_files=["res://.godot/imported/glowy_arrow.png-de2c8751c478916236e715884dd4696e.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/ImpossibleCube/Rotate.gd:
--------------------------------------------------------------------------------
1 | extends MeshInstance3D
2 |
3 |
4 | func _process(delta: float) -> void:
5 | rotate_y(deg_to_rad(45) * delta)
6 | rotate_z(deg_to_rad(-10) * delta)
7 | rotate_x(deg_to_rad(10) * delta)
8 |
--------------------------------------------------------------------------------
/godot/Demos/ImpossibleCube/cube_full.obj.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="wavefront_obj"
4 | importer_version=1
5 | type="Mesh"
6 | uid="uid://bf02gogn681sv"
7 | path="res://.godot/imported/cube_full.obj-60db9d67724b6f7d6c6aac219701d74f.mesh"
8 |
9 | [deps]
10 |
11 | files=["res://.godot/imported/cube_full.obj-60db9d67724b6f7d6c6aac219701d74f.mesh"]
12 |
13 | source_file="res://Demos/ImpossibleCube/cube_full.obj"
14 | dest_files=["res://.godot/imported/cube_full.obj-60db9d67724b6f7d6c6aac219701d74f.mesh", "res://.godot/imported/cube_full.obj-60db9d67724b6f7d6c6aac219701d74f.mesh"]
15 |
16 | [params]
17 |
18 | generate_tangents=true
19 | scale_mesh=Vector3(1, 1, 1)
20 | offset_mesh=Vector3(0, 0, 0)
21 | optimize_mesh=true
22 | force_disable_mesh_compression=false
23 |
--------------------------------------------------------------------------------
/godot/Demos/ImpossibleCube/cube_hollow.obj.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="wavefront_obj"
4 | importer_version=1
5 | type="Mesh"
6 | uid="uid://c135huw5eyy5e"
7 | path="res://.godot/imported/cube_hollow.obj-4de84183df9c67d0b0a6399a2b01b7f1.mesh"
8 |
9 | [deps]
10 |
11 | files=["res://.godot/imported/cube_hollow.obj-4de84183df9c67d0b0a6399a2b01b7f1.mesh"]
12 |
13 | source_file="res://Demos/ImpossibleCube/cube_hollow.obj"
14 | dest_files=["res://.godot/imported/cube_hollow.obj-4de84183df9c67d0b0a6399a2b01b7f1.mesh", "res://.godot/imported/cube_hollow.obj-4de84183df9c67d0b0a6399a2b01b7f1.mesh"]
15 |
16 | [params]
17 |
18 | generate_tangents=true
19 | scale_mesh=Vector3(1, 1, 1)
20 | offset_mesh=Vector3(0, 0, 0)
21 | optimize_mesh=true
22 | force_disable_mesh_compression=false
23 |
--------------------------------------------------------------------------------
/godot/Demos/ImpossibleCube/cube_stencil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/ImpossibleCube/cube_stencil.png
--------------------------------------------------------------------------------
/godot/Demos/ImpossibleCube/cube_stencil.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bqan81l7b1nec"
6 | path="res://.godot/imported/cube_stencil.png-cb80a63d89e01f57011bbd16de2e3342.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/ImpossibleCube/cube_stencil.png"
14 | dest_files=["res://.godot/imported/cube_stencil.png-cb80a63d89e01f57011bbd16de2e3342.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/InteractiveSnowPlane.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/InteractiveSnowPlane.glb
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/InteractiveSnowball.gd:
--------------------------------------------------------------------------------
1 | extends MeshInstance3D
2 |
3 | @export var move_speed := 5.0
4 | @export var rotate_speed := PI
5 |
6 | @export var snow_size := Vector2(1.0, 1.0)
7 |
8 | func _process(delta: float) -> void:
9 | var move_dir = Vector2()
10 | move_dir.x = Input.get_action_strength("ui_left") - Input.get_action_strength("ui_right")
11 | move_dir.y = Input.get_action_strength("ui_up") - Input.get_action_strength("ui_down")
12 | rotate_y(move_dir.x * rotate_speed * delta)
13 | global_transform.origin += -global_transform.basis.z * move_speed * delta * move_dir.y
14 | global_transform.origin = Vector3(
15 | clamp(global_transform.origin.x, -snow_size.x, snow_size.x),
16 | global_transform.origin.y,
17 | clamp(global_transform.origin.z, -snow_size.y, snow_size.y))
18 |
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/BlendTexture.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/BlendTexture.jpg
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/Ground039_1K_Color.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/Ground039_1K_Color.jpg
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/Ground039_1K_Normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/Ground039_1K_Normal.jpg
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/Ground039_1K_Roughness.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/Ground039_1K_Roughness.jpg
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/Snow004_1K_Color.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/Snow004_1K_Color.jpg
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/Snow004_1K_Normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/Snow004_1K_Normal.jpg
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/Snow004_1K_Roughness.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/Snow004_1K_Roughness.jpg
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/testmask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/Textures/testmask.png
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/Textures/testmask.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://4aoeixrksfs7"
6 | path.s3tc="res://.godot/imported/testmask.png-b48ba02c0ef58088f0f75f5f8bb89706.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/InteractiveSnow/Textures/testmask.png"
15 | dest_files=["res://.godot/imported/testmask.png-b48ba02c0ef58088f0f75f5f8bb89706.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/TrailTexture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/TrailTexture.png
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/TrailTexture.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://ce4p2rcuyfu33"
6 | path="res://.godot/imported/TrailTexture.png-970f538987d56eae2649e7be54c789be.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/InteractiveSnow/TrailTexture.png"
14 | dest_files=["res://.godot/imported/TrailTexture.png-970f538987d56eae2649e7be54c789be.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/TrailTip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/InteractiveSnow/TrailTip.png
--------------------------------------------------------------------------------
/godot/Demos/InteractiveSnow/TrailTip.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cjbg8w0bk26ow"
6 | path="res://.godot/imported/TrailTip.png-0d4809e5b8c0d809431286b0cd6fb687.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/InteractiveSnow/TrailTip.png"
14 | dest_files=["res://.godot/imported/TrailTip.png-0d4809e5b8c0d809431286b0cd6fb687.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/MatCap/Chrome_matcap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/Chrome_matcap.png
--------------------------------------------------------------------------------
/godot/Demos/MatCap/Chrome_matcap.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://ce0sdbdtuv747"
6 | path.s3tc="res://.godot/imported/Chrome_matcap.png-7aa6f37a56a1f917ed484c93a8e53254.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/MatCap/Chrome_matcap.png"
15 | dest_files=["res://.godot/imported/Chrome_matcap.png-7aa6f37a56a1f917ed484c93a8e53254.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/MatCap/black_glass_matcap.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/black_glass_matcap.jpeg
--------------------------------------------------------------------------------
/godot/Demos/MatCap/copper_matcap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/copper_matcap.png
--------------------------------------------------------------------------------
/godot/Demos/MatCap/copper_matcap.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://hwdq7j2mpw1q"
6 | path.s3tc="res://.godot/imported/copper_matcap.png-5ae2579854008584d0550c4f955aa074.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/MatCap/copper_matcap.png"
15 | dest_files=["res://.godot/imported/copper_matcap.png-5ae2579854008584d0550c4f955aa074.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/MatCap/flat_sketch_matcap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/flat_sketch_matcap.png
--------------------------------------------------------------------------------
/godot/Demos/MatCap/glowy_matcap.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/glowy_matcap.jpeg
--------------------------------------------------------------------------------
/godot/Demos/MatCap/glowy_matcap.jpeg.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://br33hkyx2xa8s"
6 | path.s3tc="res://.godot/imported/glowy_matcap.jpeg-df0110fcb7eb1ec9335b8213165abe67.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/MatCap/glowy_matcap.jpeg"
15 | dest_files=["res://.godot/imported/glowy_matcap.jpeg-df0110fcb7eb1ec9335b8213165abe67.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/MatCap/plastic_matcap.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/plastic_matcap.jpg
--------------------------------------------------------------------------------
/godot/Demos/MatCap/plastic_matcap.jpg.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bv2ouefmicn1d"
6 | path.s3tc="res://.godot/imported/plastic_matcap.jpg-a77551a005db2450b0fdabac6c988e0e.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/MatCap/plastic_matcap.jpg"
15 | dest_files=["res://.godot/imported/plastic_matcap.jpg-a77551a005db2450b0fdabac6c988e0e.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/MatCap/red_matcap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/red_matcap.png
--------------------------------------------------------------------------------
/godot/Demos/MatCap/red_matcap.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://dsvtbbudbr12i"
6 | path.s3tc="res://.godot/imported/red_matcap.png-2a02e2803f53fa5011be80524ead9df8.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/MatCap/red_matcap.png"
15 | dest_files=["res://.godot/imported/red_matcap.png-2a02e2803f53fa5011be80524ead9df8.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/MatCap/redjade_matcap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/redjade_matcap.png
--------------------------------------------------------------------------------
/godot/Demos/MatCap/redjade_matcap.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cxfth4tsvftem"
6 | path.s3tc="res://.godot/imported/redjade_matcap.png-34253a782f1e970017401d6865aec3f3.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/MatCap/redjade_matcap.png"
15 | dest_files=["res://.godot/imported/redjade_matcap.png-34253a782f1e970017401d6865aec3f3.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/MatCap/skin_matcap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/MatCap/skin_matcap.png
--------------------------------------------------------------------------------
/godot/Demos/MatCap/skin_matcap.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://c3f2pxx1jwuwp"
6 | path.s3tc="res://.godot/imported/skin_matcap.png-3f1f5e91877ca78762874f7469b6aaeb.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/MatCap/skin_matcap.png"
15 | dest_files=["res://.godot/imported/skin_matcap.png-3f1f5e91877ca78762874f7469b6aaeb.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/MatCapDemo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=3 uid="uid://ctgrhpey5dygb"]
2 |
3 | [ext_resource type="PackedScene" uid="uid://cardfqb2rrmre" path="res://Demos/MatCap/MatCapScene.tscn" id="1"]
4 | [ext_resource type="PackedScene" path="res://Shared/DemoInterface.tscn" id="2"]
5 | [ext_resource type="PackedScene" path="res://Shared/Demo3DEnvironment.tscn" id="3"]
6 | [ext_resource type="Script" path="res://addons/ShaderSecretsHelper/DemoScreen.gd" id="4"]
7 |
8 | [node name="MatCapDemo" type="CanvasLayer"]
9 | script = ExtResource("4")
10 |
11 | [node name="MatCapScene" parent="." instance=ExtResource("1")]
12 |
13 | [node name="Demo3DEnvironment" parent="." instance=ExtResource("3")]
14 |
15 | [node name="DemoInterface" parent="." instance=ExtResource("2")]
16 |
--------------------------------------------------------------------------------
/godot/Demos/Outline/Outline2D/Cursor.gd:
--------------------------------------------------------------------------------
1 | extends Sprite2D
2 |
3 | @onready var anim_player: AnimationPlayer = $AnimationPlayer
4 |
5 |
6 | func _unhandled_input(event: InputEvent) -> void:
7 | if event.is_action_pressed("ui_accept") and not anim_player.is_playing():
8 | anim_player.play("scroll")
9 |
--------------------------------------------------------------------------------
/godot/Demos/Outline/Outline2D/Outline.gd:
--------------------------------------------------------------------------------
1 | extends Sprite2D
2 |
3 | @export var line_color := Color.WHITE
4 |
5 | @onready var _area: Area2D = $Area2D
6 |
7 |
8 | func _ready() -> void:
9 | _area.connect("mouse_entered", Callable(self, "_on_Area2D_mouse_entered"))
10 | _area.connect("mouse_exited", Callable(self, "_on_Area2D_mouse_exited"))
11 | line_color.a = 0
12 |
13 |
14 | func _on_Area2D_mouse_entered() -> void:
15 | var tween = create_tween()
16 | tween.tween_method(outline_alpha, line_color.a, 1.0, 0.25).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_OUT)
17 |
18 |
19 | func _on_Area2D_mouse_exited() -> void:
20 | var tween = create_tween()
21 | tween.tween_method(outline_alpha, line_color.a, 0.0, 0.25).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_IN)
22 |
23 |
24 | func outline_alpha(value: float) -> void:
25 | line_color.a = value
26 | material.set_shader_parameter("line_color", line_color)
27 |
--------------------------------------------------------------------------------
/godot/Demos/Outline/Outline2D/mouse_cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Outline/Outline2D/mouse_cursor.png
--------------------------------------------------------------------------------
/godot/Demos/Outline/Outline2D/mouse_cursor.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cmruopkdd22u2"
6 | path="res://.godot/imported/mouse_cursor.png-899fe6bf5a2e902989facb0b14a3f757.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/Outline/Outline2D/mouse_cursor.png"
14 | dest_files=["res://.godot/imported/mouse_cursor.png-899fe6bf5a2e902989facb0b14a3f757.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/Outline/Outline3D/CameraMouseHover.gd:
--------------------------------------------------------------------------------
1 | extends Camera3D
2 |
3 | const MOUSE_RANGE := 10000
4 | var last_target: Node3D
5 |
6 | @onready var _ray: RayCast3D = $RayCast3D
7 | @onready var view := get_tree().root
8 |
9 | func _physics_process(_delta: float) -> void:
10 | # Cast a ray straight out from the camera through the current mouse position
11 | var mouse_position := view.get_mouse_position()
12 | _ray.target_position = project_local_ray_normal(mouse_position) * MOUSE_RANGE
13 | _ray.force_raycast_update()
14 |
15 | if _ray.is_colliding():
16 | var target: Area3D = _ray.get_collider()
17 | if last_target and last_target != target:
18 | last_target.pop_out()
19 | last_target = target
20 | target.pop_in()
21 | elif last_target:
22 | last_target.pop_out()
23 | last_target = null
24 |
--------------------------------------------------------------------------------
/godot/Demos/Outline/Outline3D/OutlinePopArea.gd:
--------------------------------------------------------------------------------
1 | extends Area3D
2 |
3 | var animated_outline: AnimatedOutline
4 |
5 |
6 | func _ready() -> void:
7 | animated_outline = AnimatedOutline.new(
8 | get_parent().get_node("Tween"), get_parent().get_surface_override_material(0).next_pass, 0.5, 0.15
9 | )
10 |
11 |
12 | func pop_in() -> void:
13 | animated_outline.pop_in()
14 |
15 |
16 | func pop_out() -> void:
17 | animated_outline.pop_out()
18 |
--------------------------------------------------------------------------------
/godot/Demos/Outline3DDemo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=3 uid="uid://b4sybyy0v0daf"]
2 |
3 | [ext_resource type="Script" path="res://addons/ShaderSecretsHelper/DemoScreen.gd" id="1"]
4 | [ext_resource type="PackedScene" uid="uid://buf5buk4m1noy" path="res://Demos/Outline/Outline3D/Outline3DScene.tscn" id="2"]
5 | [ext_resource type="PackedScene" path="res://Shared/DemoInterface.tscn" id="3"]
6 | [ext_resource type="PackedScene" path="res://Shared/Demo3DEnvironment.tscn" id="4"]
7 |
8 | [node name="Outline3DDemo" type="CanvasLayer"]
9 | script = ExtResource("1")
10 |
11 | [node name="Outline3D" parent="." instance=ExtResource("2")]
12 |
13 | [node name="Demo3DEnvironment" parent="." instance=ExtResource("4")]
14 |
15 | [node name="DemoInterface" parent="." instance=ExtResource("3")]
16 |
--------------------------------------------------------------------------------
/godot/Demos/PaletteSwap2D/KingsAndPigs_color_sets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/PaletteSwap2D/KingsAndPigs_color_sets.png
--------------------------------------------------------------------------------
/godot/Demos/PaletteSwap2D/KingsAndPigs_color_sets.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://b4u1tg6328ein"
6 | path="res://.godot/imported/KingsAndPigs_color_sets.png-3358d9850b09d536c82fac90f6cb4ec9.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/PaletteSwap2D/KingsAndPigs_color_sets.png"
14 | dest_files=["res://.godot/imported/KingsAndPigs_color_sets.png-3358d9850b09d536c82fac90f6cb4ec9.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/PaletteSwap2D/KingsAndPigs_greyscale_sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/PaletteSwap2D/KingsAndPigs_greyscale_sprite.png
--------------------------------------------------------------------------------
/godot/Demos/PaletteSwap2D/PaletteSwapSprite.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends Sprite2D
3 |
4 | const PALLETE_COUNT := 4
5 |
6 |
7 | func _unhandled_input(event: InputEvent) -> void:
8 | if event.is_action_pressed("ui_accept"):
9 | var index = material.get_shader_parameter("palette_index")
10 | material.set_shader_parameter("palette_index", posmod(index + 1, PALLETE_COUNT))
11 |
--------------------------------------------------------------------------------
/godot/Demos/ParticleBridge/ParticleBridgeDemo.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | # ANCHOR: setup
3 | extends Particles
4 |
5 | @export var character_node := NodePath()
6 | # END: setup
7 | @onready var _animator: AnimationPlayer = $AnimationPlayer
8 | @onready var _area: Area3D = $Area3D
9 |
10 | func _ready() -> void:
11 | _area.connect("body_entered", Callable(self, "on_area_body_entered").bind(true))
12 | _area.connect("body_exited", Callable(self, "on_area_body_entered").bind(false))
13 |
14 | func on_area_body_entered(body: Node, is_entering: bool) -> void:
15 | if body is RigidBody3D:
16 | _animator.play("show") if is_entering else _animator.play_backwards("show")
17 | # ANCHOR: process
18 | func _process(_delta: float) -> void:
19 | process_material.set_shader_parameter("character_position", get_node(character_node).global_transform.origin)
20 | # END: process
21 |
--------------------------------------------------------------------------------
/godot/Demos/ParticleBridge/RigidPlayer.gd:
--------------------------------------------------------------------------------
1 | # ANCHOR: all
2 | extends RigidBody3D
3 |
4 | func _integrate_forces(state: PhysicsDirectBodyState3D) -> void:
5 | var input = Input.get_vector("ui_left", "ui_right", "ui_down", "ui_up")
6 | state.apply_central_impulse(Vector3(input.y, 0, input.x))
7 | # END: all
8 |
--------------------------------------------------------------------------------
/godot/Demos/Reflection2D/Reflection2D.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | # Forwards the Y zoom and Y scale values to the mirror shader
3 | extends Sprite2D
4 |
5 | func _ready() -> void:
6 | connect("item_rect_changed", Callable(self, "_on_item_rect_changed"))
7 |
8 |
9 | func _process(_delta: float) -> void:
10 | update_zoom(get_viewport_transform().y.y)
11 |
12 |
13 | func update_zoom(value: float) -> void:
14 | material.set_shader_parameter("zoom_y", value)
15 |
16 |
17 | func _on_item_rect_changed() -> void:
18 | material.set_shader_parameter("scale_y", scale.y)
19 |
--------------------------------------------------------------------------------
/godot/Demos/Reflection2D/Reflection2DTextureRect.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | # Forwards the Y zoom and Y scale values to the mirror shader
3 | extends TextureRect
4 |
5 |
6 | func _ready() -> void:
7 | connect("item_rect_changed", Callable(self, "_on_item_rect_changed"))
8 |
9 |
10 | func _process(_delta: float) -> void:
11 | update_zoom(get_viewport_transform().y.y)
12 |
13 |
14 | func update_zoom(value: float) -> void:
15 | material.set_shader_parameter("zoom_y", value)
16 |
17 |
18 | func _on_item_rect_changed() -> void:
19 | var scale_y = size.y / texture.get_size().y
20 | scale_y *= scale.y
21 |
22 | material.set_shader_parameter("scale_y", scale_y)
23 |
--------------------------------------------------------------------------------
/godot/Demos/Reflection2D/mirror_y.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform float scale_y = 1.0f;
4 | uniform float zoom_y = 1.0f;
5 |
6 | void fragment() {
7 | float px_size_ratio = SCREEN_PIXEL_SIZE.y / TEXTURE_PIXEL_SIZE.y;
8 | vec2 uv_reflected = vec2(SCREEN_UV.x, SCREEN_UV.y + px_size_ratio * UV.y * 2.0 * scale_y * zoom_y);
9 |
10 | COLOR = texture(SCREEN_TEXTURE, uv_reflected);
11 | }
--------------------------------------------------------------------------------
/godot/Demos/Shockwave/Shockwave.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends SubViewportContainer
3 |
4 | @export var shockwave_duration := 2.0
5 | @export var mask_path := NodePath()
6 |
7 | var torus_radius := -0.25: set = _set_torus_radius
8 |
9 | @onready var _tween: Tween = $Tween
10 | @onready var _mask: ColorRect = get_node(mask_path)
11 |
12 |
13 | func _unhandled_input(event: InputEvent) -> void:
14 | if event.is_action_pressed("ui_accept"):
15 | blast()
16 |
17 |
18 | func blast() -> void:
19 | _tween.interpolate_property(
20 | self, "torus_radius", -0.25, 2.0, shockwave_duration, Tween.TRANS_LINEAR, Tween.EASE_OUT
21 | )
22 | _tween.start()
23 |
24 |
25 | func _set_torus_radius(value: float) -> void:
26 | torus_radius = value
27 | if not is_inside_tree():
28 | await self.ready
29 | _mask.get_material().set_shader_parameter("torus_radius", torus_radius)
30 |
--------------------------------------------------------------------------------
/godot/Demos/Shockwave/ShockwaveMaterial.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Shaders/shockwave.gdshader" type="Shader" id=1]
4 |
5 | [resource]
6 | shader = ExtResource( 1 )
7 | shader_param/torus_thickness = 0.286
8 | shader_param/torus_hardness = 0.19
9 | shader_param/torus_radius = -0.25
10 | shader_param/torus_invert = -1.0
11 | shader_param/torus_center = Vector2( 0.5, 0.25 )
12 | shader_param/torus_size = Vector2( 1.78, 1 )
13 | shader_param/displacement_amount = 0.5
14 |
--------------------------------------------------------------------------------
/godot/Demos/Shockwave/basic_blue.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StandardMaterial3D" format=2]
2 |
3 | [resource]
4 | albedo_color = Color( 0.0392157, 0.670588, 0.866667, 1 )
5 | metallic_specular = 0.37
6 |
--------------------------------------------------------------------------------
/godot/Demos/Shockwave3D/Scene.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Shockwave3D/Scene.blend
--------------------------------------------------------------------------------
/godot/Demos/Shockwave3D/Shockwave.gd:
--------------------------------------------------------------------------------
1 | extends Node3D
2 |
3 | @export var shockwave_material: ShaderMaterial
4 | @onready var _animation_player: AnimationPlayer = $AnimationPlayer
5 |
6 |
7 | func _ready() -> void:
8 | for child in get_children():
9 | if child is MeshInstance3D:
10 | child.set_surface_override_material(0, shockwave_material)
11 |
12 |
13 | func _unhandled_input(event: InputEvent) -> void:
14 | if event.is_action_pressed("ui_accept"):
15 | _animation_player.stop(true)
16 | _animation_player.play("Shockwave")
17 |
--------------------------------------------------------------------------------
/godot/Demos/Shockwave3D/Shockwave3DMaterial.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://cg217bygmqp72"]
2 |
3 | [ext_resource type="Shader" path="res://Shaders/shockwave_3d.gdshader" id="1_twfkb"]
4 | [ext_resource type="Texture2D" uid="uid://dklympjuioh10" path="res://Shared/models/3D-environment/SceneColorAtlas.tres" id="2_a4p71"]
5 |
6 | [resource]
7 | render_priority = 0
8 | shader = ExtResource("1_twfkb")
9 | shader_parameter/shockwave_origin = Vector3(0, 0.5, 0)
10 | shader_parameter/shockwave_radius = 16.0
11 | shader_parameter/shockwave_percentage = 0.0
12 | shader_parameter/shockwave_width = 1.0
13 | shader_parameter/shockwave_strength = 0.5
14 | shader_parameter/albedo_texture = ExtResource("2_a4p71")
15 |
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/.LanternAlbedo.png-autosave.kra:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/.LanternAlbedo.png-autosave.kra
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/BridgeBody.mesh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/BridgeBody.mesh
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/BridgeMaterial.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=4 format=2]
2 |
3 | [ext_resource path="res://Shaders/sphere_mask.gdshader" type="Shader" id=1]
4 |
5 | [sub_resource type="FastNoiseLite" id=1]
6 | period = 26.7
7 | persistence = 0.151
8 | lacunarity = 2.08
9 |
10 | [sub_resource type="NoiseTexture" id=2]
11 | seamless = true
12 | noise = SubResource( 1 )
13 |
14 | [resource]
15 | shader = ExtResource( 1 )
16 | shader_param/mask_center = Vector3( -3.42114, 4.25289, -4.76837e-07 )
17 | shader_param/mask_radius = 0.0
18 | shader_param/mask_border_radius = 4.0
19 | shader_param/emission_energy = 4.317
20 | shader_param/object_color = Color( 0.443137, 0.286275, 0.0470588, 1 )
21 | shader_param/mask_color = Color( 1, 0.980392, 0.505882, 1 )
22 | shader_param/ghost_noise = SubResource( 2 )
23 |
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/Lantern.mesh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/Lantern.mesh
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/LanternAlbedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/LanternAlbedo.png
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/LanternAlbedo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bbtbok264a38"
6 | path.s3tc="res://.godot/imported/LanternAlbedo.png-28f70293ab6d6fda6ea986e136398499.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/SphereMask/LanternAlbedo.png"
15 | dest_files=["res://.godot/imported/LanternAlbedo.png-28f70293ab6d6fda6ea986e136398499.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/LanternMaterial.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/LanternMaterial.material
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/LanternMaterialEmissive.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/LanternMaterialEmissive.material
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/LanternPositionToMaterial.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | # ANCHOR: all
3 | extends Node
4 |
5 | @onready var _bridge_body: MeshInstance3D = $BridgeBody
6 | @onready var _lantern: MeshInstance3D = $Lantern
7 |
8 |
9 | func _process(_delta: float) -> void:
10 | _bridge_body.material_override.set_shader_parameter("mask_center", _lantern.global_transform.origin)
11 |
12 | # END: all
13 |
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/PaperTransmission.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/PaperTransmission.jpg
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/Poles.mesh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/Poles.mesh
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/PolesMaterial.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/PolesMaterial.material
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/PolesTexture.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/PolesTexture.jpeg
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/PolesTexture.jpeg.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://dnpqsu1b5m502"
6 | path.s3tc="res://.godot/imported/PolesTexture.jpeg-1c872967a02fc28a745392922a974bbe.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/SphereMask/PolesTexture.jpeg"
15 | dest_files=["res://.godot/imported/PolesTexture.jpeg-1c872967a02fc28a745392922a974bbe.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/SphereMaskMaterial.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/SphereMaskMaterial.material
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/bridge-lantern.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/bridge-lantern.blend
--------------------------------------------------------------------------------
/godot/Demos/SphereMask/bridge-lantern.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/SphereMask/bridge-lantern.glb
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/BlueFireGradient.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="GradientTexture2D" load_steps=2 format=3 uid="uid://xl22pmkk0nsk"]
2 |
3 | [sub_resource type="Gradient" id="1"]
4 | colors = PackedColorArray(0, 0.976562, 1, 1, 0.335327, 0, 0.640625, 0)
5 |
6 | [resource]
7 | gradient = SubResource("1")
8 | width = 128
9 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/CloudNoise.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://dnre508h7bl23"]
2 |
3 | [sub_resource type="FastNoiseLite" id="1"]
4 |
5 | [resource]
6 | seamless = true
7 | noise = SubResource("1")
8 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/FireGradient.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="GradientTexture2D" load_steps=2 format=2]
2 |
3 | [sub_resource type="Gradient" id=1]
4 | colors = PackedColorArray( 1, 0.890625, 0, 1, 1, 0, 0.447059, 0 )
5 |
6 | [resource]
7 | gradient = SubResource( 1 )
8 | width = 128
9 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/FireMask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedFire/FireMask.png
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/FireMask.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bko6oayqcslrd"
6 | path.s3tc="res://.godot/imported/FireMask.png-449a5975d3ec46a30137f9c77f5aac15.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/StylizedFire/FireMask.png"
15 | dest_files=["res://.godot/imported/FireMask.png-449a5975d3ec46a30137f9c77f5aac15.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/GreenFireGradient.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="GradientTexture2D" load_steps=2 format=3 uid="uid://b8wh1wkibxdsi"]
2 |
3 | [sub_resource type="Gradient" id="1"]
4 | colors = PackedColorArray(0.21875, 1, 0, 1, 0, 0.640625, 0.145142, 0)
5 |
6 | [resource]
7 | gradient = SubResource("1")
8 | width = 128
9 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/HoleNoise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedFire/HoleNoise.png
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/HoleNoise.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://flldwuhtdvhp"
6 | path.s3tc="res://.godot/imported/HoleNoise.png-4463c65817ac6974adf95590921ef8c1.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/StylizedFire/HoleNoise.png"
15 | dest_files=["res://.godot/imported/HoleNoise.png-4463c65817ac6974adf95590921ef8c1.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/WispyNoise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedFire/WispyNoise.png
--------------------------------------------------------------------------------
/godot/Demos/StylizedFire/WispyNoise.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://dbrvgwdbjk1jg"
6 | path.s3tc="res://.godot/imported/WispyNoise.png-51c0c348937110df7c2bdbd4e9b46669.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/StylizedFire/WispyNoise.png"
15 | dest_files=["res://.godot/imported/WispyNoise.png-51c0c348937110df7c2bdbd4e9b46669.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedLiquid/Models/Beige.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedLiquid/Models/Beige.material
--------------------------------------------------------------------------------
/godot/Demos/StylizedLiquid/Models/Glass.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedLiquid/Models/Glass.material
--------------------------------------------------------------------------------
/godot/Demos/StylizedLiquid/Models/Red.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedLiquid/Models/Red.material
--------------------------------------------------------------------------------
/godot/Demos/StylizedLiquid/Models/potionLarge_red.gltf.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedLiquid/Models/potionLarge_red.gltf.glb
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/RocksMaterial.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/RocksMaterial.material
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/RocksMaterial.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StandardMaterial3D" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Demos/StylizedWaterfall/rock-color.jpg" type="Texture2D" id=1]
4 |
5 | [resource]
6 | resource_name = "RocksMaterial"
7 | params_cull_mode = 2
8 | albedo_color = Color( 0.906332, 0.906332, 0.906332, 1 )
9 | albedo_texture = ExtResource( 1 )
10 | roughness = 0.98
11 | uv1_scale = Vector3( 0.2, 0.2, 0.2 )
12 | uv1_triplanar = true
13 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/RocksMaterial_001.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/RocksMaterial_001.material
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/Sand_001.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/Sand_001.material
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/WaterfallMaterial_001.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/WaterfallMaterial_001.material
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/WaterfallMesh.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/WaterfallMesh.blend
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/WaterfallMesh.blend.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/WaterfallMesh.blend.zip
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/WaterfallMesh.blend1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/WaterfallMesh.blend1
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/color-uv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/color-uv.png
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/color-uv.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://7odxh76ikyoc"
6 | path.s3tc="res://.godot/imported/color-uv.png-496367f6ad09710c855d6a003addcc01.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/StylizedWaterfall/color-uv.png"
15 | dest_files=["res://.godot/imported/color-uv.png-496367f6ad09710c855d6a003addcc01.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/rock-color.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/StylizedWaterfall/rock-color.jpg
--------------------------------------------------------------------------------
/godot/Demos/StylizedWaterfall/rock-color.jpg.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://b0igw80sapwjy"
6 | path.s3tc="res://.godot/imported/rock-color.jpg-28d9e9b39649ad9d57e7411a78b117a5.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/StylizedWaterfall/rock-color.jpg"
15 | dest_files=["res://.godot/imported/rock-color.jpg-28d9e9b39649ad9d57e7411a78b117a5.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/TextureMixDemo.gd:
--------------------------------------------------------------------------------
1 | extends AnimationPlayer
2 |
3 | func _unhandled_input(event: InputEvent) -> void:
4 | if event.is_action_pressed("ui_accept"):
5 | play("show-mix")
6 |
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/lambert2.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/TextureMix/lambert2.material
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/scene.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/TextureMix/scene.glb
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/textures/Moss003_1K_Color.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/TextureMix/textures/Moss003_1K_Color.jpg
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/textures/Moss003_1K_Normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/TextureMix/textures/Moss003_1K_Normal.jpg
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/textures/lambert2_ao.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/TextureMix/textures/lambert2_ao.jpg
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/textures/lambert2_ao.jpg.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://euw4gltajib2"
6 | path.s3tc="res://.godot/imported/lambert2_ao.jpg-56c774f52c4707998d527f1349d3a01a.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/TextureMix/textures/lambert2_ao.jpg"
15 | dest_files=["res://.godot/imported/lambert2_ao.jpg-56c774f52c4707998d527f1349d3a01a.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/textures/lambert2_baseColor.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/TextureMix/textures/lambert2_baseColor.jpeg
--------------------------------------------------------------------------------
/godot/Demos/TextureMix/textures/lambert2_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/TextureMix/textures/lambert2_normal.jpg
--------------------------------------------------------------------------------
/godot/Demos/UnlitDirectionalTint/UnlitDirectionalTint.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://b728wkr1lafxb"]
2 |
3 | [ext_resource type="Shader" path="res://Shaders/unlit_directional_tint.gdshader" id="1"]
4 | [ext_resource type="Texture2D" uid="uid://dklympjuioh10" path="res://Shared/models/3D-environment/SceneColorAtlas.tres" id="2"]
5 |
6 | [resource]
7 | render_priority = 0
8 | shader = ExtResource("1")
9 | shader_parameter/tint_x = Color(0.4, 0.6, 0.8, 1)
10 | shader_parameter/tint_y = Color(0.9, 0.9, 0.9, 1)
11 | shader_parameter/tint_z = Color(0.6, 0.8, 0.7, 1)
12 | shader_parameter/overall_tint = Color(1, 1, 1, 1)
13 | shader_parameter/albedo_texture = ExtResource("2")
14 |
--------------------------------------------------------------------------------
/godot/Demos/Water2D/Water2D.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends Sprite2D
3 |
4 |
5 | func _ready() -> void:
6 | connect("item_rect_changed", Callable(self, "_on_item_rect_changed"))
7 | get_viewport().transparent_bg = true
8 | _on_item_rect_changed()
9 |
10 |
11 | func _on_item_rect_changed() -> void:
12 | material.set_shader_parameter("aspect_ratio", scale.y / scale.x)
13 |
--------------------------------------------------------------------------------
/godot/Demos/Water2D/disk_mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water2D/disk_mask.png
--------------------------------------------------------------------------------
/godot/Demos/Water2D/disk_mask.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://drxbsginfxx7k"
6 | path.s3tc="res://.godot/imported/disk_mask.png-c135557b7a633daddd6b673d501bf067.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/Water2D/disk_mask.png"
15 | dest_files=["res://.godot/imported/disk_mask.png-c135557b7a633daddd6b673d501bf067.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/Water2D/water_2D_material.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ShaderMaterial" load_steps=3 format=2]
2 |
3 | [ext_resource path="res://Shaders/water_2D.gdshader" type="Shader" id=1]
4 | [ext_resource path="res://Demos/Water2D/water_uv_offset.png" type="Texture2D" id=2]
5 |
6 | [resource]
7 | shader = ExtResource( 1 )
8 | shader_param/shadow_color = Color( 0.0352941, 0.243137, 0.568627, 1 )
9 | shader_param/tile_factor = 8.0
10 | shader_param/aspect_ratio = 0.5625
11 | shader_param/texture_offset_scale = Vector2( 1, 0.5 )
12 | shader_param/texture_offset_height = 0.04
13 | shader_param/texture_offset_time_scale = 0.03
14 | shader_param/sine_time_scale = 3.0
15 | shader_param/sine_offset_scale = Vector2( 0.4, 1.4 )
16 | shader_param/sine_wave_size = 0.06
17 | shader_param/texture_offset_uv = ExtResource( 2 )
18 |
--------------------------------------------------------------------------------
/godot/Demos/Water2D/water_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water2D/water_diffuse.png
--------------------------------------------------------------------------------
/godot/Demos/Water2D/water_diffuse.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cpypwjmxudcob"
6 | path="res://.godot/imported/water_diffuse.png-14571dc9f01ed2f9cf5d9cdd018173b8.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/Water2D/water_diffuse.png"
14 | dest_files=["res://.godot/imported/water_diffuse.png-14571dc9f01ed2f9cf5d9cdd018173b8.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=1
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/Water2D/water_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water2D/water_normal.png
--------------------------------------------------------------------------------
/godot/Demos/Water2D/water_normal.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://lbwgnv1jw2ei"
6 | path="res://.godot/imported/water_normal.png-3846af6d8537d306313dd5207456869e.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/Water2D/water_normal.png"
14 | dest_files=["res://.godot/imported/water_normal.png-3846af6d8537d306313dd5207456869e.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=1
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/Water2D/water_uv_offset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water2D/water_uv_offset.png
--------------------------------------------------------------------------------
/godot/Demos/Water2D/water_uv_offset.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://b30vsrt1e6x4y"
6 | path="res://.godot/imported/water_uv_offset.png-65395cd4b38719072685a3d9276512a2.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/Water2D/water_uv_offset.png"
14 | dest_files=["res://.godot/imported/water_uv_offset.png-65395cd4b38719072685a3d9276512a2.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=1
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/Water3D/diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water3D/diffuse.png
--------------------------------------------------------------------------------
/godot/Demos/Water3D/diffuse.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://ddv3mmgjndlhs"
6 | path.s3tc="res://.godot/imported/diffuse.png-201dcb2e727cda91e26b2d0d4928f41d.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/Water3D/diffuse.png"
15 | dest_files=["res://.godot/imported/diffuse.png-201dcb2e727cda91e26b2d0d4928f41d.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/Water3D/normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water3D/normal.png
--------------------------------------------------------------------------------
/godot/Demos/Water3D/normal.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://drdcg4crc6qjc"
6 | path.s3tc="res://.godot/imported/normal.png-776bd7cec2b58aa5f80c7015b4427e03.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/Water3D/normal.png"
15 | dest_files=["res://.godot/imported/normal.png-776bd7cec2b58aa5f80c7015b4427e03.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=1
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/Water3D/rocks.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water3D/rocks.glb
--------------------------------------------------------------------------------
/godot/Demos/Water3D/specular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Water3D/specular.png
--------------------------------------------------------------------------------
/godot/Demos/Water3D/specular.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://ceesylgw5s4f3"
6 | path.s3tc="res://.godot/imported/specular.png-d66e15c40480db596fc399013b1281d2.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/Water3D/specular.png"
15 | dest_files=["res://.godot/imported/specular.png-d66e15c40480db596fc399013b1281d2.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/WaterSidescroll2D/WaterSidescroll2D.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | # Sets water shader parameters
3 | extends Sprite2D
4 |
5 |
6 | func _ready() -> void:
7 | connect("item_rect_changed", Callable(self, "update_scale"))
8 | connect("texture_changed", Callable(self, "update_aspect_ratio"))
9 |
10 | update_aspect_ratio()
11 | update_zoom()
12 | update_scale()
13 |
14 |
15 | func _process(_delta: float) -> void:
16 | update_zoom()
17 |
18 |
19 | func update_scale() -> void:
20 | material.set_shader_parameter("scale", scale)
21 |
22 |
23 | # Sets the canvas zoom level
24 | func update_zoom() -> void:
25 | material.set_shader_parameter("zoom_y", get_viewport_transform().y.y)
26 |
27 |
28 | # Sets the aspect ratio of the texture
29 | func update_aspect_ratio() -> void:
30 | material.set_shader_parameter("aspect_ratio", texture.get_size().aspect())
31 |
--------------------------------------------------------------------------------
/godot/Demos/WindGrass/grass_triangle.obj:
--------------------------------------------------------------------------------
1 | # Blender v2.83.0 OBJ File: ''
2 | # www.blender.org
3 | v -0.255078 0.000000 0.000000
4 | v 0.255078 0.000000 0.000000
5 | v 0.000000 2.013708 0.000000
6 | v -0.127539 1.006854 0.000000
7 | v 0.127539 1.006854 0.000000
8 | v -0.191308 0.503427 0.000000
9 | v 0.063769 1.510281 0.000000
10 | v -0.063769 1.510281 0.000000
11 | v 0.191308 0.503427 0.000000
12 | vt 0.621057 0.520384
13 | vt 0.497980 0.979655
14 | vt 0.376628 0.520384
15 | vt 0.744133 0.238847
16 | vt 0.133923 0.098911
17 | vt 0.867209 0.098911
18 | vt 0.012570 0.013663
19 | vt 0.990286 0.013663
20 | vt 0.255275 0.238847
21 | vn 0.0000 0.0000 1.0000
22 | s 1
23 | f 7/1/1 3/2/1 8/3/1
24 | f 5/4/1 6/5/1 9/6/1
25 | f 9/6/1 1/7/1 2/8/1
26 | f 7/1/1 4/9/1 5/4/1
27 | f 5/4/1 4/9/1 6/5/1
28 | f 9/6/1 6/5/1 1/7/1
29 | f 7/1/1 8/3/1 4/9/1
30 |
--------------------------------------------------------------------------------
/godot/Demos/WindGrass/grass_triangle.obj.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="wavefront_obj"
4 | importer_version=1
5 | type="Mesh"
6 | uid="uid://dkmbbutsksngn"
7 | path="res://.godot/imported/grass_triangle.obj-69ff51371c7a175889742fbd794836f2.mesh"
8 |
9 | [deps]
10 |
11 | files=["res://.godot/imported/grass_triangle.obj-69ff51371c7a175889742fbd794836f2.mesh"]
12 |
13 | source_file="res://Demos/WindGrass/grass_triangle.obj"
14 | dest_files=["res://.godot/imported/grass_triangle.obj-69ff51371c7a175889742fbd794836f2.mesh", "res://.godot/imported/grass_triangle.obj-69ff51371c7a175889742fbd794836f2.mesh"]
15 |
16 | [params]
17 |
18 | generate_tangents=true
19 | scale_mesh=Vector3(1, 1, 1)
20 | offset_mesh=Vector3(0, 0, 0)
21 | optimize_mesh=true
22 | force_disable_mesh_compression=false
23 |
--------------------------------------------------------------------------------
/godot/Demos/WindGrass/unshaded.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode unshaded;
3 |
4 | uniform vec4 albedo : source_color;
5 |
6 | void fragment() {
7 | ALBEDO = albedo.rgb;
8 | }
9 |
--------------------------------------------------------------------------------
/godot/Demos/WindGrassDemo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=5 format=3 uid="uid://cslaml3dy0asm"]
2 |
3 | [ext_resource type="PackedScene" uid="uid://03bjah3n70ep" path="res://Demos/WindGrass/WindGrassScene.tscn" id="1"]
4 | [ext_resource type="PackedScene" uid="uid://diofpwcvq5elu" path="res://Shared/DemoInterface.tscn" id="2"]
5 | [ext_resource type="PackedScene" uid="uid://dquhei2qv5csj" path="res://Shared/Demo3DEnvironment.tscn" id="3"]
6 | [ext_resource type="Script" path="res://addons/ShaderSecretsHelper/DemoScreen.gd" id="4"]
7 |
8 | [node name="WindGrassDemo" type="CanvasLayer"]
9 | script = ExtResource("4")
10 |
11 | [node name="WindGrass" parent="." instance=ExtResource("1")]
12 |
13 | [node name="Demo3DEnvironment" parent="." instance=ExtResource("3")]
14 |
15 | [node name="DemoInterface" parent="." instance=ExtResource("2")]
16 | anchors_preset = 10
17 | text_bbcode = "A wind shader that uses MultiMesh to create the blades of grass and a noise texture for the wind. This shader also supports one character interacting with the grass."
18 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Models/Tree.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Models/Tree.glb
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Models/grass_clump.mesh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Models/grass_clump.mesh
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Models/terrain.obj.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="wavefront_obj"
4 | importer_version=1
5 | type="Mesh"
6 | uid="uid://bylmuengfvc88"
7 | path="res://.godot/imported/terrain.obj-7a44bc559aa398ea45be1c74f8d87a1a.mesh"
8 |
9 | [deps]
10 |
11 | files=["res://.godot/imported/terrain.obj-7a44bc559aa398ea45be1c74f8d87a1a.mesh"]
12 |
13 | source_file="res://Demos/WindTrees/Models/terrain.obj"
14 | dest_files=["res://.godot/imported/terrain.obj-7a44bc559aa398ea45be1c74f8d87a1a.mesh", "res://.godot/imported/terrain.obj-7a44bc559aa398ea45be1c74f8d87a1a.mesh"]
15 |
16 | [params]
17 |
18 | generate_tangents=true
19 | scale_mesh=Vector3(1, 1, 1)
20 | offset_mesh=Vector3(0, 0, 0)
21 | optimize_mesh=true
22 | force_disable_mesh_compression=false
23 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/3d_noise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/3d_noise.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/3d_noise.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://buqm33ggdn3nx"
6 | path.s3tc="res://.godot/imported/3d_noise.png-23677fd01461567a3962a4aceaf45b46.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/WindTrees/Textures/3d_noise.png"
15 | dest_files=["res://.godot/imported/3d_noise.png-23677fd01461567a3962a4aceaf45b46.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/bark_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/bark_albedo.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/bark_albedo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://c1vt8rp6prxc1"
6 | path.s3tc="res://.godot/imported/bark_albedo.png-824c1254517a4a280d76c9da002a31f9.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/WindTrees/Textures/bark_albedo.png"
15 | dest_files=["res://.godot/imported/bark_albedo.png-824c1254517a4a280d76c9da002a31f9.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/bark_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/bark_normal.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/bark_normal.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bo6bgmt3vg8v"
6 | path.s3tc="res://.godot/imported/bark_normal.png-924cfaf79650e49e1ac4679b81d821c7.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/WindTrees/Textures/bark_normal.png"
15 | dest_files=["res://.godot/imported/bark_normal.png-924cfaf79650e49e1ac4679b81d821c7.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=1
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/elm leaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/elm leaf.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/elm leaf.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://2g6hf4xcqigc"
6 | path.s3tc="res://.godot/imported/elm leaf.png-ec76b1c73de3a91e6ad95088c2d3c717.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/WindTrees/Textures/elm leaf.png"
15 | dest_files=["res://.godot/imported/elm leaf.png-ec76b1c73de3a91e6ad95088c2d3c717.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/elm_leaf_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/elm_leaf_albedo.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/elm_leaf_albedo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://c1uph7066yy0v"
6 | path="res://.godot/imported/elm_leaf_albedo.png-6f95af9073784b418fd138c018c41ef8.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/WindTrees/Textures/elm_leaf_albedo.png"
14 | dest_files=["res://.godot/imported/elm_leaf_albedo.png-6f95af9073784b418fd138c018c41ef8.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/elm_leaf_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/elm_leaf_normal.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/elm_leaf_transmission.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/elm_leaf_transmission.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/grass_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/grass_albedo.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/grass_albedo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cas8g4fr7rp3x"
6 | path.s3tc="res://.godot/imported/grass_albedo.png-ef2c14982bd1c67b78de311b737491fa.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/WindTrees/Textures/grass_albedo.png"
15 | dest_files=["res://.godot/imported/grass_albedo.png-ef2c14982bd1c67b78de311b737491fa.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/grass_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/grass_normal.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/grass_normal.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cn2xfijmvf5m4"
6 | path.s3tc="res://.godot/imported/grass_normal.png-f8c8fa4def4f46c143a43383fa45ab6c.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/WindTrees/Textures/grass_normal.png"
15 | dest_files=["res://.godot/imported/grass_normal.png-f8c8fa4def4f46c143a43383fa45ab6c.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=1
24 | compress/channel_pack=0
25 | mipmaps/generate=true
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=0
36 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/ground_ORM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/ground_ORM.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/ground_ORM.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bah7byvr8ft6h"
6 | path.s3tc="res://.godot/imported/ground_ORM.png-e9399263f54f3a736f5ea159720347f7.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Demos/WindTrees/Textures/ground_ORM.png"
15 | dest_files=["res://.godot/imported/ground_ORM.png-e9399263f54f3a736f5ea159720347f7.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/ground_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/ground_albedo.png
--------------------------------------------------------------------------------
/godot/Demos/WindTrees/Textures/ground_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/WindTrees/Textures/ground_normal.png
--------------------------------------------------------------------------------
/godot/Demos/WindTreesDemo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=4 format=3 uid="uid://syydvbuwb374"]
2 |
3 | [ext_resource type="PackedScene" uid="uid://d1dkqm4e2auq" path="res://Demos/WindTrees/WindTreeScene.tscn" id="1"]
4 | [ext_resource type="PackedScene" path="res://Shared/DemoInterface.tscn" id="2"]
5 | [ext_resource type="Script" path="res://addons/ShaderSecretsHelper/DemoScreen.gd" id="4"]
6 |
7 | [node name="WindTreesDemo" type="CanvasLayer"]
8 | script = ExtResource("4")
9 |
10 | [node name="WindTreeScene" parent="." instance=ExtResource("1")]
11 |
12 | [node name="DemoInterface" parent="." instance=ExtResource("2")]
13 |
--------------------------------------------------------------------------------
/godot/Demos/Xray2d/Watcher.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends Node2D
3 |
4 |
5 | func _draw() -> void:
6 | draw_circle(Vector2.ZERO, 15, Color.SKY_BLUE)
7 | draw_line(Vector2.ZERO, Vector2.RIGHT * 30, Color.CRIMSON, 5)
8 |
--------------------------------------------------------------------------------
/godot/Demos/Xray2d/gear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/Xray2d/gear.png
--------------------------------------------------------------------------------
/godot/Demos/Xray2d/gear.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cyvclfdqih073"
6 | path="res://.godot/imported/gear.png-3cf852d20d6db4936be05a4be42b552c.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Demos/Xray2d/gear.png"
14 | dest_files=["res://.godot/imported/gear.png-3cf852d20d6db4936be05a4be42b552c.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Demos/labels/demo_labels.csv.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="csv_translation"
4 | type="Translation"
5 | uid="uid://c5kn1j2wood1d"
6 |
7 | [deps]
8 |
9 | files=["res://Demos/labels/demo_labels.en.translation"]
10 |
11 | source_file="res://Demos/labels/demo_labels.csv"
12 | dest_files=["res://Demos/labels/demo_labels.en.translation"]
13 |
14 | [params]
15 |
16 | compress=true
17 | delimiter=0
18 |
--------------------------------------------------------------------------------
/godot/Demos/labels/demo_labels.en.translation:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Demos/labels/demo_labels.en.translation
--------------------------------------------------------------------------------
/godot/Intro/Elements/EnableWireframe.gd:
--------------------------------------------------------------------------------
1 | extends Control
2 |
3 |
4 | func _init() -> void:
5 | RenderingServer.set_debug_generate_wireframes(true)
6 |
--------------------------------------------------------------------------------
/godot/Intro/Elements/LineDrawer.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://cepenetstu8pb"]
2 |
3 | [ext_resource type="Script" path="res://Intro/Elements/LineDrawer.gd" id="1"]
4 |
5 | [node name="LineDrawer" type="Node2D"]
6 | script = ExtResource("1")
7 |
--------------------------------------------------------------------------------
/godot/Intro/Elements/Pixel.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends Node2D
3 |
4 | var size := Vector2.ONE
5 | var color := Color.WHITE
6 |
7 | @onready var _tween: Tween = $Tween
8 |
9 |
10 | func _draw() -> void:
11 | draw_rect(Rect2(-size / 2, size), color, true)
12 |
13 |
14 | func do_scale_down(delay: float) -> void:
15 | _tween.interpolate_method(
16 | self, "_do_scale_down_update", size, Vector2(size.x, 0), 0.15, 0, 2, delay
17 | )
18 | _tween.start()
19 | await _tween.tween_all_completed
20 | queue_free()
21 |
22 |
23 | func _do_scale_down_update(value: Vector2) -> void:
24 | size = value
25 | update()
26 |
--------------------------------------------------------------------------------
/godot/Intro/Elements/Pixel.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://cjviglpqq1vre"]
2 |
3 | [ext_resource type="Script" path="res://Intro/Elements/Pixel.gd" id="1"]
4 |
5 | [node name="Pixel" type="Node2D"]
6 | script = ExtResource("1")
7 |
8 | [node name="Tween" type="Tween" parent="."]
9 |
--------------------------------------------------------------------------------
/godot/Intro/Elements/ShaderPipelineIntro.gd:
--------------------------------------------------------------------------------
1 | extends Control
2 |
3 | @onready var _cube_scene: Node3D = $SubViewport/Node3D
4 | @onready var _raw_vertices: Node2D = $RawVertexData
5 | @onready var _title: Label = $Title
6 | @onready var _line_drawers: Node2D = $LineDrawers
7 | @onready var _pixels: Node2D = $Pixels
8 | @onready var _animation_player: AnimationPlayer = $AnimationPlayer
9 | @onready var _main_cube: MeshInstance3D = $SubViewport/Node3D/MainCube
10 | @onready var _camera: Camera3D = $SubViewport/Node3D/Camera3D
11 |
12 | func _ready() -> void:
13 | _pixels.modulate = Color.TRANSPARENT
14 | _cube_scene.setup()
15 | _raw_vertices.setup(_main_cube, _camera)
16 | _line_drawers.setup(
17 | _raw_vertices.vertex_end_positions,
18 | _cube_scene.get_node("MainCube").mesh.surface_get_arrays(0)[ArrayMesh.ARRAY_INDEX],
19 | _raw_vertices.culled_indices
20 | )
21 |
--------------------------------------------------------------------------------
/godot/Intro/Elements/Title.gd:
--------------------------------------------------------------------------------
1 | extends Label
2 |
3 | @onready var _tween: Tween = $Tween
4 |
5 | func change_title(title: String) -> void:
6 | _tween.interpolate_property(self, "modulate", Color.WHITE, Color.TRANSPARENT, 0.15)
7 | _tween.start()
8 | await _tween.tween_all_completed
9 | text = title
10 | _tween.interpolate_property(self, "modulate", Color.TRANSPARENT, Color.WHITE, 0.15)
11 | _tween.start()
12 |
--------------------------------------------------------------------------------
/godot/Intro/Elements/VertexRaw.gd:
--------------------------------------------------------------------------------
1 | extends Node2D
2 |
3 |
4 | func _draw() -> void:
5 | draw_circle(Vector2.ZERO, 6, Color.SKY_BLUE)
6 | draw_circle(Vector2.ZERO, 4, Color.BLUE)
7 |
--------------------------------------------------------------------------------
/godot/Intro/Elements/VertexRaw.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://cqvt7s5neg40c"]
2 |
3 | [ext_resource type="Script" path="res://Intro/Elements/VertexRaw.gd" id="1"]
4 |
5 | [node name="Vertex" type="Node2D"]
6 | script = ExtResource("1")
7 |
--------------------------------------------------------------------------------
/godot/Intro/textured_square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Intro/textured_square.png
--------------------------------------------------------------------------------
/godot/Intro/textured_square.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://c4dnl4cljlbum"
6 | path="res://.godot/imported/textured_square.png-fd55edbc823ec00115663fadd8c2f0dc.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Intro/textured_square.png"
14 | dest_files=["res://.godot/imported/textured_square.png-fd55edbc823ec00115663fadd8c2f0dc.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/Constants.gd:
--------------------------------------------------------------------------------
1 | class_name Constants
2 |
3 | enum MovementSchemes {NONE, TOPDOWN_2D, PLATFORMER_2D, PLATFORMER_3D, WALKING_SIMULATOR}
4 |
5 | const MOVEMENT_KEY_MAPPINGS:= {
6 | MovementSchemes.NONE: [],
7 | MovementSchemes.TOPDOWN_2D: ["move_left", "move_right", "move_up", "move_down"],
8 | MovementSchemes.PLATFORMER_2D: ["move_left", "move_right", "jump"],
9 | MovementSchemes.PLATFORMER_3D: ["move_left", "move_right", "move_up", "move_down", "jump_3d"],
10 | MovementSchemes.WALKING_SIMULATOR: ["move_left", "move_right", "move_up", "move_down"],
11 | }
12 |
--------------------------------------------------------------------------------
/godot/Main/DemoItem.gd:
--------------------------------------------------------------------------------
1 | extends Button
2 |
3 | signal demo_requested
4 |
5 | @export var demo_name := "": set = set_demo_name
6 | @export var demo_icon: Texture2D: set = set_demo_icon
7 |
8 |
9 | @onready var _label :Label= $HBoxContainer/Label
10 | @onready var _icon : TextureRect= $HBoxContainer/Icon
11 |
12 |
13 | func _gui_input(event: InputEvent) -> void:
14 | if event.is_action_pressed("click") and event.double_click and get_viewport().gui_get_focus_owner() == self:
15 | emit_signal("demo_requested")
16 | elif event.is_action_pressed("ui_accept") and get_viewport().gui_get_focus_owner() == self:
17 | emit_signal("demo_requested")
18 |
19 |
20 | func set_demo_name(value: String) -> void:
21 | demo_name = value
22 | if not is_inside_tree():
23 | await self.ready
24 | _label.text = demo_name
25 |
26 |
27 | func set_demo_icon(value: Texture2D) -> void:
28 | demo_icon = value
29 | if not is_inside_tree():
30 | await self.ready
31 | _icon.texture = value
32 | _icon.visible = value != null
33 |
--------------------------------------------------------------------------------
/godot/Main/DemoList.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://b176ml0gceo5m"]
2 |
3 | [ext_resource type="Script" path="res://Main/DemoList.gd" id="1"]
4 |
5 | [node name="DemoList" type="ScrollContainer"]
6 | offset_left = 16.0
7 | offset_top = 24.0
8 | offset_right = 666.0
9 | offset_bottom = 361.0
10 | scroll_horizontal_enabled = false
11 | script = ExtResource("1")
12 | __meta__ = {
13 | "_edit_use_anchors_": false
14 | }
15 |
16 | [node name="VBoxContainer" type="VBoxContainer" parent="."]
17 | offset_right = 650.0
18 | size_flags_horizontal = 3
19 | theme_override_constants/separation = 4
20 |
21 | [node name="NoResultsLabel" type="Label" parent="."]
22 | offset_right = 66.0
23 | offset_bottom = 14.0
24 | theme_override_colors/font_color = Color(0.439216, 0.482353, 0.662745, 1)
25 | text = "No results"
26 | __meta__ = {
27 | "_edit_use_anchors_": false
28 | }
29 |
--------------------------------------------------------------------------------
/godot/Main/DemoPlayer.gd:
--------------------------------------------------------------------------------
1 | extends Node2D
2 |
3 |
4 | func load_demo(scene_path: String) -> void:
5 | if not scene_path:
6 | return
7 |
8 | var demo := load(scene_path)
9 | if demo:
10 | add_child(demo.instantiate())
11 |
12 |
13 | func unload() -> void:
14 | for node in get_children():
15 | call_deferred("remove_child", node)
16 | node.queue_free()
17 |
18 |
19 | func is_loaded() -> bool:
20 | return get_child_count() > 0
21 |
--------------------------------------------------------------------------------
/godot/Main/GDQuestLogo.gd:
--------------------------------------------------------------------------------
1 | extends TextureButton
2 |
3 | const COLOR_PRESSED := Color(0.84611, 0.784345, 0.902344)
4 |
5 | func _ready() -> void:
6 | connect("pressed", Callable(self, "open_gdquest_website"))
7 | connect("button_down", Callable(self, "_toggle_shade").bind(true))
8 | connect("button_up", Callable(self, "_toggle_shade").bind(false))
9 |
10 |
11 | func open_gdquest_website() -> void:
12 | OS.shell_open("http://gdquest.com/")
13 |
14 |
15 | func _toggle_shade(is_down: bool) -> void:
16 | modulate = COLOR_PRESSED if is_down else Color.WHITE
17 |
--------------------------------------------------------------------------------
/godot/Main/GDQuestLogo.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=3 format=3 uid="uid://cmg7vob2jhnek"]
2 |
3 | [ext_resource type="Texture2D" uid="uid://dieoxafgevoay" path="res://Main/gdquest_logo_white.svg" id="1_wf1i5"]
4 | [ext_resource type="Script" path="res://Main/GDQuestLogo.gd" id="2"]
5 |
6 | [node name="GDQuestLogo" type="TextureButton"]
7 | anchors_preset = 3
8 | anchor_left = 1.0
9 | anchor_top = 1.0
10 | anchor_right = 1.0
11 | anchor_bottom = 1.0
12 | offset_left = -1920.0
13 | offset_top = -1080.0
14 | offset_right = -1666.0
15 | offset_bottom = -1001.0
16 | mouse_default_cursor_shape = 2
17 | texture_normal = ExtResource("1_wf1i5")
18 | script = ExtResource("2")
19 |
--------------------------------------------------------------------------------
/godot/Main/UI/9patch_mainmenu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/9patch_mainmenu.png
--------------------------------------------------------------------------------
/godot/Main/UI/9patch_mainmenu.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://u0wgaiag7ifs"
6 | path="res://.godot/imported/9patch_mainmenu.png-71adb05dfe77c50f829d7d75a59d363d.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/9patch_mainmenu.png"
14 | dest_files=["res://.godot/imported/9patch_mainmenu.png-71adb05dfe77c50f829d7d75a59d363d.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/9patch_searchbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/9patch_searchbar.png
--------------------------------------------------------------------------------
/godot/Main/UI/9patch_searchbar.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://b1ucwbfl05g86"
6 | path="res://.godot/imported/9patch_searchbar.png-ddd6f643ae8a21ccc012a9d3b524cfcd.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/9patch_searchbar.png"
14 | dest_files=["res://.godot/imported/9patch_searchbar.png-ddd6f643ae8a21ccc012a9d3b524cfcd.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/Slider.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://bwtk52g0ufvjp"]
2 |
3 | [ext_resource type="Theme" path="res://Main/UI/ui_theme.tres" id="4"]
4 |
5 | [node name="Slider" type="HSlider"]
6 | anchor_left = 0.5
7 | anchor_top = 0.5
8 | anchor_right = 0.5
9 | anchor_bottom = 0.5
10 | offset_left = -960.0
11 | offset_top = -540.0
12 | offset_right = -448.0
13 | offset_bottom = -444.0
14 | pivot_offset = Vector2(480, 50)
15 | size_flags_horizontal = 6
16 | theme = ExtResource("4")
17 | min_value = 0.1
18 | max_value = 4.1
19 | step = 0.1
20 | value = 3.0
21 | ticks_on_borders = true
22 | __meta__ = {
23 | "_edit_use_anchors_": false
24 | }
25 |
--------------------------------------------------------------------------------
/godot/Main/UI/TextButton.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene format=3 uid="uid://cgul554bs676i"]
2 |
3 | [node name="TextButton" type="Button"]
4 | offset_right = 318.0
5 | offset_bottom = 152.0
6 | shortcut_in_tooltip = false
7 | action_mode = 0
8 | text = "Button"
9 | __meta__ = {
10 | "_edit_use_anchors_": false
11 | }
12 |
--------------------------------------------------------------------------------
/godot/Main/UI/arrowLeft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/arrowLeft.png
--------------------------------------------------------------------------------
/godot/Main/UI/arrowLeft.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://coaycm6yuvlyh"
6 | path="res://.godot/imported/arrowLeft.png-723cc0769890f8683e44bd3ace5fb47d.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/arrowLeft.png"
14 | dest_files=["res://.godot/imported/arrowLeft.png-723cc0769890f8683e44bd3ace5fb47d.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/arrowLeftPressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/arrowLeftPressed.png
--------------------------------------------------------------------------------
/godot/Main/UI/arrowLeftPressed.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bfsxcdp5gtywt"
6 | path="res://.godot/imported/arrowLeftPressed.png-ea82c769ae0a1290ba1692a23c26b110.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/arrowLeftPressed.png"
14 | dest_files=["res://.godot/imported/arrowLeftPressed.png-ea82c769ae0a1290ba1692a23c26b110.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/arrowRight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/arrowRight.png
--------------------------------------------------------------------------------
/godot/Main/UI/arrowRight.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bsghcrj1q66mw"
6 | path="res://.godot/imported/arrowRight.png-db20eaf5bb8fb811e3e538af8bcdede8.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/arrowRight.png"
14 | dest_files=["res://.godot/imported/arrowRight.png-db20eaf5bb8fb811e3e538af8bcdede8.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/arrowRightPressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/arrowRightPressed.png
--------------------------------------------------------------------------------
/godot/Main/UI/arrowRightPressed.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://u034kti80p7h"
6 | path="res://.godot/imported/arrowRightPressed.png-7ec74f2fe0bd3ee1c04de0bb2d99c850.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/arrowRightPressed.png"
14 | dest_files=["res://.godot/imported/arrowRightPressed.png-7ec74f2fe0bd3ee1c04de0bb2d99c850.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/button.png
--------------------------------------------------------------------------------
/godot/Main/UI/button.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://ds41hh63rgy7n"
6 | path="res://.godot/imported/button.png-eb4a38e5404b5c4f94765c1b0434c75c.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/button.png"
14 | dest_files=["res://.godot/imported/button.png-eb4a38e5404b5c4f94765c1b0434c75c.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/buttonLong.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/buttonLong.png
--------------------------------------------------------------------------------
/godot/Main/UI/buttonLong.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://pohflathcak6"
6 | path="res://.godot/imported/buttonLong.png-8a015dc8129eb6fb16472e19e0399ffb.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/buttonLong.png"
14 | dest_files=["res://.godot/imported/buttonLong.png-8a015dc8129eb6fb16472e19e0399ffb.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/buttonLongPressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/buttonLongPressed.png
--------------------------------------------------------------------------------
/godot/Main/UI/buttonLongPressed.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://ca5lmwfoe5usu"
6 | path="res://.godot/imported/buttonLongPressed.png-0e4508e57c203e78aa55ec76fb7d7177.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/buttonLongPressed.png"
14 | dest_files=["res://.godot/imported/buttonLongPressed.png-0e4508e57c203e78aa55ec76fb7d7177.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/buttonPressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/buttonPressed.png
--------------------------------------------------------------------------------
/godot/Main/UI/buttonPressed.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://dytx7564maip5"
6 | path="res://.godot/imported/buttonPressed.png-10f90d2fa500ba71d7d1060ed1bdd5f8.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/buttonPressed.png"
14 | dest_files=["res://.godot/imported/buttonPressed.png-10f90d2fa500ba71d7d1060ed1bdd5f8.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/close.png
--------------------------------------------------------------------------------
/godot/Main/UI/close.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://3uu8kxplel5p"
6 | path="res://.godot/imported/close.png-6b92c8aaa12ecea10ab5cc2dd917e592.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/close.png"
14 | dest_files=["res://.godot/imported/close.png-6b92c8aaa12ecea10ab5cc2dd917e592.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/ExtraLargeFont.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Main/UI/fonts/Montserrat-Bold.ttf" type="FontFile" id=1]
4 |
5 | [resource]
6 | size = 66
7 | use_mipmaps = true
8 | use_filter = true
9 | font_data = ExtResource( 1 )
10 |
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/KeyboardKeyFont.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Main/UI/fonts/SourceCodePro-Bold.otf" type="FontFile" id=1]
4 |
5 | [resource]
6 | size = 18
7 | use_mipmaps = true
8 | use_filter = true
9 | font_data = ExtResource( 1 )
10 |
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/Montserrat-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/fonts/Montserrat-Bold.ttf
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/Montserrat-Bold.ttf.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="font_data_dynamic"
4 | type="FontFile"
5 | uid="uid://brjq0qv76p7fr"
6 | path="res://.godot/imported/Montserrat-Bold.ttf-b38d3a0a405807cfa15b591ce56d626e.fontdata"
7 |
8 | [deps]
9 |
10 | source_file="res://Main/UI/fonts/Montserrat-Bold.ttf"
11 | dest_files=["res://.godot/imported/Montserrat-Bold.ttf-b38d3a0a405807cfa15b591ce56d626e.fontdata"]
12 |
13 | [params]
14 |
15 | Rendering=null
16 | antialiasing=1
17 | generate_mipmaps=false
18 | disable_embedded_bitmaps=true
19 | multichannel_signed_distance_field=false
20 | msdf_pixel_range=8
21 | msdf_size=48
22 | allow_system_fallback=true
23 | force_autohinter=false
24 | hinting=1
25 | subpixel_positioning=1
26 | oversampling=0.0
27 | Fallbacks=null
28 | fallbacks=[]
29 | Compress=null
30 | compress=true
31 | preload=[]
32 | language_support={}
33 | script_support={}
34 | opentype_features={}
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/SmallFont.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Main/UI/fonts/Montserrat-Bold.ttf" type="FontFile" id=1]
4 |
5 | [resource]
6 | size = 18
7 | use_mipmaps = true
8 | use_filter = true
9 | font_data = ExtResource( 1 )
10 |
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/SourceCodePro-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/fonts/SourceCodePro-Bold.otf
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/SourceCodePro-Bold.otf.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="font_data_dynamic"
4 | type="FontFile"
5 | uid="uid://crdslqpoukef2"
6 | path="res://.godot/imported/SourceCodePro-Bold.otf-b4ab25a58d6d371db355fc94fc7bd437.fontdata"
7 |
8 | [deps]
9 |
10 | source_file="res://Main/UI/fonts/SourceCodePro-Bold.otf"
11 | dest_files=["res://.godot/imported/SourceCodePro-Bold.otf-b4ab25a58d6d371db355fc94fc7bd437.fontdata"]
12 |
13 | [params]
14 |
15 | Rendering=null
16 | antialiasing=1
17 | generate_mipmaps=false
18 | disable_embedded_bitmaps=true
19 | multichannel_signed_distance_field=false
20 | msdf_pixel_range=8
21 | msdf_size=48
22 | allow_system_fallback=true
23 | force_autohinter=false
24 | hinting=1
25 | subpixel_positioning=1
26 | oversampling=0.0
27 | Fallbacks=null
28 | fallbacks=[]
29 | Compress=null
30 | compress=true
31 | preload=[]
32 | language_support={}
33 | script_support={}
34 | opentype_features={}
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/SubtitleFont.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Main/UI/fonts/Montserrat-Bold.ttf" type="FontFile" id=1]
4 |
5 | [resource]
6 | size = 36
7 | use_mipmaps = true
8 | use_filter = true
9 | font_data = ExtResource( 1 )
10 |
--------------------------------------------------------------------------------
/godot/Main/UI/fonts/TitleFont.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Main/UI/fonts/Montserrat-Bold.ttf" type="FontFile" id=1]
4 |
5 | [resource]
6 | size = 36
7 | use_mipmaps = true
8 | use_filter = true
9 | font_data = ExtResource( 1 )
10 |
--------------------------------------------------------------------------------
/godot/Main/UI/lineedit_stylebox_error.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 20.0
5 | bg_color = Color( 0.196078, 0.160784, 0.278431, 1 )
6 | border_width_left = 3
7 | border_width_top = 3
8 | border_width_right = 3
9 | border_width_bottom = 3
10 | border_color = Color( 0.921569, 0.337255, 0.294118, 1 )
11 | corner_radius_top_left = 8
12 | corner_radius_top_right = 8
13 | corner_radius_bottom_right = 8
14 | corner_radius_bottom_left = 8
15 |
--------------------------------------------------------------------------------
/godot/Main/UI/lineedit_stylebox_focus.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 20.0
5 | bg_color = Color( 0.196078, 0.160784, 0.278431, 1 )
6 | border_width_left = 3
7 | border_width_top = 3
8 | border_width_right = 3
9 | border_width_bottom = 3
10 | border_color = Color( 0.301961, 0.65098, 1, 1 )
11 | corner_radius_top_left = 8
12 | corner_radius_top_right = 8
13 | corner_radius_bottom_right = 8
14 | corner_radius_bottom_left = 8
15 |
--------------------------------------------------------------------------------
/godot/Main/UI/lineedit_stylebox_normal.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 20.0
5 | bg_color = Color( 0.196078, 0.160784, 0.278431, 1 )
6 | border_width_left = 3
7 | border_width_top = 3
8 | border_width_right = 3
9 | border_width_bottom = 3
10 | border_color = Color( 0.294118, 0.356863, 0.670588, 1 )
11 | corner_radius_top_left = 8
12 | corner_radius_top_right = 8
13 | corner_radius_bottom_right = 8
14 | corner_radius_bottom_left = 8
15 |
--------------------------------------------------------------------------------
/godot/Main/UI/node-icons/Control.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/godot/Main/UI/node-icons/GuiVisibilityVisible.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/godot/Main/UI/node-icons/Node.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/godot/Main/UI/node-icons/Node2D.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/godot/Main/UI/node-icons/Node3D.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/godot/Main/UI/scrollbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/scrollbar.png
--------------------------------------------------------------------------------
/godot/Main/UI/scrollbar.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cy28ixckf1i1k"
6 | path="res://.godot/imported/scrollbar.png-824f0e22fb815a50d66f1f747acfbb32.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/scrollbar.png"
14 | dest_files=["res://.godot/imported/scrollbar.png-824f0e22fb815a50d66f1f747acfbb32.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/scrollbar_grabber_active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/scrollbar_grabber_active.png
--------------------------------------------------------------------------------
/godot/Main/UI/scrollbar_grabber_active.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cc7qhdx0xge4t"
6 | path="res://.godot/imported/scrollbar_grabber_active.png-ad03badda3986fe00c75e63fa1e912d0.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/scrollbar_grabber_active.png"
14 | dest_files=["res://.godot/imported/scrollbar_grabber_active.png-ad03badda3986fe00c75e63fa1e912d0.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/scrollbar_grabber_inactive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/scrollbar_grabber_inactive.png
--------------------------------------------------------------------------------
/godot/Main/UI/scrollbar_grabber_inactive.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bxghw7ls08x1j"
6 | path="res://.godot/imported/scrollbar_grabber_inactive.png-b9b85fd1ccf2ab5f12b0b72924140d9e.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/scrollbar_grabber_inactive.png"
14 | dest_files=["res://.godot/imported/scrollbar_grabber_inactive.png-b9b85fd1ccf2ab5f12b0b72924140d9e.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UI/textFrame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/UI/textFrame.png
--------------------------------------------------------------------------------
/godot/Main/UI/textFrame.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://c4v4it31autse"
6 | path="res://.godot/imported/textFrame.png-757848f836384ec02d35ce6c38f6d814.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/UI/textFrame.png"
14 | dest_files=["res://.godot/imported/textFrame.png-757848f836384ec02d35ce6c38f6d814.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/UIKeyMapping.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=3 format=3 uid="uid://f21qa7uxrxu1"]
2 |
3 | [ext_resource type="FontFile" path="res://Main/UI/fonts/SmallFont.tres" id="1"]
4 | [ext_resource type="Script" path="res://Main/UIKeyMapping.gd" id="2"]
5 |
6 | [node name="UIKeyMapping" type="HBoxContainer"]
7 | offset_right = 162.0
8 | offset_bottom = 31.0
9 | size_flags_horizontal = 3
10 | script = ExtResource("2")
11 | __meta__ = {
12 | "_edit_use_anchors_": false
13 | }
14 |
15 | [node name="Label" type="Label" parent="."]
16 | offset_top = 4.0
17 | offset_right = 87.0
18 | offset_bottom = 27.0
19 | size_flags_horizontal = 3
20 | theme_override_fonts/font = ExtResource("1")
21 | text = "Move left"
22 |
23 | [node name="Keys" type="HBoxContainer" parent="."]
24 | offset_left = 162.0
25 | offset_right = 162.0
26 | offset_bottom = 31.0
27 | size_flags_horizontal = 10
28 |
--------------------------------------------------------------------------------
/godot/Main/UIKeyboardKey.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=3 format=3 uid="uid://g82ioqud1tka"]
2 |
3 | [ext_resource type="FontFile" path="res://Main/UI/fonts/KeyboardKeyFont.tres" id="1"]
4 | [ext_resource type="StyleBox" path="res://Main/keyboard_key_panel.tres" id="2"]
5 |
6 | [node name="UIKeyboardKey" type="Label"]
7 | offset_right = 27.0
8 | offset_bottom = 31.0
9 | size_flags_vertical = 1
10 | theme_override_styles/normal = ExtResource("2")
11 | theme_override_fonts/font = ExtResource("1")
12 | __meta__ = {
13 | "_edit_use_anchors_": false
14 | }
15 |
--------------------------------------------------------------------------------
/godot/Main/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/background.png
--------------------------------------------------------------------------------
/godot/Main/background.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://djonil8al43ey"
6 | path="res://.godot/imported/background.png-3da94da572173cda766a02337aadd16c.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/background.png"
14 | dest_files=["res://.godot/imported/background.png-3da94da572173cda766a02337aadd16c.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/filter_button_group.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="ButtonGroup" format=2]
2 |
3 | [resource]
4 |
--------------------------------------------------------------------------------
/godot/Main/keyboard_key_panel.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 8.0
5 | content_margin_right = 8.0
6 | content_margin_top = 4.0
7 | content_margin_bottom = 4.0
8 | bg_color = Color( 0.294118, 0.356863, 0.670588, 1 )
9 | border_width_left = 2
10 | border_width_top = 2
11 | border_width_right = 2
12 | border_width_bottom = 2
13 | border_color = Color( 0.301961, 0.65098, 1, 1 )
14 | corner_radius_top_left = 4
15 | corner_radius_top_right = 4
16 | corner_radius_bottom_right = 4
17 | corner_radius_bottom_left = 4
18 | expand_margin_left = 2.0
19 | expand_margin_right = 2.0
20 | expand_margin_top = 2.0
21 | expand_margin_bottom = 2.0
22 | shadow_color = Color( 0.152941, 0.152941, 0.211765, 0.615686 )
23 | shadow_size = 2
24 | shadow_offset = Vector2( 0, 2 )
25 |
--------------------------------------------------------------------------------
/godot/Main/planet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/planet.png
--------------------------------------------------------------------------------
/godot/Main/planet.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://tp7uln81cgxx"
6 | path="res://.godot/imported/planet.png-05d346fd0ceeb3dad68ddc8e29bf4658.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/planet.png"
14 | dest_files=["res://.godot/imported/planet.png-05d346fd0ceeb3dad68ddc8e29bf4658.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/planet_large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Main/planet_large.png
--------------------------------------------------------------------------------
/godot/Main/planet_large.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://blop6sfkvwbs4"
6 | path="res://.godot/imported/planet_large.png-14bf62a4fb573039c9af88d82354076f.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/planet_large.png"
14 | dest_files=["res://.godot/imported/planet_large.png-14bf62a4fb573039c9af88d82354076f.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Main/title.svg.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bq0oa0hlk08r0"
6 | path="res://.godot/imported/title.svg-98b5c75af5b501cde34606d37216fd13.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Main/title.svg"
14 | dest_files=["res://.godot/imported/title.svg-98b5c75af5b501cde34606d37216fd13.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 | svg/scale=1.4
36 | editor/scale_with_editor_scale=false
37 | editor/convert_colors_with_editor_theme=false
38 |
--------------------------------------------------------------------------------
/godot/Shaders/PalettSwap2D.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 | render_mode unshaded, blend_disabled;
3 |
4 | uniform sampler2D palette;
5 | uniform float palette_count = 1.0;
6 | uniform float palette_index = 0.0;
7 |
8 | const float STEP_UNIT = 0.00392;
9 |
10 | void fragment() {
11 |
12 | float increment = 1.0 / palette_count;
13 | float y = increment * palette_index + increment * 0.5;
14 | vec4 color = texture(TEXTURE, UV);
15 | vec4 new_color = texture(palette, vec2(color.r, y));
16 | new_color.a *= step(STEP_UNIT, color.a);
17 |
18 | COLOR = new_color;
19 | }
--------------------------------------------------------------------------------
/godot/Shaders/SpecularControl.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode specular_schlick_ggx, ambient_light_disabled;
3 |
4 | uniform float normal_offset_x = 0.0;
5 | uniform float normal_offset_y = 0.0;
6 |
7 | void vertex() {
8 | NORMAL = normalize(NORMAL + vec3(0.0, normal_offset_y, normal_offset_x));
9 | }
10 |
11 | void fragment() {
12 | ALBEDO = vec3(0.0);
13 | ROUGHNESS = 0.4;
14 | SPECULAR = 0.5;
15 | }
--------------------------------------------------------------------------------
/godot/Shaders/compose.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform sampler2D prepass_texture;
4 | uniform sampler2D blur_texture;
5 | uniform float glow_intensity;
6 |
7 | void fragment() {
8 | vec4 color = texture(TEXTURE, UV);
9 | vec4 prepass = texture(prepass_texture, UV);
10 | vec4 blurred = texture(blur_texture, UV);
11 | vec3 glow = max(vec3(0.0), blurred.rgb - prepass.rgb);
12 |
13 | vec3 out_color = color.rgb + glow.rgb * glow_intensity;
14 |
15 | COLOR = vec4(out_color, clamp(out_color.r + out_color.g + out_color.b, 0, 1));
16 | }
--------------------------------------------------------------------------------
/godot/Shaders/dissolve.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode depth_prepass_alpha, cull_disabled;
3 |
4 | uniform vec4 albedo : source_color;
5 | uniform sampler2D texture_albedo : source_color;
6 |
7 | uniform vec4 emission_color : source_color = vec4(1);
8 | uniform float emission_amount;
9 |
10 | uniform sampler2D dissolve_texture;
11 | uniform float burn_size : hint_range(0, 2);
12 | uniform float dissolve_amount : hint_range(0, 1);
13 |
14 | void fragment() {
15 | vec4 albedo_tex = texture(texture_albedo, UV);
16 | ALBEDO = albedo.rgb * albedo_tex.rgb;
17 |
18 | float sample = texture(dissolve_texture, UV).r;
19 | float emission_value = 1.0 - smoothstep(dissolve_amount, dissolve_amount + burn_size, sample);
20 | EMISSION = vec3(emission_value * emission_amount * emission_color.rgb);
21 | ALPHA = smoothstep(dissolve_amount - burn_size, dissolve_amount, sample);
22 | }
23 |
--------------------------------------------------------------------------------
/godot/Shaders/dissolve2D.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform sampler2D dissolve_texture;
4 | uniform vec4 burn_color : source_color = vec4(1);
5 | uniform float burn_size : hint_range(0, 2);
6 | uniform float dissolve_amount : hint_range(0, 1);
7 | uniform float emission_amount;
8 |
9 | void fragment() {
10 | vec4 out_color = texture(TEXTURE, UV);
11 |
12 | float sample = texture(dissolve_texture, UV).r;
13 | float emission_value = 1.0 - smoothstep(dissolve_amount, dissolve_amount + burn_size, sample);
14 | vec3 emission = burn_color.rgb * emission_value * emission_amount;
15 |
16 | COLOR = vec4(
17 | max(out_color.rgb, emission),
18 | smoothstep(dissolve_amount - burn_size, dissolve_amount, sample) * out_color.a);
19 | }
--------------------------------------------------------------------------------
/godot/Shaders/dissolve2D_mask.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform sampler2D dissolve_texture;
4 | uniform float burn_size : hint_range(0, 2);
5 | uniform float dissolve_amount : hint_range(0, 1);
6 |
7 | void fragment() {
8 | vec4 out_color = texture(TEXTURE, UV);
9 | float sample = texture(dissolve_texture, UV).r;
10 | float emission_value = 1.0 - smoothstep(dissolve_amount, dissolve_amount + burn_size, sample);
11 |
12 | COLOR = vec4(
13 | max(vec3(0.0), vec3(emission_value)),
14 | smoothstep(dissolve_amount - burn_size, dissolve_amount, sample) * out_color.a);
15 | }
--------------------------------------------------------------------------------
/godot/Shaders/gaussian_blur.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform vec2 blur_scale = vec2(1, 0);
4 |
5 | const float SAMPLES = 71.0;
6 |
7 | float gaussian(float x) {
8 | float x_squared = x * x;
9 | float width = 1.0 / sqrt(TAU * SAMPLES);
10 |
11 | return width * exp((x_squared / (2.0 * SAMPLES)) * -1.0);
12 | }
13 |
14 | void fragment() {
15 | vec2 scale = TEXTURE_PIXEL_SIZE * blur_scale;
16 |
17 | float total_weight = 0.0;
18 | vec4 color = vec4(0.0);
19 |
20 | for (int i = -int(SAMPLES) / 2; i < int(SAMPLES) / 2; ++i) {
21 | float weight = gaussian(float(i));
22 | color += texture(TEXTURE, UV + scale * vec2(float(i))) * weight;
23 | total_weight += weight;
24 | }
25 |
26 | COLOR = color / total_weight;
27 | }
--------------------------------------------------------------------------------
/godot/Shaders/glow_prepass.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform vec4 glow_color : source_color = vec4(1.0);
4 |
5 | void fragment() {
6 | vec4 color = texture(TEXTURE, UV);
7 | COLOR = vec4(glow_color.rgb, color.a);
8 | }
--------------------------------------------------------------------------------
/godot/Shaders/invert.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | void fragment() {
4 | COLOR = vec4(vec3(1.0) - texture(TEXTURE, UV).rgb, 1.0);
5 | }
--------------------------------------------------------------------------------
/godot/Shaders/matcap.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode unshaded, world_vertex_coords;
3 |
4 | uniform sampler2D matcap_texture : hint_default_black;
5 | uniform bool use_world_normals = false;
6 |
7 | varying vec3 world_normal;
8 |
9 | void vertex() {
10 | world_normal = NORMAL;
11 | }
12 |
13 | void fragment() {
14 | vec2 matcap_uv = ((use_world_normals ? world_normal.xy : NORMAL.xy)
15 | * vec2(0.5, -0.5) + vec2(0.5));
16 | vec3 matcap_value = texture(matcap_texture, matcap_uv).rgb;
17 |
18 | ALBEDO = matcap_value;
19 | }
--------------------------------------------------------------------------------
/godot/Shaders/outline2D_inner.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform vec4 line_color : source_color = vec4(1.0);
4 | uniform float line_thickness : hint_range(0, 10) = 1.0;
5 |
6 | const vec2 OFFSETS[8] = {
7 | vec2(-1, -1), vec2(-1, 0), vec2(-1, 1), vec2(0, -1), vec2(0, 1),
8 | vec2(1, -1), vec2(1, 0), vec2(1, 1)
9 | };
10 |
11 | void fragment() {
12 | vec2 size = TEXTURE_PIXEL_SIZE * line_thickness;
13 | float outline = 1.0;
14 |
15 | for (int i = 0; i < OFFSETS.length(); i++) {
16 | outline *= texture(TEXTURE, UV + size * OFFSETS[i]).a;
17 | }
18 | outline = 1.0 - outline;
19 |
20 | vec4 color = texture(TEXTURE, UV);
21 | vec4 outlined_result = mix(color, line_color, outline * color.a);
22 | COLOR = mix(color, outlined_result, outlined_result.a);
23 | }
24 |
--------------------------------------------------------------------------------
/godot/Shaders/outline2D_inner_outer.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform vec4 line_color : source_color = vec4(1);
4 | uniform float line_thickness : hint_range(0, 10) = 1.0;
5 |
6 | const vec2 OFFSETS[8] = {
7 | vec2(-1, -1), vec2(-1, 0), vec2(-1, 1), vec2(0, -1), vec2(0, 1),
8 | vec2(1, -1), vec2(1, 0), vec2(1, 1)
9 | };
10 |
11 | void fragment() {
12 | vec2 size = TEXTURE_PIXEL_SIZE * line_thickness / 2.0;
13 | vec4 color = texture(TEXTURE, UV);
14 |
15 | float inline = 1.0;
16 | float outline = 0.0;
17 | for (int i = 0; i < OFFSETS.length(); i++) {
18 | float sample = texture(TEXTURE, UV + size * OFFSETS[i]).a;
19 | outline += sample;
20 | inline *= sample;
21 | }
22 | outline = min(1.0, outline) - color.a;
23 | inline = (1.0 - inline) * color.a;
24 |
25 | vec4 outlined_result = mix(color, line_color, outline + inline);
26 | COLOR = mix(color, outlined_result, outlined_result.a);
27 | }
28 |
--------------------------------------------------------------------------------
/godot/Shaders/outline2D_outer.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform vec4 line_color : source_color = vec4(1.0);
4 | uniform float line_thickness : hint_range(0, 10) = 1.0;
5 |
6 | const vec2 OFFSETS[8] = {
7 | vec2(-1, -1), vec2(-1, 0), vec2(-1, 1), vec2(0, -1), vec2(0, 1),
8 | vec2(1, -1), vec2(1, 0), vec2(1, 1)
9 | };
10 |
11 | void fragment() {
12 | vec2 size = TEXTURE_PIXEL_SIZE * line_thickness;
13 | float outline = 0.0;
14 |
15 | for (int i = 0; i < OFFSETS.length(); i++) {
16 | outline += texture(TEXTURE, UV + size * OFFSETS[i]).a;
17 | }
18 | outline = min(outline, 1.0);
19 |
20 | vec4 color = texture(TEXTURE, UV);
21 | COLOR = mix(color, line_color, outline - color.a);
22 | }
23 |
--------------------------------------------------------------------------------
/godot/Shaders/outline3D.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode unshaded, cull_front, depth_draw_always;
3 |
4 | uniform float thickness = 0.1;
5 | uniform vec4 outline_color : source_color = vec4(1.0);
6 |
7 | void vertex() {
8 | VERTEX += NORMAL * thickness;
9 | }
10 |
11 | void fragment() {
12 | ALBEDO = outline_color.rgb;
13 | if (outline_color.a < 1.0) {
14 | ALPHA = outline_color.a;
15 | }
16 | }
--------------------------------------------------------------------------------
/godot/Shaders/outline3D_smooth_normals_color.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode unshaded, cull_front, depth_draw_always;
3 |
4 | uniform float thickness = 0.1;
5 | uniform vec4 outline_color : source_color = vec4(1.0);
6 |
7 | void vertex() {
8 | vec3 normal = (COLOR.xyz - vec3(0.5)) * 2.0;
9 | VERTEX += (normal * thickness);
10 | }
11 |
12 | void fragment() {
13 | ALBEDO = outline_color.rgb;
14 | ALPHA = outline_color.a;
15 | }
--------------------------------------------------------------------------------
/godot/Shaders/pixel_perfect_outline3D.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode cull_front, unshaded;
3 |
4 | uniform vec4 outline_color : source_color;
5 | uniform float outline_width = 1.0;
6 |
7 | void vertex() {
8 | vec4 clip_position = PROJECTION_MATRIX * (MODELVIEW_MATRIX * vec4(VERTEX, 1.0));
9 | vec3 clip_normal = mat3(PROJECTION_MATRIX) * (mat3(MODELVIEW_MATRIX) * NORMAL);
10 |
11 | vec2 offset = normalize(clip_normal.xy) / VIEWPORT_SIZE * clip_position.w * outline_width * 2.0;
12 |
13 | clip_position.xy += offset;
14 |
15 | POSITION = clip_position;
16 | }
17 |
18 | void fragment() {
19 | ALBEDO = outline_color.rgb;
20 | if (outline_color.a < 1.0) {
21 | ALPHA = outline_color.a;
22 | }
23 | }
--------------------------------------------------------------------------------
/godot/Shaders/random_noise.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform vec2 scale = vec2(10.0);
4 |
5 | float rand(vec2 coord) {
6 | return fract(sin(dot(coord, vec2(12.9898, 78.233))) * 43758.5453);
7 | }
8 |
9 | void fragment() {
10 | vec2 coord = UV * scale;
11 |
12 | float value = rand(coord);
13 |
14 | COLOR = vec4(vec3(value), 1.0);
15 | }
--------------------------------------------------------------------------------
/godot/Shaders/rim_control.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode specular_disabled, ambient_light_disabled;
3 |
4 | uniform float rim_size : hint_range(0,1);
5 | uniform float normal_offset_x = 0.0;
6 | uniform float normal_offset_y = 0.0;
7 |
8 | void vertex() {
9 | NORMAL += vec3(normal_offset_x, normal_offset_y, 0);
10 | }
11 |
12 | void fragment() {
13 | ALBEDO = vec3(0.0);
14 | ROUGHNESS = 0.8;
15 | RIM = 1.0;
16 | RIM_TINT = 1.0 - rim_size;
17 | }
18 |
--------------------------------------------------------------------------------
/godot/Shaders/shockwave.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform sampler2D mask_texture;
4 | uniform float displacement_amount;
5 |
6 | void fragment() {
7 | float mask = texture(mask_texture, UV).r;
8 |
9 | // Displace by the torus mask
10 | vec2 displacement_uv = UV + mask * displacement_amount;
11 |
12 | COLOR = texture(TEXTURE, displacement_uv);
13 | }
--------------------------------------------------------------------------------
/godot/Shaders/stencil_mask.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode depth_prepass_alpha;
3 |
4 | uniform vec4 albedo : source_color;
5 | uniform sampler2D stencil;
6 | uniform vec4 stencil_color : source_color;
7 |
8 | void fragment() {
9 | vec4 stencil_test = texture(stencil, SCREEN_UV);
10 | vec4 color_test = stencil_color;
11 |
12 | float stencil_id = stencil_test.r * 10.0 + stencil_test.g + 100.0 * stencil_test.b + 1000.0;
13 | float mask_id = stencil_color.r * 10.0 + stencil_color.g + 100.0 * stencil_color.b + 1000.0;
14 |
15 | float mask_result = abs(stencil_id - mask_id);
16 |
17 | ALBEDO = albedo.rgb;
18 | ALPHA = step(mask_result, 0.0) * albedo.a;
19 | }
--------------------------------------------------------------------------------
/godot/Shaders/voronoi_noise.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform vec2 scale = vec2(10.0);
4 | uniform bool seamless = false;
5 |
6 | vec2 rand2(vec2 coord) {
7 | return fract(sin(vec2(dot(coord, vec2(127.1, 311.7)), dot(coord, vec2(269.5, 183.3))))
8 | * 43758.5453);
9 | }
10 |
11 | float voronoi_noise(vec2 coord) {
12 | vec2 i = floor(coord);
13 | vec2 f = fract(coord);
14 |
15 | float min_dist = 999999.0;
16 | for (float x = -1.0; x <= 1.0; ++x) {
17 | for (float y = -1.0; y <= 1.0; ++y) {
18 | vec2 node = rand2(i + vec2(x, y)) + vec2(x, y);
19 |
20 | float dist = sqrt(pow((f - node).x, 2) + pow((f - node).y, 2));
21 | min_dist = min(min_dist, dist);
22 | }
23 | }
24 |
25 | return min_dist;
26 | }
27 |
28 | void fragment() {
29 | vec2 coord = UV * scale;
30 |
31 | float value = voronoi_noise(coord);
32 |
33 | COLOR = vec4(vec3(value), 1.0);
34 | }
--------------------------------------------------------------------------------
/godot/Shaders/wind_texture.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 |
3 | uniform sampler2D wind_mask;
4 |
5 | void vertex() {
6 | float sample = textureLod(wind_mask, UV, 0.0).r;
7 | }
--------------------------------------------------------------------------------
/godot/Shaders/wind_uv.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode world_vertex_coords, unshaded, cull_disabled;
3 |
4 | uniform float wind_speed = 0.3;
5 | uniform float wind_strength = 0.3;
6 |
7 | uniform sampler2D gradient : hint_default_black;
8 |
9 |
10 | void vertex() {
11 | float wind_offset = sin(wind_speed * TIME) * wind_strength;
12 | VERTEX = VERTEX + vec3(wind_offset, 0.0, 0.0) * UV.y;
13 | }
14 |
15 | void fragment() {
16 | vec4 color = texture(gradient, vec2(UV.y, 0));
17 |
18 | ALBEDO = color.rgb;
19 | }
--------------------------------------------------------------------------------
/godot/Shaders/xray_2d_mask.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 |
3 | uniform sampler2D alternate_viewport;
4 | uniform sampler2D mask_viewport;
5 | uniform float dimness : hint_range(0, 1) = 0.2;
6 |
7 | void fragment() {
8 | vec4 main_color = texture(TEXTURE, UV);
9 | float mask_color = texture(mask_viewport, UV).r;
10 | vec4 alternate_color = texture(alternate_viewport, UV);
11 |
12 | float brightness = 1.0 - dimness;
13 | // Dim the main viewport wherever the mask is black
14 | main_color.rgb *= max(brightness, mask_color);
15 | // Use mix blending to reveal the X-ray view where the mask, and X-ray view overlap
16 | COLOR = mix(main_color, alternate_color, alternate_color.a * mask_color);
17 | }
--------------------------------------------------------------------------------
/godot/Shaders/xray_3d_mask.gdshader:
--------------------------------------------------------------------------------
1 | shader_type canvas_item;
2 | render_mode blend_add;
3 |
4 | uniform sampler2D stencil_view : hint_default_black;
5 |
6 | void fragment() {
7 | float mask = texture(stencil_view, SCREEN_UV).r;
8 |
9 | COLOR.rgb = texture(TEXTURE, UV).rgb;
10 | COLOR.a = 1.0 - mask;
11 | }
--------------------------------------------------------------------------------
/godot/Shaders/xray_glow.gdshader:
--------------------------------------------------------------------------------
1 | shader_type spatial;
2 | render_mode blend_add, depth_draw_never, depth_test_disable;
3 |
4 | uniform vec4 outline_color : source_color;
5 | uniform float color_intensity = 1.0;
6 | uniform float outline_sharpness = 2.0;
7 |
8 | uniform vec4 stencil_color : source_color;
9 | uniform sampler2D stencil : hint_default_black;
10 |
11 | void fragment() {
12 | vec4 stencil_test = textureLod(stencil, SCREEN_UV, 0.0);
13 | vec4 color_test = stencil_color;
14 |
15 | float stencil_id = stencil_test.r * 10.0 + stencil_test.g + 100.0 * stencil_test.b + 1000.0;
16 | float mask_id = stencil_color.r * 10.0 + stencil_color.g + 100.0 * stencil_color.b + 1000.0;
17 |
18 | float mask_result = abs(stencil_id - mask_id);
19 |
20 |
21 | float fresnel_dot = 1.0 - dot(NORMAL, VIEW) * outline_sharpness;
22 | ALBEDO = vec3(0.0);
23 | EMISSION = smoothstep(0.0, 1.0, fresnel_dot) * outline_color.rgb * color_intensity;
24 | ALPHA = max(1.0 - step(mask_result, 0.0), 0.0);
25 | }
--------------------------------------------------------------------------------
/godot/Shared/Background2D/sparkle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/Background2D/sparkle.png
--------------------------------------------------------------------------------
/godot/Shared/Background2D/sparkle.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://disb32c7d7o4b"
6 | path="res://.godot/imported/sparkle.png-e41acd1cdb95a5ef2e5ae2e2c608ea77.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Shared/Background2D/sparkle.png"
14 | dest_files=["res://.godot/imported/sparkle.png-e41acd1cdb95a5ef2e5ae2e2c608ea77.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Shared/Camera/MouseCamera2D.gd:
--------------------------------------------------------------------------------
1 | # Camera offset by the mouse cursor
2 | extends Camera2D
3 |
4 | var factor := 0.4
5 |
6 |
7 | func _process(_delta: float) -> void:
8 | offset = get_local_mouse_position() * factor
9 |
--------------------------------------------------------------------------------
/godot/Shared/Camera/MouseCamera2D.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Shared/Camera3D/MouseCamera2D.gd" type="Script" id=1]
4 |
5 |
6 |
7 |
8 | [node name="MouseCamera2D" type="Camera2D"]
9 | current = true
10 | script = ExtResource( 1 )
11 |
--------------------------------------------------------------------------------
/godot/Shared/Demo3DEnvironmentDark.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=4 format=3 uid="uid://n87x06o26w4p"]
2 |
3 | [ext_resource type="Environment" path="res://Shared/environments/level_environment_dark.tres" id="1"]
4 | [ext_resource type="PackedScene" uid="uid://dquhei2qv5csj" path="res://Shared/Demo3DEnvironment.tscn" id="2"]
5 |
6 | [sub_resource type="StandardMaterial3D" id="1"]
7 | albedo_color = Color(0.168627, 0.156863, 0.184314, 1)
8 |
9 | [node name="Demo3DEnvironmentDark" instance=ExtResource("2")]
10 |
11 | [node name="BaseWorldEnvironment" parent="." index="0"]
12 | environment = ExtResource("1")
13 |
14 | [node name="Sun" parent="." index="1"]
15 | light_color = Color(0.960784, 0.941176, 0.901961, 1)
16 |
17 | [node name="Ground" parent="." index="2"]
18 | material_override = SubResource("1")
19 |
--------------------------------------------------------------------------------
/godot/Shared/DemoInterface.gd:
--------------------------------------------------------------------------------
1 | @tool
2 | extends Control
3 |
4 | @export_multiline var text_bbcode := "": set = set_text_bbcode
5 |
6 | @onready var _rich_text_label: RichTextLabel = $MarginContainer/RichTextLabel
7 |
8 |
9 | func set_text_bbcode(value: String) -> void:
10 | text_bbcode = value
11 | if not _rich_text_label:
12 | await self.ready
13 | _rich_text_label.text = value
14 |
--------------------------------------------------------------------------------
/godot/Shared/environments/2d_level_environment.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="Environment" format=2]
2 |
3 | [resource]
4 | background_mode = 4
5 | glow_enabled = true
6 | glow_blend_mode = 0
7 | glow_bicubic_upscale = true
8 |
--------------------------------------------------------------------------------
/godot/Shared/environments/level_environment.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="Environment" load_steps=3 format=3 uid="uid://fn1pja2kkulh"]
2 |
3 | [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_ijj6m"]
4 |
5 | [sub_resource type="Sky" id="1"]
6 | sky_material = SubResource("ProceduralSkyMaterial_ijj6m")
7 | radiance_size = 1
8 |
9 | [resource]
10 | background_mode = 2
11 | sky = SubResource("1")
12 | ambient_light_color = Color(1, 1, 1, 1)
13 | tonemap_mode = 3
14 | tonemap_white = 2.0
15 | ssao_enabled = true
16 | ssao_light_affect = 0.31
17 | glow_enabled = true
18 | glow_levels/2 = 1.0
19 | glow_levels/4 = 1.0
20 | glow_strength = 0.78
21 | glow_blend_mode = 0
22 |
--------------------------------------------------------------------------------
/godot/Shared/environments/level_environment_dark.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="Environment" load_steps=2 format=3 uid="uid://ctef6o8gbkc7x"]
2 |
3 | [sub_resource type="Sky" id="1"]
4 | radiance_size = 1
5 |
6 | [resource]
7 | background_mode = 2
8 | sky = SubResource("1")
9 | ambient_light_color = Color(1, 1, 1, 1)
10 | tonemap_mode = 3
11 | tonemap_white = 2.0
12 | ssao_enabled = true
13 | ssao_light_affect = 0.31
14 | glow_enabled = true
15 | glow_levels/2 = 1.0
16 | glow_levels/4 = 1.0
17 | glow_strength = 0.78
18 | glow_blend_mode = 0
19 |
--------------------------------------------------------------------------------
/godot/Shared/materials/basic_grey.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StandardMaterial3D" format=2]
2 |
3 | [resource]
4 | albedo_color = Color( 0.658824, 0.65098, 0.654902, 1 )
5 | metallic = 0.05
6 | metallic_specular = 1.0
7 |
--------------------------------------------------------------------------------
/godot/Shared/models/3D-environment/AtlasMaterial.material:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/3D-environment/AtlasMaterial.material
--------------------------------------------------------------------------------
/godot/Shared/models/3D-environment/ShockwaveScene.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/3D-environment/ShockwaveScene.glb
--------------------------------------------------------------------------------
/godot/Shared/models/3D-environment/ShockwaveScene_palette.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/3D-environment/ShockwaveScene_palette.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat.dae.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="scene"
4 | importer_version=1
5 | type="PackedScene"
6 | uid="uid://dpp7narpdag6n"
7 | path="res://.godot/imported/rat.dae-353f61c45cb6e28e42b5b058900a43c6.scn"
8 |
9 | [deps]
10 |
11 | source_file="res://Shared/models/rat_model/rat.dae"
12 | dest_files=["res://.godot/imported/rat.dae-353f61c45cb6e28e42b5b058900a43c6.scn"]
13 |
14 | [params]
15 |
16 | nodes/root_type="Node3D"
17 | nodes/root_name="Scene Root"
18 | nodes/apply_root_scale=true
19 | nodes/root_scale=1.0
20 | nodes/import_as_skeleton_bones=false
21 | meshes/ensure_tangents=true
22 | meshes/generate_lods=true
23 | meshes/create_shadow_meshes=true
24 | meshes/light_baking=0
25 | meshes/lightmap_texel_size=0.1
26 | meshes/force_disable_compression=false
27 | skins/use_named_skins=true
28 | animation/import=true
29 | animation/fps=15
30 | animation/trimming=false
31 | animation/remove_immutable_tracks=true
32 | animation/import_rest_as_RESET=false
33 | import_script/path=""
34 | _subresources={}
35 |
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=2 format=3 uid="uid://bvkjw7s6ugwb"]
2 |
3 | [ext_resource type="PackedScene" uid="uid://dpp7narpdag6n" path="res://Shared/models/rat_model/rat.dae" id="3"]
4 |
5 | [node name="rat" instance=ExtResource("3")]
6 |
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_albedo.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_albedo.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://e20amkpbkih2"
6 | path.s3tc="res://.godot/imported/rat_albedo.png-bab8ab64835b51d710ac5d571b7ce660.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Shared/models/rat_model/rat_albedo.png"
15 | dest_files=["res://.godot/imported/rat_albedo.png-bab8ab64835b51d710ac5d571b7ce660.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_body_ao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_body_ao.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_body_ao.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://npuonjm21ppl"
6 | path.s3tc="res://.godot/imported/rat_body_ao.png-f4727edcb0d3c78887b143f6cad2a270.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Shared/models/rat_model/rat_body_ao.png"
15 | dest_files=["res://.godot/imported/rat_body_ao.png-f4727edcb0d3c78887b143f6cad2a270.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_body_claws_mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_body_claws_mask.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_body_flesh_mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_body_flesh_mask.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_head_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_head_albedo.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_head_ao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_head_ao.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_head_ao.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://bi721oueilsle"
6 | path.s3tc="res://.godot/imported/rat_head_ao.png-4368048bc153eb33b85ad436fec39f28.s3tc.ctex"
7 | metadata={
8 | "imported_formats": ["s3tc_bptc"],
9 | "vram_texture": true
10 | }
11 |
12 | [deps]
13 |
14 | source_file="res://Shared/models/rat_model/rat_head_ao.png"
15 | dest_files=["res://.godot/imported/rat_head_ao.png-4368048bc153eb33b85ad436fec39f28.s3tc.ctex"]
16 |
17 | [params]
18 |
19 | compress/mode=2
20 | compress/high_quality=false
21 | compress/lossy_quality=0.7
22 | compress/hdr_compression=1
23 | compress/normal_map=0
24 | compress/channel_pack=0
25 | mipmaps/generate=false
26 | mipmaps/limit=-1
27 | roughness/mode=0
28 | roughness/src_normal=""
29 | process/fix_alpha_border=true
30 | process/premult_alpha=false
31 | process/normal_map_invert_y=false
32 | process/hdr_as_srgb=false
33 | process/hdr_clamp_exposure=false
34 | process/size_limit=0
35 | detect_3d/compress_to=1
36 |
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_head_eyes_mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_head_eyes_mask.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_head_flesh_mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_head_flesh_mask.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_head_teeth_mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_head_teeth_mask.png
--------------------------------------------------------------------------------
/godot/Shared/models/rat_model/rat_shadow_paint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/models/rat_model/rat_shadow_paint.png
--------------------------------------------------------------------------------
/godot/Shared/sprites/cloud1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/sprites/cloud1.png
--------------------------------------------------------------------------------
/godot/Shared/sprites/cloud1.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://byxidix2c22v3"
6 | path="res://.godot/imported/cloud1.png-02d6dd9062106d06dd185e31e5eca97a.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Shared/sprites/cloud1.png"
14 | dest_files=["res://.godot/imported/cloud1.png-02d6dd9062106d06dd185e31e5eca97a.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Shared/sprites/robi_shaded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/sprites/robi_shaded.png
--------------------------------------------------------------------------------
/godot/Shared/sprites/robi_shaded.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://7giw201cbixu"
6 | path="res://.godot/imported/robi_shaded.png-4d6caa48c396fb29e0bdcd5cc8a83474.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://Shared/sprites/robi_shaded.png"
14 | dest_files=["res://.godot/imported/robi_shaded.png-4d6caa48c396fb29e0bdcd5cc8a83474.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/godot/Shared/theme/empty.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxEmpty" format=2]
2 |
3 | [resource]
4 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/default_font_bold.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Shared/theme/fonts/montserrat/Montserrat-Bold.ttf" type="FontFile" id=1]
4 |
5 |
6 |
7 | [resource]
8 | size = 24
9 | use_filter = true
10 | font_data = ExtResource( 1 )
11 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/default_font_code.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Shared/theme/fonts/source_code_pro/SourceCodePro-Medium.otf" type="FontFile" id=1]
4 |
5 |
6 |
7 | [resource]
8 | size = 24
9 | use_filter = true
10 | font_data = ExtResource( 1 )
11 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/default_font_italics.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://assets/theme/fonts/montserrat/Montserrat-Bold.ttf" type="FontFile" id=1]
4 |
5 | [resource]
6 | size = 24
7 | use_filter = true
8 | font_data = ExtResource( 1 )
9 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/font_default.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Shared/theme/fonts/montserrat/Montserrat-Medium.ttf" type="FontFile" id=1]
4 |
5 |
6 |
7 | [resource]
8 | size = 18
9 | use_filter = true
10 | font_data = ExtResource( 1 )
11 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/font_info.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://assets/theme/fonts/montserrat/Montserrat-MediumItalic.ttf" type="FontFile" id=1]
4 |
5 | [resource]
6 | size = 20
7 | use_filter = true
8 | font_data = ExtResource( 1 )
9 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/font_title.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="FontFile" load_steps=2 format=2]
2 |
3 | [ext_resource path="res://Shared/theme/fonts/montserrat/Montserrat-Black.ttf" type="FontFile" id=1]
4 |
5 |
6 |
7 | [resource]
8 | size = 32
9 | use_filter = true
10 | font_data = ExtResource( 1 )
11 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/fonts/montserrat/Montserrat-Black.ttf
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-Black.ttf.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="font_data_dynamic"
4 | type="FontFile"
5 | uid="uid://68gpe2n77gla"
6 | path="res://.godot/imported/Montserrat-Black.ttf-f2401f06a9961c31abe3cbd1288ac4a4.fontdata"
7 |
8 | [deps]
9 |
10 | source_file="res://Shared/theme/fonts/montserrat/Montserrat-Black.ttf"
11 | dest_files=["res://.godot/imported/Montserrat-Black.ttf-f2401f06a9961c31abe3cbd1288ac4a4.fontdata"]
12 |
13 | [params]
14 |
15 | Rendering=null
16 | antialiasing=1
17 | generate_mipmaps=false
18 | disable_embedded_bitmaps=true
19 | multichannel_signed_distance_field=false
20 | msdf_pixel_range=8
21 | msdf_size=48
22 | allow_system_fallback=true
23 | force_autohinter=false
24 | hinting=1
25 | subpixel_positioning=1
26 | oversampling=0.0
27 | Fallbacks=null
28 | fallbacks=[]
29 | Compress=null
30 | compress=true
31 | preload=[]
32 | language_support={}
33 | script_support={}
34 | opentype_features={}
35 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/fonts/montserrat/Montserrat-Bold.ttf
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-Bold.ttf.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="font_data_dynamic"
4 | type="FontFile"
5 | uid="uid://dju6h8fxban4"
6 | path="res://.godot/imported/Montserrat-Bold.ttf-83efeefd47b2c8f889633be042646a31.fontdata"
7 |
8 | [deps]
9 |
10 | source_file="res://Shared/theme/fonts/montserrat/Montserrat-Bold.ttf"
11 | dest_files=["res://.godot/imported/Montserrat-Bold.ttf-83efeefd47b2c8f889633be042646a31.fontdata"]
12 |
13 | [params]
14 |
15 | Rendering=null
16 | antialiasing=1
17 | generate_mipmaps=false
18 | disable_embedded_bitmaps=true
19 | multichannel_signed_distance_field=false
20 | msdf_pixel_range=8
21 | msdf_size=48
22 | allow_system_fallback=true
23 | force_autohinter=false
24 | hinting=1
25 | subpixel_positioning=1
26 | oversampling=0.0
27 | Fallbacks=null
28 | fallbacks=[]
29 | Compress=null
30 | compress=true
31 | preload=[]
32 | language_support={}
33 | script_support={}
34 | opentype_features={}
35 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/fonts/montserrat/Montserrat-Medium.ttf
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-Medium.ttf.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="font_data_dynamic"
4 | type="FontFile"
5 | uid="uid://bcm2g6jnubxyp"
6 | path="res://.godot/imported/Montserrat-Medium.ttf-6b9b71ae1c9079819f647097aa3b536a.fontdata"
7 |
8 | [deps]
9 |
10 | source_file="res://Shared/theme/fonts/montserrat/Montserrat-Medium.ttf"
11 | dest_files=["res://.godot/imported/Montserrat-Medium.ttf-6b9b71ae1c9079819f647097aa3b536a.fontdata"]
12 |
13 | [params]
14 |
15 | Rendering=null
16 | antialiasing=1
17 | generate_mipmaps=false
18 | disable_embedded_bitmaps=true
19 | multichannel_signed_distance_field=false
20 | msdf_pixel_range=8
21 | msdf_size=48
22 | allow_system_fallback=true
23 | force_autohinter=false
24 | hinting=1
25 | subpixel_positioning=1
26 | oversampling=0.0
27 | Fallbacks=null
28 | fallbacks=[]
29 | Compress=null
30 | compress=true
31 | preload=[]
32 | language_support={}
33 | script_support={}
34 | opentype_features={}
35 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/fonts/montserrat/Montserrat-MediumItalic.ttf
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/montserrat/Montserrat-MediumItalic.ttf.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="font_data_dynamic"
4 | type="FontFile"
5 | uid="uid://5sf5k1dx330o"
6 | path="res://.godot/imported/Montserrat-MediumItalic.ttf-52d07f86726856e1b74b10f09e1928c6.fontdata"
7 |
8 | [deps]
9 |
10 | source_file="res://Shared/theme/fonts/montserrat/Montserrat-MediumItalic.ttf"
11 | dest_files=["res://.godot/imported/Montserrat-MediumItalic.ttf-52d07f86726856e1b74b10f09e1928c6.fontdata"]
12 |
13 | [params]
14 |
15 | Rendering=null
16 | antialiasing=1
17 | generate_mipmaps=false
18 | disable_embedded_bitmaps=true
19 | multichannel_signed_distance_field=false
20 | msdf_pixel_range=8
21 | msdf_size=48
22 | allow_system_fallback=true
23 | force_autohinter=false
24 | hinting=1
25 | subpixel_positioning=1
26 | oversampling=0.0
27 | Fallbacks=null
28 | fallbacks=[]
29 | Compress=null
30 | compress=true
31 | preload=[]
32 | language_support={}
33 | script_support={}
34 | opentype_features={}
35 |
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/source_code_pro/SourceCodePro-Medium.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/fonts/source_code_pro/SourceCodePro-Medium.otf
--------------------------------------------------------------------------------
/godot/Shared/theme/fonts/source_code_pro/SourceCodePro-Medium.otf.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="font_data_dynamic"
4 | type="FontFile"
5 | uid="uid://cimug6nc7y0eb"
6 | path="res://.godot/imported/SourceCodePro-Medium.otf-ed4bc31740f13128dcf16220bbc58fe3.fontdata"
7 |
8 | [deps]
9 |
10 | source_file="res://Shared/theme/fonts/source_code_pro/SourceCodePro-Medium.otf"
11 | dest_files=["res://.godot/imported/SourceCodePro-Medium.otf-ed4bc31740f13128dcf16220bbc58fe3.fontdata"]
12 |
13 | [params]
14 |
15 | Rendering=null
16 | antialiasing=1
17 | generate_mipmaps=false
18 | disable_embedded_bitmaps=true
19 | multichannel_signed_distance_field=false
20 | msdf_pixel_range=8
21 | msdf_size=48
22 | allow_system_fallback=true
23 | force_autohinter=false
24 | hinting=1
25 | subpixel_positioning=1
26 | oversampling=0.0
27 | Fallbacks=null
28 | fallbacks=[]
29 | Compress=null
30 | compress=true
31 | preload=[]
32 | language_support={}
33 | script_support={}
34 | opentype_features={}
35 |
--------------------------------------------------------------------------------
/godot/Shared/theme/gdquest.theme:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/gdquest.theme
--------------------------------------------------------------------------------
/godot/Shared/theme/icons/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/godot/Shared/theme/icons/chevron-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/godot/Shared/theme/slider/grabber_area.stylebox:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/slider/grabber_area.stylebox
--------------------------------------------------------------------------------
/godot/Shared/theme/slider/slider.stylebox:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/Shared/theme/slider/slider.stylebox
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/button_disabled.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0.0313726, 0.65098, 0.788235, 0.392157 )
5 | draw_center = false
6 | border_color = Color( 0.28125, 0.28125, 0.28125, 1 )
7 | corner_radius_top_left = 8
8 | corner_radius_top_right = 8
9 | corner_radius_bottom_right = 8
10 | corner_radius_bottom_left = 8
11 | expand_margin_left = 5.0
12 | expand_margin_right = 5.0
13 | expand_margin_top = 5.0
14 | expand_margin_bottom = 5.0
15 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/button_focused.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0, 0, 0, 1 )
5 | draw_center = false
6 | border_width_left = 2
7 | border_width_top = 2
8 | border_width_right = 2
9 | border_width_bottom = 2
10 | border_color = Color( 0.407843, 0.866667, 1, 1 )
11 | corner_radius_top_left = 8
12 | corner_radius_top_right = 8
13 | corner_radius_bottom_right = 8
14 | corner_radius_bottom_left = 8
15 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/button_focused_error.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0, 0, 0, 1 )
5 | draw_center = false
6 | border_width_left = 2
7 | border_width_top = 2
8 | border_width_right = 2
9 | border_width_bottom = 2
10 | border_color = Color( 1, 0, 0.305882, 1 )
11 | corner_radius_top_left = 8
12 | corner_radius_top_right = 8
13 | corner_radius_bottom_right = 8
14 | corner_radius_bottom_left = 8
15 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/button_focused_margin.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0, 0, 0, 1 )
5 | draw_center = false
6 | border_width_left = 2
7 | border_width_top = 2
8 | border_width_right = 2
9 | border_width_bottom = 2
10 | border_color = Color( 0.407843, 0.866667, 1, 1 )
11 | corner_radius_top_left = 8
12 | corner_radius_top_right = 8
13 | corner_radius_bottom_right = 8
14 | corner_radius_bottom_left = 8
15 | expand_margin_left = 4.0
16 | expand_margin_right = 4.0
17 | expand_margin_top = 4.0
18 | expand_margin_bottom = 4.0
19 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/button_hover.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0.0509804, 0.603922, 0.819608, 1 )
5 | border_color = Color( 0.597656, 0.597656, 0.597656, 1 )
6 | corner_radius_top_left = 8
7 | corner_radius_top_right = 8
8 | corner_radius_bottom_right = 8
9 | corner_radius_bottom_left = 8
10 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/button_normal.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0.0352941, 0.65098, 0.792157, 1 )
5 | corner_radius_top_left = 8
6 | corner_radius_top_right = 8
7 | corner_radius_bottom_right = 8
8 | corner_radius_bottom_left = 8
9 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/button_pressed.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0.0980392, 0.45098, 0.862745, 1 )
5 | border_color = Color( 0.269531, 0.269531, 0.269531, 1 )
6 | corner_radius_top_left = 8
7 | corner_radius_top_right = 8
8 | corner_radius_bottom_right = 8
9 | corner_radius_bottom_left = 8
10 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/line.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxLine" format=2]
2 |
3 | [resource]
4 | color = Color( 1, 1, 1, 0.196078 )
5 | thickness = 2
6 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/line_edit.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | content_margin_left = 12.0
5 | content_margin_right = 12.0
6 | content_margin_top = 8.0
7 | content_margin_bottom = 8.0
8 | bg_color = Color( 0.1539, 0.170145, 0.19, 0.588235 )
9 | corner_radius_top_left = 8
10 | corner_radius_top_right = 8
11 | corner_radius_bottom_right = 8
12 | corner_radius_bottom_left = 8
13 | shadow_color = Color( 0, 0, 0, 0.0705882 )
14 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/panel.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0.1539, 0.170145, 0.19, 0.588235 )
5 | shadow_color = Color( 0, 0, 0, 0.0705882 )
6 |
--------------------------------------------------------------------------------
/godot/Shared/theme/stylebox/panel_popup.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="StyleBoxFlat" format=2]
2 |
3 | [resource]
4 | bg_color = Color( 0.152941, 0.168627, 0.188235, 1 )
5 | corner_radius_top_left = 8
6 | corner_radius_top_right = 8
7 | corner_radius_bottom_right = 8
8 | corner_radius_bottom_left = 8
9 | shadow_color = Color( 0, 0, 0, 0.101961 )
10 | shadow_size = 8
11 | shadow_offset = Vector2( 0, 4 )
12 |
--------------------------------------------------------------------------------
/godot/Utils/PostProcessStep.gd:
--------------------------------------------------------------------------------
1 | class_name PostProcessStep
2 | extends Resource
3 |
4 | @export var post_proces_shader: ShaderMaterial
5 |
--------------------------------------------------------------------------------
/godot/addons/ShaderSecretsHelper/DemoScreen.gd:
--------------------------------------------------------------------------------
1 | extends CanvasLayer
2 | class_name DemoScreen
3 |
4 | @onready var _demo_interface: Control = $DemoInterface
5 |
6 | func _ready() -> void:
7 | var translation_key: String = name.to_lower()
8 | _demo_interface.set_text_bbcode(tr(translation_key))
9 | if _demo_interface.text_bbcode == translation_key:
10 | print_debug(
11 | "Missing position key {} for demo {}".format(
12 | [translation_key, name], "{}"
13 | )
14 | )
15 |
--------------------------------------------------------------------------------
/godot/default_env.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="Environment" load_steps=2 format=3 uid="uid://1q3rvnt3kn66"]
2 |
3 | [sub_resource type="Sky" id="1"]
4 |
5 | [resource]
6 | background_mode = 3
7 | background_color = Color(0.215686, 0.215686, 0.215686, 1)
8 | sky = SubResource("1")
9 | ambient_light_color = Color(0.976471, 0.941176, 0.941176, 1)
10 | ambient_light_sky_contribution = 0.72
11 | tonemap_mode = 3
12 | tonemap_white = 2.0
13 | glow_intensity = 1.24
14 | glow_strength = 0.93
15 | adjustment_contrast = 1.1
16 |
--------------------------------------------------------------------------------
/godot/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/godot/icon.png
--------------------------------------------------------------------------------
/godot/icon.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="CompressedTexture2D"
5 | uid="uid://cki1f2shnxao8"
6 | path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
7 | metadata={
8 | "vram_texture": false
9 | }
10 |
11 | [deps]
12 |
13 | source_file="res://icon.png"
14 | dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
15 |
16 | [params]
17 |
18 | compress/mode=0
19 | compress/high_quality=false
20 | compress/lossy_quality=0.7
21 | compress/hdr_compression=1
22 | compress/normal_map=0
23 | compress/channel_pack=0
24 | mipmaps/generate=false
25 | mipmaps/limit=-1
26 | roughness/mode=0
27 | roughness/src_normal=""
28 | process/fix_alpha_border=true
29 | process/premult_alpha=false
30 | process/normal_map_invert_y=false
31 | process/hdr_as_srgb=false
32 | process/hdr_clamp_exposure=false
33 | process/size_limit=0
34 | detect_3d/compress_to=1
35 |
--------------------------------------------------------------------------------
/img/banner-shader-secrets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/img/banner-shader-secrets.png
--------------------------------------------------------------------------------
/img/robi-in-flames.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/img/robi-in-flames.png
--------------------------------------------------------------------------------
/img/stylized-fire.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/img/stylized-fire.png
--------------------------------------------------------------------------------
/img/water2d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gdquest-demos/godot-shaders/76e66c9aea6c3cee08c257223d7ad2639c130997/img/water2d.png
--------------------------------------------------------------------------------