mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2026-01-04 23:10:08 +01:00
Add AMD FidelityFX Super Resolution 1.0 toggle to the 3D antialiasing demo (#871)
- Expose FSR Sharpness when FSR is enabled. - Allow more granular controls for rendering scale factor. - Add a FPS limit option when TAA is enabled, as TAA convergence quality depends on the rendered framerate. - Display viewport resolution (taking 3D resolution scale into account) in the top-right corner. - Decrease directional shadow bias to reduce peter-panning. - Fix some particles not being scaled over a lifetime curve.
This commit is contained in:
@@ -12,7 +12,9 @@ This project showcases the various 3D antialiasing techniques supported by Godot
|
||||
blurs the image (but less so than FXAA).
|
||||
- Antialiasing quality is worse on fast-moving objects than other methods,
|
||||
especially at lower framerates since the TAA won't have enough time to
|
||||
converge on those objects.
|
||||
converge on those objects. You can use the FPS limit setting provided
|
||||
when TAA is enabled to compare quality between different framerates
|
||||
(provided your graphics card can keep up).
|
||||
- Can introduce ghosting artifacts on moving objects, especially if motion
|
||||
vectors are not correctly generated from a given material shader.
|
||||
- **Supersampling (SSAA):** The highest-quality technique, but also the most
|
||||
@@ -27,13 +29,22 @@ Godot allows using multiple antialiasing techniques at the same time. This can
|
||||
be useful to obtain the best possible quality, or to find a better performance
|
||||
tradeoff.
|
||||
|
||||
A resolution scale slider is also provided. When set below 100%,
|
||||
AMD FidelityFX Super Resolution 1.0 upscaling can be enabled to improve visuals
|
||||
compared to traditional bilinear filtering.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> AMD FidelityFX Super Resolution 1.0 is **not** an antialiasing technique.
|
||||
> It works best when used at the same time as another antialiasing method.
|
||||
|
||||
Language: GDScript
|
||||
|
||||
Renderer: Vulkan Clustered
|
||||
Renderer: Forward Plus
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||

|
||||
|
||||
## Licenses
|
||||
|
||||
|
||||
@@ -15,11 +15,11 @@ var base_height = ProjectSettings.get_setting("display/window/size/viewport_heig
|
||||
@onready var rotation_x = $CameraHolder/RotationX
|
||||
@onready var camera = $CameraHolder/RotationX/Camera3D
|
||||
|
||||
|
||||
func _ready():
|
||||
camera_holder.transform.basis = Basis.from_euler(Vector3(0, rot_y, 0))
|
||||
rotation_x.transform.basis = Basis.from_euler(Vector3(rot_x, 0, 0))
|
||||
update_gui()
|
||||
get_viewport().size_changed.connect(_on_viewport_size_changed)
|
||||
|
||||
|
||||
func _unhandled_input(event):
|
||||
@@ -76,25 +76,56 @@ func _on_fxaa_toggled(button_pressed):
|
||||
|
||||
func _on_temporal_antialiasing_toggled(button_pressed):
|
||||
get_viewport().use_taa = button_pressed
|
||||
$FPSLimit.visible = button_pressed
|
||||
|
||||
func _on_fps_limit_item_selected(index):
|
||||
# The rendering FPS affects the appearance of TAA, as higher framerates allow it to converge faster.
|
||||
# On high refresh rate monitors, TAA ghosting issues may appear less noticeable as a result
|
||||
# (if the GPU can keep up).
|
||||
match index:
|
||||
0:
|
||||
Engine.max_fps = 30
|
||||
1:
|
||||
Engine.max_fps = 60
|
||||
2:
|
||||
# No limit, other than what's enforced by V-Sync.
|
||||
Engine.max_fps = 0
|
||||
|
||||
|
||||
func _on_msaa_item_selected(index):
|
||||
get_viewport().msaa_3d = index
|
||||
|
||||
|
||||
func _on_render_scale_item_selected(index):
|
||||
func _on_render_scale_value_changed(value):
|
||||
get_viewport().scaling_3d_scale = value
|
||||
$Antialiasing/HBoxContainer/Value.text = "%d%%" % (value * 100)
|
||||
# Update viewport resolution text.
|
||||
_on_viewport_size_changed()
|
||||
# FSR 1.0 is only effective if render scale is below 100%, so hide the setting if at native resolution or higher.
|
||||
$Antialiasing/FidelityFXFSR.visible = value < 1.0
|
||||
$Antialiasing/FSRSharpness.visible = get_viewport().scaling_3d_mode == Viewport.SCALING_3D_MODE_FSR and value < 1.0
|
||||
|
||||
|
||||
func _on_amd_fidelityfx_fsr1_toggled(button_pressed):
|
||||
get_viewport().scaling_3d_mode = Viewport.SCALING_3D_MODE_FSR if button_pressed else Viewport.SCALING_3D_MODE_BILINEAR
|
||||
# FSR 1.0 is only effective if render scale is below 100%, so hide the setting if at native resolution or higher.
|
||||
$Antialiasing/FSRSharpness.visible = button_pressed
|
||||
|
||||
|
||||
func _on_fsr_sharpness_item_selected(index):
|
||||
# *Lower* values of FSR sharpness are sharper.
|
||||
match index:
|
||||
0:
|
||||
get_viewport().scaling_3d_scale = 0.5
|
||||
get_viewport().fsr_sharpness = 2.0
|
||||
1:
|
||||
get_viewport().scaling_3d_scale = 0.75
|
||||
get_viewport().fsr_sharpness = 0.8
|
||||
2:
|
||||
get_viewport().scaling_3d_scale = 1.0
|
||||
get_viewport().fsr_sharpness = 0.4
|
||||
3:
|
||||
get_viewport().scaling_3d_scale = 1.25
|
||||
get_viewport().fsr_sharpness = 0.2
|
||||
4:
|
||||
get_viewport().scaling_3d_scale = 1.5
|
||||
5:
|
||||
get_viewport().scaling_3d_scale = 1.75
|
||||
6:
|
||||
get_viewport().scaling_3d_scale = 2.0
|
||||
get_viewport().fsr_sharpness = 0.0
|
||||
|
||||
|
||||
func _on_viewport_size_changed():
|
||||
$ViewportResolution.text = "Viewport resolution: %d×%d" % [get_viewport().size.x * get_viewport().scaling_3d_scale, get_viewport().size.y * get_viewport().scaling_3d_scale]
|
||||
|
||||
@@ -330,6 +330,7 @@ shading_mode = 0
|
||||
vertex_color_use_as_albedo = true
|
||||
albedo_texture = SubResource("GradientTexture2D_42opb")
|
||||
billboard_mode = 3
|
||||
billboard_keep_scale = true
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
@@ -425,16 +426,16 @@ void fragment() {
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_rejcs")
|
||||
shader_parameter/albedo = Color(1.2, 0.915333, 0.997134, 1)
|
||||
shader_parameter/metallic = 0.0
|
||||
shader_parameter/metallic_texture_channel = Plane(1, 0, 0, 0)
|
||||
shader_parameter/point_size = 1.0
|
||||
shader_parameter/roughness = 1.0
|
||||
shader_parameter/metallic_texture_channel = Plane(1, 0, 0, 0)
|
||||
shader_parameter/specular = 0.5
|
||||
shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac")
|
||||
shader_parameter/uv1_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/metallic = 0.0
|
||||
shader_parameter/uv1_scale = Vector3(2, 2, 1)
|
||||
shader_parameter/uv2_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/uv1_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/uv2_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/uv2_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac")
|
||||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_oopii"]
|
||||
height = 1.0
|
||||
@@ -486,16 +487,16 @@ void fragment() {
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_ovufm")
|
||||
shader_parameter/albedo = Color(1.2, 1.16365, 0.85123, 1)
|
||||
shader_parameter/metallic = 0.0
|
||||
shader_parameter/metallic_texture_channel = Plane(1, 0, 0, 0)
|
||||
shader_parameter/point_size = 1.0
|
||||
shader_parameter/roughness = 1.0
|
||||
shader_parameter/metallic_texture_channel = Plane(1, 0, 0, 0)
|
||||
shader_parameter/specular = 0.5
|
||||
shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac")
|
||||
shader_parameter/uv1_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/metallic = 0.0
|
||||
shader_parameter/uv1_scale = Vector3(2, 2, 1)
|
||||
shader_parameter/uv2_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/uv1_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/uv2_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/uv2_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac")
|
||||
|
||||
[node name="AntiAliasingTestScene" type="WorldEnvironment"]
|
||||
environment = SubResource("11")
|
||||
@@ -515,6 +516,7 @@ mesh = SubResource("14")
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.909487, -0.23874, 0.340349, 0, 0.818672, 0.574262, -0.415733, -0.522284, 0.744571, 3.9506, 3.39961, 3.54442)
|
||||
shadow_enabled = true
|
||||
shadow_bias = 0.03
|
||||
shadow_normal_bias = 1.5
|
||||
shadow_blur = 1.5
|
||||
directional_shadow_mode = 0
|
||||
@@ -689,7 +691,7 @@ draw_pass_1 = SubResource("BoxMesh_88317")
|
||||
|
||||
[node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Testers/StaticGPUParticles"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
extents = Vector3(2, 1, 2)
|
||||
size = Vector3(4, 2, 4)
|
||||
|
||||
[node name="MovingGPUParticles" type="Node3D" parent="Testers"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -56)
|
||||
@@ -707,7 +709,7 @@ draw_pass_1 = SubResource("BoxMesh_88317")
|
||||
|
||||
[node name="GPUParticlesCollisionBox3D2" type="GPUParticlesCollisionBox3D" parent="Testers/MovingGPUParticles"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
extents = Vector3(2, 1, 2)
|
||||
size = Vector3(4, 2, 4)
|
||||
|
||||
[node name="MovingDecal" type="Node3D" parent="Testers"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -60)
|
||||
@@ -781,44 +783,42 @@ offset_right = -24.0
|
||||
offset_bottom = -24.0
|
||||
text = "Next »"
|
||||
|
||||
[node name="FPSLimit" type="OptionButton" parent="."]
|
||||
visible = false
|
||||
offset_left = 404.0
|
||||
offset_top = 64.0
|
||||
offset_right = 609.0
|
||||
offset_bottom = 95.0
|
||||
item_count = 3
|
||||
selected = 2
|
||||
popup/item_0/text = "30 FPS Limit"
|
||||
popup/item_0/id = 0
|
||||
popup/item_1/text = "60 FPS Limit"
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = "No FPS Limit (V-Sync)"
|
||||
popup/item_2/id = 3
|
||||
|
||||
[node name="Antialiasing" type="VBoxContainer" parent="."]
|
||||
offset_left = 24.0
|
||||
offset_top = 24.0
|
||||
offset_right = 210.0
|
||||
offset_bottom = 55.0
|
||||
offset_right = 394.0
|
||||
offset_bottom = 260.0
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="Label" type="Label" parent="Antialiasing"]
|
||||
layout_mode = 2
|
||||
offset_right = 370.0
|
||||
offset_bottom = 26.0
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 3
|
||||
text = "Antialiasing Options:"
|
||||
|
||||
[node name="FXAA" type="CheckButton" parent="Antialiasing"]
|
||||
layout_mode = 2
|
||||
offset_top = 36.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 67.0
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 3
|
||||
theme_override_constants/outline_size = 4
|
||||
text = "FXAA (Fast)"
|
||||
|
||||
[node name="TemporalAntialiasing" type="CheckButton" parent="Antialiasing"]
|
||||
layout_mode = 2
|
||||
offset_top = 77.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 108.0
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 3
|
||||
theme_override_constants/outline_size = 4
|
||||
text = "Temporal antialiasing (Fast)"
|
||||
|
||||
[node name="MSAA" type="OptionButton" parent="Antialiasing"]
|
||||
layout_mode = 2
|
||||
offset_top = 118.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 149.0
|
||||
item_count = 4
|
||||
selected = 0
|
||||
popup/item_0/text = "No MSAA (Fastest)"
|
||||
@@ -830,31 +830,79 @@ popup/item_2/id = 2
|
||||
popup/item_3/text = "8× MSAA (Slowest)"
|
||||
popup/item_3/id = 3
|
||||
|
||||
[node name="RenderScale" type="OptionButton" parent="Antialiasing"]
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Antialiasing"]
|
||||
layout_mode = 2
|
||||
offset_top = 159.0
|
||||
offset_right = 370.0
|
||||
offset_bottom = 190.0
|
||||
item_count = 7
|
||||
selected = 2
|
||||
popup/item_0/text = "50% Render Scale (Fastest)"
|
||||
theme_override_constants/separation = 15
|
||||
|
||||
[node name="Label" type="Label" parent="Antialiasing/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 4
|
||||
text = "Render Scale"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="RenderScale" type="HSlider" parent="Antialiasing/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 4
|
||||
size_flags_stretch_ratio = 3.0
|
||||
min_value = 0.25
|
||||
max_value = 2.0
|
||||
step = 0.01
|
||||
value = 1.0
|
||||
|
||||
[node name="Value" type="Label" parent="Antialiasing/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 4
|
||||
text = "100%"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="FidelityFXFSR" type="CheckButton" parent="Antialiasing"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 4
|
||||
text = "AMD FidelityFX Super Resolution 1.0"
|
||||
|
||||
[node name="FSRSharpness" type="OptionButton" parent="Antialiasing"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
item_count = 5
|
||||
selected = 3
|
||||
popup/item_0/text = "No FSR Sharpness"
|
||||
popup/item_0/id = 0
|
||||
popup/item_1/text = "75% Render Scale (Fast)"
|
||||
popup/item_1/text = "Low FSR Sharpness"
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = "100% Render Scale (Average)"
|
||||
popup/item_2/text = "Medium FSR Sharpness"
|
||||
popup/item_2/id = 2
|
||||
popup/item_3/text = "125% Render Scale (1.56× SSAA, Slow)"
|
||||
popup/item_3/text = "High FSR Sharpness"
|
||||
popup/item_3/id = 3
|
||||
popup/item_4/text = "150% Render Scale (2.25× SSAA, Slower)"
|
||||
popup/item_4/text = "Highest FSR Sharpness"
|
||||
popup/item_4/id = 4
|
||||
popup/item_5/text = "175% Render Scale (3.06× SSAA, Very Slow)"
|
||||
popup/item_5/id = 5
|
||||
popup/item_6/text = "200% Render Scale (4× SSAA, Slowest)"
|
||||
popup/item_6/id = 6
|
||||
|
||||
[node name="ViewportResolution" type="Label" parent="."]
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -344.0
|
||||
offset_top = 16.0
|
||||
offset_right = -16.0
|
||||
offset_bottom = 55.0
|
||||
grow_horizontal = 0
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 4
|
||||
text = "Viewport resolution: 1152×648"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[connection signal="pressed" from="Previous" to="." method="_on_previous_pressed"]
|
||||
[connection signal="pressed" from="Next" to="." method="_on_next_pressed"]
|
||||
[connection signal="item_selected" from="FPSLimit" to="." method="_on_fps_limit_item_selected"]
|
||||
[connection signal="toggled" from="Antialiasing/FXAA" to="." method="_on_fxaa_toggled"]
|
||||
[connection signal="toggled" from="Antialiasing/TemporalAntialiasing" to="." method="_on_temporal_antialiasing_toggled"]
|
||||
[connection signal="item_selected" from="Antialiasing/MSAA" to="." method="_on_msaa_item_selected"]
|
||||
[connection signal="item_selected" from="Antialiasing/RenderScale" to="." method="_on_render_scale_item_selected"]
|
||||
[connection signal="value_changed" from="Antialiasing/HBoxContainer/RenderScale" to="." method="_on_render_scale_value_changed"]
|
||||
[connection signal="toggled" from="Antialiasing/FidelityFXFSR" to="." method="_on_amd_fidelityfx_fsr1_toggled"]
|
||||
[connection signal="item_selected" from="Antialiasing/FSRSharpness" to="." method="_on_fsr_sharpness_item_selected"]
|
||||
|
||||
@@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/dutch_ship_medium_1k.gltf-9a8c4d23ef33512c7c0
|
||||
|
||||
nodes/root_type="Node3D"
|
||||
nodes/root_name="Scene Root"
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
@@ -24,5 +25,8 @@ meshes/lightmap_texel_size=0.2
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/embedded_image_handling=1
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dhmrl40t2na37"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_hull_arm_1k.jpg-1bcb2be1a58190217bafabbba5a96cb5.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_hull_arm_1k.jpg-1bcb2be1a58190217bafabbba5a96cb5.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_hull_arm_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_hull_arm_1k.jpg-1bcb2be1a58190217bafabbba5a96cb5.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_hull_arm_1k.jpg-1bcb2be1a58190217bafabbba5a96cb5.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_hull_arm_1k.jpg-1bcb2be1a58190217bafabbba5a96cb5.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://88gdijjjr6p4"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_hull_diff_1k.jpg-d22f57383d3437ac6151a5dc155d1b44.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_hull_diff_1k.jpg-d22f57383d3437ac6151a5dc155d1b44.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_hull_diff_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_hull_diff_1k.jpg-d22f57383d3437ac6151a5dc155d1b44.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_hull_diff_1k.jpg-d22f57383d3437ac6151a5dc155d1b44.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_hull_diff_1k.jpg-d22f57383d3437ac6151a5dc155d1b44.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c22y3qjf8th8a"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_hull_nor_gl_1k.jpg-f0fc1f178ac5ff99bdf2aae06e0701f1.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_hull_nor_gl_1k.jpg-f0fc1f178ac5ff99bdf2aae06e0701f1.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_hull_nor_gl_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_hull_nor_gl_1k.jpg-f0fc1f178ac5ff99bdf2aae06e0701f1.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_hull_nor_gl_1k.jpg-f0fc1f178ac5ff99bdf2aae06e0701f1.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_hull_nor_gl_1k.jpg-f0fc1f178ac5ff99bdf2aae06e0701f1.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://15se8alkcbla"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_rigging_arm_1k.jpg-6de8e054b6e80b00009332eaf9eafbeb.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_rigging_arm_1k.jpg-6de8e054b6e80b00009332eaf9eafbeb.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_rigging_arm_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_rigging_arm_1k.jpg-6de8e054b6e80b00009332eaf9eafbeb.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_rigging_arm_1k.jpg-6de8e054b6e80b00009332eaf9eafbeb.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_rigging_arm_1k.jpg-6de8e054b6e80b00009332eaf9eafbeb.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c0yhj4wwbvgvu"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_rigging_diff_1k.jpg-b381c8dba5fcad22696086becdc354b0.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_rigging_diff_1k.jpg-b381c8dba5fcad22696086becdc354b0.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_rigging_diff_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_rigging_diff_1k.jpg-b381c8dba5fcad22696086becdc354b0.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_rigging_diff_1k.jpg-b381c8dba5fcad22696086becdc354b0.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_rigging_diff_1k.jpg-b381c8dba5fcad22696086becdc354b0.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://csbfe6x0jyswi"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_rigging_nor_gl_1k.jpg-26a255f6574d49990ad4162b06c015da.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_rigging_nor_gl_1k.jpg-26a255f6574d49990ad4162b06c015da.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_rigging_nor_gl_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_rigging_nor_gl_1k.jpg-26a255f6574d49990ad4162b06c015da.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_rigging_nor_gl_1k.jpg-26a255f6574d49990ad4162b06c015da.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_rigging_nor_gl_1k.jpg-26a255f6574d49990ad4162b06c015da.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://70shlrquand4"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_sails_arm_1k.jpg-6cdf6ae207b4bb5365f0df8bebf34d57.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_sails_arm_1k.jpg-6cdf6ae207b4bb5365f0df8bebf34d57.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_sails_arm_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_sails_arm_1k.jpg-6cdf6ae207b4bb5365f0df8bebf34d57.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_sails_arm_1k.jpg-6cdf6ae207b4bb5365f0df8bebf34d57.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_sails_arm_1k.jpg-6cdf6ae207b4bb5365f0df8bebf34d57.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dde6ofm1jcwiv"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_sails_diff_1k.jpg-501769b3e14d33a1ff05b4b14f45b65b.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_sails_diff_1k.jpg-501769b3e14d33a1ff05b4b14f45b65b.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_sails_diff_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_sails_diff_1k.jpg-501769b3e14d33a1ff05b4b14f45b65b.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_sails_diff_1k.jpg-501769b3e14d33a1ff05b4b14f45b65b.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_sails_diff_1k.jpg-501769b3e14d33a1ff05b4b14f45b65b.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://doc73t5xbl8to"
|
||||
path.s3tc="res://.godot/imported/dutch_ship_medium_sails_nor_gl_1k.jpg-8bd26cb4511a8400046da66b710b48cf.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/dutch_ship_medium_sails_nor_gl_1k.jpg-8bd26cb4511a8400046da66b710b48cf.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://polyhaven/textures/dutch_ship_medium_sails_nor_gl_1k.jpg"
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_sails_nor_gl_1k.jpg-8bd26cb4511a8400046da66b710b48cf.s3tc.ctex", "res://.godot/imported/dutch_ship_medium_sails_nor_gl_1k.jpg-8bd26cb4511a8400046da66b710b48cf.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/dutch_ship_medium_sails_nor_gl_1k.jpg-8bd26cb4511a8400046da66b710b48cf.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -8,9 +8,6 @@
|
||||
|
||||
config_version=5
|
||||
|
||||
_global_script_classes=[]
|
||||
_global_script_class_icons={}
|
||||
|
||||
[application]
|
||||
|
||||
config/name="3D Anti-Aliasing"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 968 KiB |
BIN
3d/antialiasing/screenshots/antialiasing.webp
Normal file
BIN
3d/antialiasing/screenshots/antialiasing.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 304 KiB |
@@ -4,23 +4,22 @@ importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://chjqieyps5n5r"
|
||||
path.s3tc="res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc", "etc2"],
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/checker.png"
|
||||
dest_files=["res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.s3tc.ctex", "res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
|
||||
@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/paint.png-879be22678d20d2d134debfc46f5226d.ct
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
@@ -16,9 +16,9 @@ dest_files=["res://.godot/imported/paint_normal.png-7924e58454336706ecd6d73c7236
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
|
||||
Reference in New Issue
Block a user