Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 417d9f5a6b | |||
| 591993a1f2 | |||
| e39620ce52 |
File diff suppressed because one or more lines are too long
33
assets/materials/walls/roof.tres
Normal file
33
assets/materials/walls/roof.tres
Normal file
@@ -0,0 +1,33 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://crmfn3ffj8oi4"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://clgsf8uqgmqa6" path="res://assets/materials/walls/walls.gdshader" id="1_0e3id"]
|
||||
[ext_resource type="Texture2D" uid="uid://b7bj41iep7068" path="res://assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png" id="2_0e3id"]
|
||||
[ext_resource type="Texture2D" uid="uid://djj0wp5xhwp7e" path="res://assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png" id="3_f1b6h"]
|
||||
[ext_resource type="Texture2D" uid="uid://b76lrrh6vyg4m" path="res://assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png" id="4_rir86"]
|
||||
[ext_resource type="Texture2D" uid="uid://dickf0midb32u" path="res://assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg" id="5_7jlns"]
|
||||
|
||||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_0e3id")
|
||||
shader_parameter/blendSharpness = 0.0
|
||||
shader_parameter/specular = 0.08
|
||||
shader_parameter/albedoTint = Color(0.9542733, 0.7775326, 0.7131461, 1)
|
||||
shader_parameter/roughnessMultiplier = 1.0
|
||||
shader_parameter/floorAlbedoTint = Color(0.94823223, 0.7557853, 0.6872866, 1)
|
||||
shader_parameter/floorRoughnessMultiplier = 1.0
|
||||
shader_parameter/textureMap = ExtResource("5_7jlns")
|
||||
shader_parameter/roughnessMap = ExtResource("4_rir86")
|
||||
shader_parameter/normalMap = ExtResource("3_f1b6h")
|
||||
shader_parameter/heightMap = ExtResource("2_0e3id")
|
||||
shader_parameter/normalMapStrength = 1.0
|
||||
shader_parameter/uvScale = 0.2
|
||||
shader_parameter/enableFloor = true
|
||||
shader_parameter/floorTextureMap = ExtResource("5_7jlns")
|
||||
shader_parameter/floorRoughnessMap = ExtResource("4_rir86")
|
||||
shader_parameter/floorNormalMap = ExtResource("3_f1b6h")
|
||||
shader_parameter/floorHeightMap = ExtResource("2_0e3id")
|
||||
shader_parameter/floorUvScale = 0.5
|
||||
shader_parameter/enablePom = true
|
||||
shader_parameter/heightMinLayers = 8
|
||||
shader_parameter/heightMaxLayers = 64
|
||||
shader_parameter/heightScale = 0.08
|
||||
BIN
assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dickf0midb32u"
|
||||
path.s3tc="res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_diff_4k.jpg"
|
||||
dest_files=["res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_diff_4k.jpg-5823ff540d82d50496805d95ee6e788b.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b7bj41iep7068"
|
||||
path.s3tc="res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_disp_4k.png"
|
||||
dest_files=["res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_disp_4k.png-623bc22b41a0fdec3dfe6f2c8672c482.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://djj0wp5xhwp7e"
|
||||
path.s3tc="res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_nor_gl_4k.png"
|
||||
dest_files=["res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_nor_gl_4k.png-071f5ce21d7d297bca4c1992cdceffb9.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b76lrrh6vyg4m"
|
||||
path.s3tc="res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/clay_roof_tiles_02_rough_4k.png"
|
||||
dest_files=["res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.s3tc.ctex", "res://.godot/imported/clay_roof_tiles_02_rough_4k.png-e6cb436c6ff4afdea2a51fc78cdc6859.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://q8t2qoldgk82"
|
||||
path.s3tc="res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg"
|
||||
dest_files=["res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.s3tc.ctex", "res://.godot/imported/patterned_paving_02_diff_4k.jpg-c6ee059f93e958798864fe8d9db3e0ef.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/patterned_paving_02_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bxthsx73n827h"
|
||||
path.s3tc="res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/patterned_paving_02_disp_4k.png"
|
||||
dest_files=["res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.s3tc.ctex", "res://.godot/imported/patterned_paving_02_disp_4k.png-daefa5776b6478ffe3897406047e8fef.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b5vh20x8tvigd"
|
||||
path.s3tc="res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png"
|
||||
dest_files=["res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.s3tc.ctex", "res://.godot/imported/patterned_paving_02_nor_gl_4k.png-ff3cbcf6401937fecbf6812daa49f87a.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/patterned_paving_02_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/patterned_paving_02_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dd7n608qw6wjy"
|
||||
path.s3tc="res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/patterned_paving_02_rough_4k.png"
|
||||
dest_files=["res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.s3tc.ctex", "res://.godot/imported/patterned_paving_02_rough_4k.png-60a85611c735eef075b0aa47e32ed6c6.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/rock_wall_03_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ne3nxvx6338v"
|
||||
path.s3tc="res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/rock_wall_03_diff_4k.jpg"
|
||||
dest_files=["res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.s3tc.ctex", "res://.godot/imported/rock_wall_03_diff_4k.jpg-4adbda3b1f8e8232766d25539b5a03d4.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/rock_wall_03_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cp25nnta7haq1"
|
||||
path.s3tc="res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/rock_wall_03_disp_4k.png"
|
||||
dest_files=["res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.s3tc.ctex", "res://.godot/imported/rock_wall_03_disp_4k.png-0d0dc46b7d4cd4b82d0864d8870ed278.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://mc1ioc2s54jx"
|
||||
path.s3tc="res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png"
|
||||
dest_files=["res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.s3tc.ctex", "res://.godot/imported/rock_wall_03_nor_gl_4k.png-b18a23f6754f58a73c151d0f2295aac5.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/rock_wall_03_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/rock_wall_03_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://wky0g4ab2rsf"
|
||||
path.s3tc="res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/rock_wall_03_rough_4k.png"
|
||||
dest_files=["res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.s3tc.ctex", "res://.godot/imported/rock_wall_03_rough_4k.png-3ba3ada829166ae83e32e01cd4364da9.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dm31fykckwfts"
|
||||
path.s3tc="res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg"
|
||||
dest_files=["res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_diff_4k.jpg-4152d8d1931227d064fbf97b075b9334.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/wood_planks_dirt_disp_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_disp_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dunt7q5302f8i"
|
||||
path.s3tc="res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/wood_planks_dirt_disp_4k.png"
|
||||
dest_files=["res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_disp_4k.png-3a13bc3595b10649d9b46da9fc33d923.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cju0ury64ricq"
|
||||
path.s3tc="res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png"
|
||||
dest_files=["res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_nor_gl_4k.png-078b342977d15f2ba8dec7d6bf8182a5.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/materials/walls/textures/wood_planks_dirt_rough_4k.png
(Stored with Git LFS)
Normal file
BIN
assets/materials/walls/textures/wood_planks_dirt_rough_4k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b8ukrfsw0x6q6"
|
||||
path.s3tc="res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/walls/textures/wood_planks_dirt_rough_4k.png"
|
||||
dest_files=["res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.s3tc.ctex", "res://.godot/imported/wood_planks_dirt_rough_4k.png-1b25c1288e791143eb79273718a1ca6d.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
188
assets/materials/walls/walls.gdshader
Normal file
188
assets/materials/walls/walls.gdshader
Normal file
@@ -0,0 +1,188 @@
|
||||
shader_type spatial;
|
||||
|
||||
uniform float blendSharpness;
|
||||
uniform float specular = 0.0;
|
||||
uniform vec4 albedoTint : source_color = vec4(1.0);
|
||||
uniform float roughnessMultiplier = 1.0;
|
||||
uniform vec4 floorAlbedoTint : source_color = vec4(1.0);
|
||||
uniform float floorRoughnessMultiplier = 1.0;
|
||||
|
||||
uniform sampler2D textureMap : source_color;
|
||||
uniform sampler2D roughnessMap : hint_roughness_gray;
|
||||
uniform sampler2D normalMap : hint_normal;
|
||||
uniform sampler2D heightMap : hint_default_white;
|
||||
uniform float normalMapStrength : hint_range(0, 1) = 1.0;
|
||||
uniform float uvScale = 1.0;
|
||||
|
||||
uniform bool enableFloor = false;
|
||||
uniform sampler2D floorTextureMap : source_color;
|
||||
uniform sampler2D floorRoughnessMap : hint_roughness_gray;
|
||||
uniform sampler2D floorNormalMap : hint_normal;
|
||||
uniform sampler2D floorHeightMap : hint_default_white;
|
||||
uniform float floorUvScale = 1.0;
|
||||
|
||||
uniform bool enablePom = true;
|
||||
uniform int heightMinLayers = 8;
|
||||
uniform int heightMaxLayers = 64;
|
||||
uniform float heightScale = 1.0;
|
||||
|
||||
varying vec3 worldPos;
|
||||
varying vec3 worldNormal;
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Transform the vertex position to world space
|
||||
worldPos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
|
||||
|
||||
// Transform the vertex normal to world space
|
||||
worldNormal = normalize((MODEL_MATRIX * vec4(NORMAL, 0.0)).xyz);
|
||||
|
||||
}
|
||||
|
||||
// TODO conditionals...
|
||||
vec2 scaleUV(float yDot, vec2 uv) {
|
||||
return uv * (enableFloor && yDot > 0.0 ? floorUvScale : uvScale);
|
||||
}
|
||||
|
||||
// TODO conditionals...
|
||||
vec4 sampleColor(float yDot, vec2 uv) {
|
||||
return enableFloor && yDot > 0.0 ? texture(floorTextureMap, uv)*floorAlbedoTint : texture(textureMap, uv)*albedoTint;
|
||||
}
|
||||
|
||||
// TODO conditionals...
|
||||
vec4 sampleRoughness(float yDot, vec2 uv) {
|
||||
return enableFloor && yDot > 0.0 ? texture(floorRoughnessMap, uv)*floorRoughnessMultiplier : texture(roughnessMap, uv)*roughnessMultiplier;
|
||||
}
|
||||
|
||||
// TODO conditionals...
|
||||
vec4 sampleHeight(float yDot, vec2 uv) {
|
||||
return enableFloor && yDot > 0.0 ? texture(floorHeightMap, uv) : texture(heightMap, uv);
|
||||
}
|
||||
|
||||
// TODO conditionals...
|
||||
vec4 sampleNormal(float yDot, vec2 uv) {
|
||||
return enableFloor && yDot > 0.0 ? texture(floorNormalMap, uv) : texture(normalMap, uv);
|
||||
}
|
||||
|
||||
vec4 triplanarSample(vec2 uvX, vec2 uvY, vec2 uvZ, vec3 blend, float yDot) {
|
||||
// Sample the texture using the calculated texture coordinates
|
||||
vec4 texColorX = texture(textureMap, uvX);
|
||||
vec4 texColorY = sampleColor(yDot, uvY);
|
||||
vec4 texColorZ = texture(textureMap, uvZ);
|
||||
|
||||
// Blend the samples together
|
||||
return texColorX * blend.x
|
||||
+ texColorY * blend.y
|
||||
+ texColorZ * blend.z;
|
||||
}
|
||||
|
||||
vec4 triplanarRoughness(vec2 uvX, vec2 uvY, vec2 uvZ, vec3 blend, float yDot) {
|
||||
// Sample the texture using the calculated texture coordinates
|
||||
vec4 texColorX = texture(textureMap, uvX);
|
||||
vec4 texColorY = sampleRoughness(yDot, uvY);
|
||||
vec4 texColorZ = texture(textureMap, uvZ);
|
||||
|
||||
// Blend the samples together
|
||||
return texColorX * blend.x
|
||||
+ texColorY * blend.y
|
||||
+ texColorZ * blend.z;
|
||||
}
|
||||
|
||||
// The simplest appoach suggested in the goat's article:
|
||||
// https://bgolus.medium.com/normal-mapping-for-a-triplanar-shader-10bf39dca05a
|
||||
vec3 triplanarNormal(float yDot, vec2 uvX, vec2 uvY, vec2 uvZ, vec3 blend) {
|
||||
|
||||
// Tangent space normal maps
|
||||
vec3 tnormalX = texture(normalMap, uvX).rgb;
|
||||
vec3 tnormalY = sampleNormal(yDot, uvY).rgb;
|
||||
vec3 tnormalZ = texture(normalMap, uvZ).rgb;
|
||||
|
||||
// Get the sign (-1 or 1) of the surface normal
|
||||
vec3 axisSign = sign(worldNormal);
|
||||
|
||||
|
||||
|
||||
// Flip tangent normal z to account for surface normal facing
|
||||
tnormalX.z *= axisSign.x;
|
||||
tnormalY.z *= axisSign.y;
|
||||
tnormalZ.z *= axisSign.z;
|
||||
|
||||
// Swizzle tangent normals to match world orientation and triblend
|
||||
return normalize(
|
||||
tnormalX.zyx * blend.x +
|
||||
tnormalY.xzy * blend.y +
|
||||
tnormalZ.xyz * blend.z
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
// Adapted from the tutorial. Changed to accept a viewDir which represents each plane.
|
||||
// https://www.youtube.com/watch?v=LrnE5f3h2SU
|
||||
vec2 pomUV(float yDot, vec2 m_base_uv, vec3 viewDir) {
|
||||
float viewDot = dot(viewDir, vec3(1, 0, 0));
|
||||
float minLayers = float(min(heightMinLayers, heightMaxLayers));
|
||||
float maxLayers = float(max(heightMinLayers, heightMaxLayers));
|
||||
float numLayers = mix(maxLayers, minLayers, abs(viewDot));
|
||||
numLayers = clamp(numLayers, minLayers, maxLayers);
|
||||
float layerDepth = 1.0f / numLayers;
|
||||
|
||||
vec2 uvOffset = viewDir.xy * heightScale / numLayers;
|
||||
|
||||
// tracks how "deep" we are on each iteration
|
||||
float currentLayerDepth = 0.0;
|
||||
// tracks how deep the heightmap; adjusted on each iteration as UVs shift
|
||||
float depthMapValue = 1.0 - sampleHeight(yDot, m_base_uv).r;
|
||||
|
||||
// loop until the current layer is deeper than the heightmap (hit)
|
||||
// the 100 iteration cap is because I'm paranoid
|
||||
for (int i = 0; i < 100 && currentLayerDepth < depthMapValue; i++) {
|
||||
m_base_uv -= uvOffset;
|
||||
depthMapValue = 1.0 - sampleHeight(yDot, m_base_uv).r;
|
||||
currentLayerDepth += layerDepth;
|
||||
}
|
||||
|
||||
// occlusion (interpolate with prev value)
|
||||
vec2 prevUV = m_base_uv + uvOffset;
|
||||
float afterDepth = depthMapValue - currentLayerDepth;
|
||||
float beforeDepth = 1.0 - sampleHeight(yDot, prevUV).r - currentLayerDepth + layerDepth;
|
||||
float weight = afterDepth / (afterDepth - beforeDepth);
|
||||
m_base_uv = prevUV * weight + m_base_uv * (1.0 - weight);
|
||||
|
||||
return m_base_uv;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Calculate blending
|
||||
float yDot = dot(worldNormal, vec3(0.0, 1.0, 0.0));
|
||||
vec3 blend = vec3(
|
||||
smoothstep(blendSharpness, 1.0, abs(dot(worldNormal, vec3(1.0, 0.0, 0.0)))),
|
||||
smoothstep(blendSharpness, 1.0, abs(yDot)),
|
||||
smoothstep(blendSharpness, 1.0, abs(dot(worldNormal, vec3(0.0, 0.0, 1.0))))
|
||||
);
|
||||
|
||||
// view dir will be swizzled to match coordinates
|
||||
vec3 viewDir = normalize(CAMERA_POSITION_WORLD - worldPos);
|
||||
|
||||
// Calculate texture coordinates
|
||||
vec2 texCoordX = worldPos.zy * uvScale;
|
||||
vec2 texCoordY = scaleUV(yDot, worldPos.zx);
|
||||
vec2 texCoordZ = worldPos.xy * uvScale;
|
||||
// TODO conditionals...
|
||||
if (enablePom) {
|
||||
texCoordX = pomUV(yDot, texCoordX, viewDir.zyx);
|
||||
texCoordY = pomUV(yDot, texCoordY, viewDir.zxy);
|
||||
texCoordZ = pomUV(yDot, texCoordZ, viewDir.xyz);
|
||||
}
|
||||
|
||||
// sample and output
|
||||
SPECULAR = specular;
|
||||
ALBEDO = triplanarSample(texCoordX, texCoordY, texCoordZ, blend, yDot).rgb;
|
||||
ROUGHNESS = triplanarRoughness(texCoordX, texCoordY, texCoordZ, blend, yDot).r;
|
||||
NORMAL = mix(worldNormal, triplanarNormal(yDot, texCoordX, texCoordY, texCoordZ, blend), normalMapStrength);
|
||||
NORMAL = normalize((VIEW_MATRIX * vec4(NORMAL, 0.0)).xyz);
|
||||
}
|
||||
|
||||
//void light() {
|
||||
// // Called for every pixel for every light affecting the material.
|
||||
// // Uncomment to replace the default light processing function with this one.
|
||||
//}
|
||||
1
assets/materials/walls/walls.gdshader.uid
Normal file
1
assets/materials/walls/walls.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://clgsf8uqgmqa6
|
||||
37
assets/materials/walls/walls_and_ground.tres
Normal file
37
assets/materials/walls/walls_and_ground.tres
Normal file
@@ -0,0 +1,37 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=10 format=3 uid="uid://crqalmyy5wynf"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://clgsf8uqgmqa6" path="res://assets/materials/walls/walls.gdshader" id="1_i648i"]
|
||||
[ext_resource type="Texture2D" uid="uid://bxthsx73n827h" path="res://assets/materials/walls/textures/patterned_paving_02_disp_4k.png" id="2_4vhk1"]
|
||||
[ext_resource type="Texture2D" uid="uid://b5vh20x8tvigd" path="res://assets/materials/walls/textures/patterned_paving_02_nor_gl_4k.png" id="3_ytvoj"]
|
||||
[ext_resource type="Texture2D" uid="uid://q8t2qoldgk82" path="res://assets/materials/walls/textures/patterned_paving_02_diff_4k.jpg" id="4_4ogtk"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd7n608qw6wjy" path="res://assets/materials/walls/textures/patterned_paving_02_rough_4k.png" id="4_4vhk1"]
|
||||
[ext_resource type="Texture2D" uid="uid://cp25nnta7haq1" path="res://assets/materials/walls/textures/rock_wall_03_disp_4k.png" id="5_0ulld"]
|
||||
[ext_resource type="Texture2D" uid="uid://mc1ioc2s54jx" path="res://assets/materials/walls/textures/rock_wall_03_nor_gl_4k.png" id="6_llsjo"]
|
||||
[ext_resource type="Texture2D" uid="uid://ne3nxvx6338v" path="res://assets/materials/walls/textures/rock_wall_03_diff_4k.jpg" id="7_l87d0"]
|
||||
[ext_resource type="Texture2D" uid="uid://wky0g4ab2rsf" path="res://assets/materials/walls/textures/rock_wall_03_rough_4k.png" id="8_ytvoj"]
|
||||
|
||||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_i648i")
|
||||
shader_parameter/blendSharpness = 0.0
|
||||
shader_parameter/specular = 0.08
|
||||
shader_parameter/albedoTint = Color(1, 1, 1, 1)
|
||||
shader_parameter/roughnessMultiplier = 1.0
|
||||
shader_parameter/floorAlbedoTint = Color(0.99232787, 0.92830753, 0.851413, 1)
|
||||
shader_parameter/floorRoughnessMultiplier = 1.0
|
||||
shader_parameter/textureMap = ExtResource("7_l87d0")
|
||||
shader_parameter/roughnessMap = ExtResource("8_ytvoj")
|
||||
shader_parameter/normalMap = ExtResource("6_llsjo")
|
||||
shader_parameter/heightMap = ExtResource("5_0ulld")
|
||||
shader_parameter/normalMapStrength = 1.0
|
||||
shader_parameter/uvScale = 0.3
|
||||
shader_parameter/enableFloor = true
|
||||
shader_parameter/floorTextureMap = ExtResource("4_4ogtk")
|
||||
shader_parameter/floorRoughnessMap = ExtResource("4_4vhk1")
|
||||
shader_parameter/floorNormalMap = ExtResource("3_ytvoj")
|
||||
shader_parameter/floorHeightMap = ExtResource("2_4vhk1")
|
||||
shader_parameter/floorUvScale = 0.5
|
||||
shader_parameter/enablePom = true
|
||||
shader_parameter/heightMinLayers = 8
|
||||
shader_parameter/heightMaxLayers = 64
|
||||
shader_parameter/heightScale = 0.2
|
||||
33
assets/materials/walls/wood_platform.tres
Normal file
33
assets/materials/walls/wood_platform.tres
Normal file
@@ -0,0 +1,33 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://cy7yon430rfy3"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://clgsf8uqgmqa6" path="res://assets/materials/walls/walls.gdshader" id="1_roy1o"]
|
||||
[ext_resource type="Texture2D" uid="uid://dunt7q5302f8i" path="res://assets/materials/walls/textures/wood_planks_dirt_disp_4k.png" id="2_roy1o"]
|
||||
[ext_resource type="Texture2D" uid="uid://cju0ury64ricq" path="res://assets/materials/walls/textures/wood_planks_dirt_nor_gl_4k.png" id="3_ff2cr"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8ukrfsw0x6q6" path="res://assets/materials/walls/textures/wood_planks_dirt_rough_4k.png" id="4_ob11h"]
|
||||
[ext_resource type="Texture2D" uid="uid://dm31fykckwfts" path="res://assets/materials/walls/textures/wood_planks_dirt_diff_4k.jpg" id="5_gbaep"]
|
||||
|
||||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_roy1o")
|
||||
shader_parameter/blendSharpness = 0.0
|
||||
shader_parameter/specular = 0.08
|
||||
shader_parameter/albedoTint = Color(1, 1, 1, 1)
|
||||
shader_parameter/roughnessMultiplier = 1.0
|
||||
shader_parameter/floorAlbedoTint = Color(0.6487552, 0.5087499, 0.40841186, 1)
|
||||
shader_parameter/floorRoughnessMultiplier = 1.0
|
||||
shader_parameter/textureMap = ExtResource("5_gbaep")
|
||||
shader_parameter/roughnessMap = ExtResource("4_ob11h")
|
||||
shader_parameter/normalMap = ExtResource("3_ff2cr")
|
||||
shader_parameter/heightMap = ExtResource("2_roy1o")
|
||||
shader_parameter/normalMapStrength = 1.0
|
||||
shader_parameter/uvScale = 0.3
|
||||
shader_parameter/enableFloor = true
|
||||
shader_parameter/floorTextureMap = ExtResource("5_gbaep")
|
||||
shader_parameter/floorRoughnessMap = ExtResource("4_ob11h")
|
||||
shader_parameter/floorNormalMap = ExtResource("3_ff2cr")
|
||||
shader_parameter/floorHeightMap = ExtResource("2_roy1o")
|
||||
shader_parameter/floorUvScale = 0.5
|
||||
shader_parameter/enablePom = true
|
||||
shader_parameter/heightMinLayers = 8
|
||||
shader_parameter/heightMaxLayers = 64
|
||||
shader_parameter/heightScale = 1.0
|
||||
BIN
assets/sky/citrus_orchard_road_puresky_4k.exr
Normal file
BIN
assets/sky/citrus_orchard_road_puresky_4k.exr
Normal file
Binary file not shown.
42
assets/sky/citrus_orchard_road_puresky_4k.exr.import
Normal file
42
assets/sky/citrus_orchard_road_puresky_4k.exr.import
Normal file
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d1w1flf6xdy6f"
|
||||
path.bptc="res://.godot/imported/citrus_orchard_road_puresky_4k.exr-c4b50f0c95051d3e2f93c8d518de8eb8.bptc.ctex"
|
||||
path.astc="res://.godot/imported/citrus_orchard_road_puresky_4k.exr-c4b50f0c95051d3e2f93c8d518de8eb8.astc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/citrus_orchard_road_puresky_4k.exr"
|
||||
dest_files=["res://.godot/imported/citrus_orchard_road_puresky_4k.exr-c4b50f0c95051d3e2f93c8d518de8eb8.bptc.ctex", "res://.godot/imported/citrus_orchard_road_puresky_4k.exr-c4b50f0c95051d3e2f93c8d518de8eb8.astc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
9
assets/sky/simple_sky.tres
Normal file
9
assets/sky/simple_sky.tres
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_resource type="ProceduralSkyMaterial" format=3 uid="uid://bb4c25ot8f4rt"]
|
||||
|
||||
[resource]
|
||||
sky_top_color = Color(0.68341744, 0.41567144, 0.87147236, 1)
|
||||
sky_horizon_color = Color(0.9058611, 0.56007004, 0.5634753, 1)
|
||||
ground_bottom_color = Color(0.68235296, 0.41568628, 0.87058824, 1)
|
||||
ground_horizon_color = Color(0.90588236, 0.56078434, 0.5647059, 1)
|
||||
ground_curve = 0.14420073
|
||||
sun_angle_max = 10.0
|
||||
BIN
assets/sky/sky_12_2k.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_2k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
42
assets/sky/sky_12_2k.png.import
Normal file
42
assets/sky/sky_12_2k.png.import
Normal file
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dtkyhk8q5qitp"
|
||||
path.s3tc="res://.godot/imported/sky_12_2k.png-9ca073e8443d469e1cec2dec0d53efff.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/sky_12_2k.png-9ca073e8443d469e1cec2dec0d53efff.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_2k.png"
|
||||
dest_files=["res://.godot/imported/sky_12_2k.png-9ca073e8443d469e1cec2dec0d53efff.s3tc.ctex", "res://.godot/imported/sky_12_2k.png-9ca073e8443d469e1cec2dec0d53efff.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/sky/sky_12_cubemap_2k/cubemap_layout.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_cubemap_2k/cubemap_layout.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_12_cubemap_2k/cubemap_layout.png.import
Normal file
40
assets/sky/sky_12_cubemap_2k/cubemap_layout.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://7v8n5l1jwqms"
|
||||
path="res://.godot/imported/cubemap_layout.png-b6dae0db04ee7c9cbc9a7aadeb5ccab7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_cubemap_2k/cubemap_layout.png"
|
||||
dest_files=["res://.godot/imported/cubemap_layout.png-b6dae0db04ee7c9cbc9a7aadeb5ccab7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_12_cubemap_2k/nx.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_cubemap_2k/nx.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_12_cubemap_2k/nx.png.import
Normal file
40
assets/sky/sky_12_cubemap_2k/nx.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://hdkvbhxv74j6"
|
||||
path="res://.godot/imported/nx.png-e15247724725306f62acfb90c21225be.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_cubemap_2k/nx.png"
|
||||
dest_files=["res://.godot/imported/nx.png-e15247724725306f62acfb90c21225be.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_12_cubemap_2k/ny.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_cubemap_2k/ny.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_12_cubemap_2k/ny.png.import
Normal file
40
assets/sky/sky_12_cubemap_2k/ny.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b5i6hyvrf6wr6"
|
||||
path="res://.godot/imported/ny.png-edb2c080597642cc467608a8c1b7d3bd.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_cubemap_2k/ny.png"
|
||||
dest_files=["res://.godot/imported/ny.png-edb2c080597642cc467608a8c1b7d3bd.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_12_cubemap_2k/nz.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_cubemap_2k/nz.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_12_cubemap_2k/nz.png.import
Normal file
40
assets/sky/sky_12_cubemap_2k/nz.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bujopqmkixx3e"
|
||||
path="res://.godot/imported/nz.png-af180c68b72cd850f86875d2f15512e2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_cubemap_2k/nz.png"
|
||||
dest_files=["res://.godot/imported/nz.png-af180c68b72cd850f86875d2f15512e2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_12_cubemap_2k/px.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_cubemap_2k/px.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_12_cubemap_2k/px.png.import
Normal file
40
assets/sky/sky_12_cubemap_2k/px.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://balk16vpipwxi"
|
||||
path="res://.godot/imported/px.png-7ea47271df79321386b0e32cb687208d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_cubemap_2k/px.png"
|
||||
dest_files=["res://.godot/imported/px.png-7ea47271df79321386b0e32cb687208d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_12_cubemap_2k/py.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_cubemap_2k/py.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_12_cubemap_2k/py.png.import
Normal file
40
assets/sky/sky_12_cubemap_2k/py.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cf2j8rtis5j7m"
|
||||
path="res://.godot/imported/py.png-0d93a31a98aa56298cb968aa366790ff.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_cubemap_2k/py.png"
|
||||
dest_files=["res://.godot/imported/py.png-0d93a31a98aa56298cb968aa366790ff.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_12_cubemap_2k/pz.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_12_cubemap_2k/pz.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_12_cubemap_2k/pz.png.import
Normal file
40
assets/sky/sky_12_cubemap_2k/pz.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bm7ihmtlp53ae"
|
||||
path="res://.godot/imported/pz.png-651528e7a908f53bf85a39c4afb837c5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_12_cubemap_2k/pz.png"
|
||||
dest_files=["res://.godot/imported/pz.png-651528e7a908f53bf85a39c4afb837c5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_15_2k.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_2k.png
(Stored with Git LFS)
Normal file
Binary file not shown.
42
assets/sky/sky_15_2k.png.import
Normal file
42
assets/sky/sky_15_2k.png.import
Normal file
@@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ca4kkq3w8cd4n"
|
||||
path.s3tc="res://.godot/imported/sky_15_2k.png-635fc4f2c92a6d84fbe74d4b06ec849b.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/sky_15_2k.png-635fc4f2c92a6d84fbe74d4b06ec849b.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_2k.png"
|
||||
dest_files=["res://.godot/imported/sky_15_2k.png-635fc4f2c92a6d84fbe74d4b06ec849b.s3tc.ctex", "res://.godot/imported/sky_15_2k.png-635fc4f2c92a6d84fbe74d4b06ec849b.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
assets/sky/sky_15_cubemap_2k/cubemap_layout.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_cubemap_2k/cubemap_layout.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_15_cubemap_2k/cubemap_layout.png.import
Normal file
40
assets/sky/sky_15_cubemap_2k/cubemap_layout.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d1glcaopf33pm"
|
||||
path="res://.godot/imported/cubemap_layout.png-6cd743dfe803537ed52cf90d8f87fc09.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_cubemap_2k/cubemap_layout.png"
|
||||
dest_files=["res://.godot/imported/cubemap_layout.png-6cd743dfe803537ed52cf90d8f87fc09.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_15_cubemap_2k/nx.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_cubemap_2k/nx.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_15_cubemap_2k/nx.png.import
Normal file
40
assets/sky/sky_15_cubemap_2k/nx.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ha35oqdprgxn"
|
||||
path="res://.godot/imported/nx.png-9940f01cf2d318eac22e77aed0924dea.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_cubemap_2k/nx.png"
|
||||
dest_files=["res://.godot/imported/nx.png-9940f01cf2d318eac22e77aed0924dea.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_15_cubemap_2k/ny.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_cubemap_2k/ny.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_15_cubemap_2k/ny.png.import
Normal file
40
assets/sky/sky_15_cubemap_2k/ny.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://7nv6cngqgxck"
|
||||
path="res://.godot/imported/ny.png-aa2c4907898777556ecbcdf7f8c9cc9b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_cubemap_2k/ny.png"
|
||||
dest_files=["res://.godot/imported/ny.png-aa2c4907898777556ecbcdf7f8c9cc9b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_15_cubemap_2k/nz.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_cubemap_2k/nz.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_15_cubemap_2k/nz.png.import
Normal file
40
assets/sky/sky_15_cubemap_2k/nz.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bmpoy5dldy4qb"
|
||||
path="res://.godot/imported/nz.png-353d3b652e87892a2437b1cd16e570dc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_cubemap_2k/nz.png"
|
||||
dest_files=["res://.godot/imported/nz.png-353d3b652e87892a2437b1cd16e570dc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_15_cubemap_2k/px.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_cubemap_2k/px.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_15_cubemap_2k/px.png.import
Normal file
40
assets/sky/sky_15_cubemap_2k/px.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://qsqveq4oifw4"
|
||||
path="res://.godot/imported/px.png-34404ac21659a59edf3d6c7f85f54bcb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_cubemap_2k/px.png"
|
||||
dest_files=["res://.godot/imported/px.png-34404ac21659a59edf3d6c7f85f54bcb.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_15_cubemap_2k/py.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_cubemap_2k/py.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_15_cubemap_2k/py.png.import
Normal file
40
assets/sky/sky_15_cubemap_2k/py.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://m3475w1xwy25"
|
||||
path="res://.godot/imported/py.png-9566cd2f8ccdd1ce1116f23c6b3eb3a1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_cubemap_2k/py.png"
|
||||
dest_files=["res://.godot/imported/py.png-9566cd2f8ccdd1ce1116f23c6b3eb3a1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/sky/sky_15_cubemap_2k/pz.png
(Stored with Git LFS)
Normal file
BIN
assets/sky/sky_15_cubemap_2k/pz.png
(Stored with Git LFS)
Normal file
Binary file not shown.
40
assets/sky/sky_15_cubemap_2k/pz.png.import
Normal file
40
assets/sky/sky_15_cubemap_2k/pz.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cpebv08pjd3m5"
|
||||
path="res://.godot/imported/pz.png-dc8cc0e23d6ad35898672269481b4221.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sky/sky_15_cubemap_2k/pz.png"
|
||||
dest_files=["res://.godot/imported/pz.png-dc8cc0e23d6ad35898672269481b4221.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
88
assets/water/water.gdshader
Normal file
88
assets/water/water.gdshader
Normal file
@@ -0,0 +1,88 @@
|
||||
shader_type spatial;
|
||||
|
||||
uniform vec3 albedo : source_color;
|
||||
uniform vec3 albedo2 : source_color;
|
||||
|
||||
uniform float metallic : hint_range(0.0, 1.0, 0.01) = 0;
|
||||
uniform float roughness : hint_range(0.0, 1.0, 0.01) = 0.02;
|
||||
|
||||
uniform sampler2D texture_normal;
|
||||
uniform sampler2D texture_normal2;
|
||||
|
||||
uniform vec2 wave_direction = vec2(0.0, 0.0);
|
||||
uniform vec2 wave_direction2 = vec2(0.0, 0.0);
|
||||
uniform float time_scale : hint_range(0.0, 0.2, 0.005) = 0.025;
|
||||
|
||||
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
|
||||
uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest;
|
||||
|
||||
uniform vec4 color_deep : source_color;
|
||||
uniform vec4 color_shallow : source_color;
|
||||
uniform float beers_law = 2.0;
|
||||
uniform float depth_offset = -0.75;
|
||||
uniform float depth_color_change = 5.0;
|
||||
|
||||
uniform float edge_scale = 0.1;
|
||||
uniform float near = 1.0;
|
||||
uniform float far = 100.0;
|
||||
uniform vec3 edge_color : source_color;
|
||||
|
||||
uniform sampler2D waves;
|
||||
uniform float noise_scale = 10.0;
|
||||
uniform float height_scale = 0.15;
|
||||
|
||||
varying float height;
|
||||
varying vec3 world_pos;
|
||||
|
||||
float fresnel(float amount, vec3 normal, vec3 view)
|
||||
{
|
||||
return pow((1.0 - clamp(dot(normalize(normal), normalize(view)), 0.0, 1.0)), amount);
|
||||
}
|
||||
|
||||
float edge(float depth)
|
||||
{
|
||||
depth = 1.0 - 2.0*depth;
|
||||
return near * far / (far + depth * (near - far));
|
||||
}
|
||||
|
||||
void vertex() {
|
||||
world_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
|
||||
height = texture(waves, world_pos.xz / noise_scale + TIME * time_scale).r;
|
||||
VERTEX.y += height * height_scale;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
float depth_tex = clamp(pow(texture(depth_texture, SCREEN_UV).r * depth_color_change, 5.0), 0.0, 1.0);
|
||||
float depth = PROJECTION_MATRIX[3][2] / (clamp(depth_tex, 0.0, 1.0) + PROJECTION_MATRIX[2][2]);
|
||||
float depth_blend = exp((depth+VERTEX.z + depth_offset) * -beers_law);
|
||||
depth_blend = clamp(1.0 - depth_blend, 0.0, 1.0);
|
||||
float depth_blend_power = clamp(pow(depth_blend, 2.5), 0.0, 1.0);
|
||||
|
||||
vec3 screen_color = textureLod(screen_texture, SCREEN_UV, 0.0).rgb;
|
||||
vec3 depth_color = mix(color_shallow.rgb, color_deep.rgb, depth_blend_power);
|
||||
vec3 color = mix(screen_color*depth_color, depth_color*0.25, depth_blend_power*0.5);
|
||||
|
||||
float z_depth = edge(texture(depth_texture, SCREEN_UV).x);
|
||||
float z_pos = edge(FRAGCOORD.z);
|
||||
float z_dif = z_depth - z_pos;
|
||||
|
||||
vec2 time = (TIME * wave_direction) * time_scale;
|
||||
vec2 time2 = (TIME * wave_direction2) * time_scale;
|
||||
|
||||
vec3 normal = mix(texture(texture_normal, world_pos.xz/(noise_scale*2.0) + time).rgb, texture(texture_normal2, world_pos.xz/noise_scale + time2).rgb, 0.5);
|
||||
float fresnel_alpha = fresnel(5.0, NORMAL, VIEW);
|
||||
vec3 surface_color = mix(albedo, albedo2, fresnel_alpha);
|
||||
|
||||
vec3 surface_and_depth_color = mix(surface_color, color, 0.75);
|
||||
vec3 with_edges = mix(edge_color, surface_color, step(edge_scale, z_dif));
|
||||
|
||||
ALBEDO = vec3(surface_color);
|
||||
METALLIC = metallic;
|
||||
ROUGHNESS = roughness;
|
||||
NORMAL_MAP = normal;
|
||||
}
|
||||
|
||||
//void light() {
|
||||
// // Called for every pixel for every light affecting the material.
|
||||
// // Uncomment to replace the default light processing function with this one.
|
||||
//}
|
||||
1
assets/water/water.gdshader.uid
Normal file
1
assets/water/water.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://l11jog608jo1
|
||||
56
assets/water/water.tres
Normal file
56
assets/water/water.tres
Normal file
@@ -0,0 +1,56 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=8 format=3 uid="uid://bibpkiinj8gq7"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://l11jog608jo1" path="res://assets/water/water.gdshader" id="1_441rt"]
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_441rt"]
|
||||
noise_type = 3
|
||||
fractal_type = 2
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_qceba"]
|
||||
noise = SubResource("FastNoiseLite_441rt")
|
||||
seamless = true
|
||||
as_normal_map = true
|
||||
bump_strength = 6.9
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_v5uja"]
|
||||
noise_type = 3
|
||||
seed = 10
|
||||
fractal_type = 2
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_oqpjr"]
|
||||
noise = SubResource("FastNoiseLite_v5uja")
|
||||
seamless = true
|
||||
as_normal_map = true
|
||||
bump_strength = 2.4
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_qceba"]
|
||||
fractal_octaves = 3
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_v5uja"]
|
||||
noise = SubResource("FastNoiseLite_qceba")
|
||||
seamless = true
|
||||
|
||||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_441rt")
|
||||
shader_parameter/albedo = Color(0, 0.32156864, 0.43137255, 1)
|
||||
shader_parameter/albedo2 = Color(0.23849446, 0.558395, 0.6758933, 1)
|
||||
shader_parameter/metallic = 0.01999999955296
|
||||
shader_parameter/roughness = 0.01999999955296
|
||||
shader_parameter/texture_normal = SubResource("NoiseTexture2D_qceba")
|
||||
shader_parameter/texture_normal2 = SubResource("NoiseTexture2D_oqpjr")
|
||||
shader_parameter/wave_direction = Vector2(2, 0)
|
||||
shader_parameter/wave_direction2 = Vector2(0, 1)
|
||||
shader_parameter/time_scale = 0.0249999994412
|
||||
shader_parameter/color_deep = Color(0, 0.32156864, 0.43137255, 1)
|
||||
shader_parameter/color_shallow = Color(0.37512296, 0.8792228, 0.9831924, 1)
|
||||
shader_parameter/beers_law = 0.01
|
||||
shader_parameter/depth_offset = -0.75
|
||||
shader_parameter/depth_color_change = 73.16
|
||||
shader_parameter/edge_scale = 0.395
|
||||
shader_parameter/near = 1.0
|
||||
shader_parameter/far = 100.0
|
||||
shader_parameter/edge_color = Color(0.816028, 0.99999994, 0.9852888, 1)
|
||||
shader_parameter/waves = SubResource("NoiseTexture2D_v5uja")
|
||||
shader_parameter/noise_scale = 10.0
|
||||
shader_parameter/height_scale = 0.1
|
||||
13
assets/water/water.tscn
Normal file
13
assets/water/water.tscn
Normal file
@@ -0,0 +1,13 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://c066hc7yu36wx"]
|
||||
|
||||
[ext_resource type="Material" uid="uid://bibpkiinj8gq7" path="res://assets/water/water.tres" id="1_6nw2d"]
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_i6g1k"]
|
||||
size = Vector2(1, 1)
|
||||
subdivide_width = 200
|
||||
subdivide_depth = 200
|
||||
|
||||
[node name="Water" type="MeshInstance3D"]
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("PlaneMesh_i6g1k")
|
||||
surface_material_override/0 = ExtResource("1_6nw2d")
|
||||
Binary file not shown.
Binary file not shown.
1191
maps/city.tscn
1191
maps/city.tscn
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@ warnings/check_invalid_track_paths=false
|
||||
[application]
|
||||
|
||||
config/name="Movement tests"
|
||||
run/main_scene="uid://pk8ypa04qy6x"
|
||||
run/main_scene="uid://dmkw8cmalm5k"
|
||||
config/features=PackedStringArray("4.5", "C#", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
@@ -133,3 +133,5 @@ copy_path="res://scenes"
|
||||
[rendering]
|
||||
|
||||
textures/vram_compression/import_etc2_astc=true
|
||||
environment/volumetric_fog/volume_size=192
|
||||
environment/volumetric_fog/volume_depth=192
|
||||
|
||||
Reference in New Issue
Block a user