Randoloot/scripts/planets/surface_mountains.gd
2026-10-18 14:46:34 +02:00

19 lines
782 B
GDScript

extends Node2D
var data: Dictionary
const TEXTURE := preload("res://assets/planets/mountain.png")
func _ready() -> void:
texture_filter = CanvasItem.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS
var blend := ShaderMaterial.new()
blend.shader = preload("res://resources/effects/mountain_blend.gdshader")
blend.set_shader_parameter("ground_tint",(data.landscape.high as Color).lerp(data.landscape.low,0.35))
blend.set_shader_parameter("rock_tint",data.landscape.rock)
material = blend
func _draw() -> void:
for mountain in data.mountains:
draw_set_transform(mountain.position,mountain.rotation)
var extent := Vector2(mountain.size,mountain.size*TEXTURE.get_height()/TEXTURE.get_width())
draw_texture_rect(TEXTURE,Rect2(-extent*0.5,extent),false)
draw_set_transform(Vector2.ZERO)