Add project files
This commit is contained in:
commit
b10fbca719
14 changed files with 588 additions and 0 deletions
65
global/Wind.gd
Normal file
65
global/Wind.gd
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
extends Node
|
||||
|
||||
# Copyright (c) 2024 Julian Müller (ChaoticByte)
|
||||
|
||||
var wind_strength: float:
|
||||
set(value):
|
||||
wind_strength = value
|
||||
_update_shader_param("wind_strength", value)
|
||||
|
||||
var wind_turbulence: float:
|
||||
set(value):
|
||||
wind_turbulence = value
|
||||
_update_shader_param("wind_turbulence", value)
|
||||
|
||||
var wind_direction: Vector2:
|
||||
set(value):
|
||||
value = value.normalized()
|
||||
wind_direction = value
|
||||
_update_shader_param("wind_direction", value)
|
||||
|
||||
var wind_noise_texture_size: int:
|
||||
set(value):
|
||||
wind_noise_texture_size = value
|
||||
_update_wind_noise()
|
||||
|
||||
var wind_noise: Noise:
|
||||
set(value):
|
||||
wind_noise = value
|
||||
_update_wind_noise()
|
||||
|
||||
func _update_wind_noise():
|
||||
var tex = ImageTexture.new()
|
||||
if wind_noise != null:
|
||||
var img = wind_noise.get_seamless_image(
|
||||
wind_noise_texture_size, wind_noise_texture_size)
|
||||
tex.set_image(img)
|
||||
_update_shader_param("wind_noise", tex)
|
||||
|
||||
var wind_noise_scale: float:
|
||||
set(value):
|
||||
wind_noise_scale = value
|
||||
_update_shader_param("wind_noise_scale", value)
|
||||
|
||||
var wind_noise_strength: float:
|
||||
set(value):
|
||||
wind_noise_strength = value
|
||||
_update_shader_param("wind_noise_strength", value)
|
||||
|
||||
# reset all params to default
|
||||
func reset():
|
||||
wind_strength = 0.2
|
||||
wind_turbulence = 0.5
|
||||
wind_direction = Vector2(1, 1)
|
||||
wind_noise_texture_size = 2048
|
||||
wind_noise = FastNoiseLite.new()
|
||||
wind_noise_scale = 8.0
|
||||
wind_noise_strength = 1.0
|
||||
|
||||
# internal stuff
|
||||
|
||||
func _ready():
|
||||
reset() # init with defaults
|
||||
|
||||
func _update_shader_param(varname: String, value):
|
||||
RenderingServer.global_shader_parameter_set(varname, value)
|
||||
Reference in a new issue