Refine environment texture rendering
This commit is contained in:
parent
2bcb4a3c93
commit
47a1990090
5 changed files with 55 additions and 22 deletions
|
|
@ -3,21 +3,19 @@
|
|||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://crci2on30ctoc"
|
||||
path.s3tc="res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.etc2.ctex"
|
||||
path="res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/exported/environment/textures/grass_lite.png"
|
||||
dest_files=["res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.s3tc.ctex", "res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
|
|
@ -25,7 +23,7 @@ compress/rdo_quality_loss=0.0
|
|||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
|
|
@ -39,4 +37,4 @@ 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
|
||||
detect_3d/compress_to=1
|
||||
|
|
|
|||
|
|
@ -3,21 +3,19 @@
|
|||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bnje415gq85nn"
|
||||
path.s3tc="res://.godot/imported/sand.png-41fc96c392119deeba43c2d4e49d88a5.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/sand.png-41fc96c392119deeba43c2d4e49d88a5.etc2.ctex"
|
||||
path="res://.godot/imported/sand.png-41fc96c392119deeba43c2d4e49d88a5.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/exported/environment/textures/sand.png"
|
||||
dest_files=["res://.godot/imported/sand.png-41fc96c392119deeba43c2d4e49d88a5.s3tc.ctex", "res://.godot/imported/sand.png-41fc96c392119deeba43c2d4e49d88a5.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/sand.png-41fc96c392119deeba43c2d4e49d88a5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
|
|
@ -25,7 +23,7 @@ compress/rdo_quality_loss=0.0
|
|||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
|
|
@ -39,4 +37,4 @@ 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
|
||||
detect_3d/compress_to=1
|
||||
|
|
|
|||
|
|
@ -22,8 +22,14 @@ func _run() -> void:
|
|||
assert(terrain.mesh.surface_get_name(3) == "cliff_wall")
|
||||
assert(terrain.mesh.surface_get_name(4) == "dirt_wall")
|
||||
|
||||
_validate_projected_material(terrain.get_surface_override_material(0))
|
||||
_validate_projected_material(terrain.get_surface_override_material(2))
|
||||
_validate_projected_material(
|
||||
terrain.get_surface_override_material(0),
|
||||
"res://art/exported/environment/textures/grass_lite.png"
|
||||
)
|
||||
_validate_projected_material(
|
||||
terrain.get_surface_override_material(2),
|
||||
"res://art/exported/environment/textures/sand.png"
|
||||
)
|
||||
for surface: int in [1, 3, 4]:
|
||||
assert(terrain.get_surface_override_material(surface) == null)
|
||||
assert(terrain.mesh.surface_get_material(surface) is StandardMaterial3D)
|
||||
|
|
@ -33,7 +39,10 @@ func _run() -> void:
|
|||
quit()
|
||||
|
||||
|
||||
func _validate_projected_material(material: Material) -> void:
|
||||
func _validate_projected_material(
|
||||
material: Material,
|
||||
expected_texture_path: String,
|
||||
) -> void:
|
||||
assert(material is ShaderMaterial)
|
||||
var shader_material := material as ShaderMaterial
|
||||
assert(
|
||||
|
|
@ -58,3 +67,12 @@ func _validate_projected_material(material: Material) -> void:
|
|||
2.0
|
||||
)
|
||||
)
|
||||
var texture: Texture2D = shader_material.get_shader_parameter(
|
||||
"albedo_texture"
|
||||
) as Texture2D
|
||||
assert(texture != null)
|
||||
assert(texture.resource_path == expected_texture_path)
|
||||
var imported_image: Image = texture.get_image()
|
||||
assert(imported_image != null)
|
||||
assert(not imported_image.has_mipmaps())
|
||||
assert(imported_image.get_format() == Image.FORMAT_RGBA8)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,28 @@
|
|||
[gd_resource type="Sky" load_steps=3 format=3 uid="uid://dersyay71dyat"]
|
||||
[gd_resource type="Sky" format=3 uid="uid://dersyay71dyat"]
|
||||
|
||||
[ext_resource type="Shader" path="res://world/environment/netfishing_sky.gdshader" id="1_sky_shader"]
|
||||
[ext_resource type="Shader" uid="uid://chbcdlhui3ro4" path="res://world/environment/netfishing_sky.gdshader" id="1_sky_shader"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_netfishing"]
|
||||
shader = ExtResource("1_sky_shader")
|
||||
shader_parameter/sky_top_color = Color(0.204, 0.498, 0.643, 1)
|
||||
shader_parameter/sky_horizon_color = Color(0.663, 0.843, 0.847, 1)
|
||||
shader_parameter/ground_bottom_color = Color(0.157, 0.361, 0.439, 1)
|
||||
shader_parameter/ground_horizon_color = Color(0.549, 0.749, 0.765, 1)
|
||||
shader_parameter/horizon_blend_width = 0.01
|
||||
shader_parameter/sun_direction = Vector3(0, 1, 0)
|
||||
shader_parameter/sun_color = Color(1, 0.86, 0.46, 1)
|
||||
shader_parameter/sun_visibility = 1.0
|
||||
shader_parameter/sun_radius = 0.055
|
||||
shader_parameter/sun_edge_softness = 0.003
|
||||
shader_parameter/sun_halo_radius = 0.14
|
||||
shader_parameter/sun_halo_strength = 0.16
|
||||
shader_parameter/moon_direction = Vector3(0, -1, 0)
|
||||
shader_parameter/moon_color = Color(0.78, 0.88, 1, 1)
|
||||
shader_parameter/moon_visibility = 0.0
|
||||
shader_parameter/moon_radius = 0.045
|
||||
shader_parameter/moon_edge_softness = 0.003
|
||||
shader_parameter/moon_halo_radius = 0.11
|
||||
shader_parameter/moon_halo_strength = 0.12
|
||||
|
||||
[resource]
|
||||
sky_material = SubResource("ShaderMaterial_netfishing")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
shader_type spatial;
|
||||
render_mode cull_back;
|
||||
|
||||
uniform sampler2D albedo_texture : source_color, repeat_enable, filter_nearest_mipmap_anisotropic;
|
||||
uniform sampler2D albedo_texture : source_color, repeat_enable, filter_nearest;
|
||||
uniform vec4 albedo_tint : source_color = vec4(1.0);
|
||||
uniform float tile_world_size : hint_range(0.1, 20.0, 0.05) = 2.5;
|
||||
uniform float blend_sharpness : hint_range(1.0, 16.0, 0.25) = 6.0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue