mirror of
https://github.com/Relintai/material-maker.git
synced 2024-11-13 06:27:18 +01:00
f116aa0e22
Added node that can select between 2x2 inputs to generate 2 outputs
28 lines
698 B
GDScript
28 lines
698 B
GDScript
tool
|
|
extends "res://addons/material_maker/node_base.gd"
|
|
|
|
var source = 0
|
|
|
|
func _ready():
|
|
initialize_properties([ $source ])
|
|
|
|
func reset():
|
|
generated = false
|
|
generated_variants = [ [], [] ]
|
|
|
|
func _get_shader_code(uv, index = 0):
|
|
var rv = { defs="", code="" }
|
|
var src = get_source(source+2*index)
|
|
var src_code = { defs="", code="", rgb="0.0" }
|
|
if src != null:
|
|
src_code = src.get_shader_code(uv)
|
|
if generated_variants[index].empty():
|
|
rv.defs = src_code.defs;
|
|
var variant_index = generated_variants[index].find(uv)
|
|
if variant_index == -1:
|
|
variant_index = generated_variants[index].size()
|
|
generated_variants[index].append(uv)
|
|
rv.code = src_code.code
|
|
rv.rgb = src_code.rgb
|
|
return rv
|