OverviewFilesCommitsIssuesDocsReleasesPeers

hyper-tps / test / test_ng.gd

48 lines · gd ref:
extends SceneTree

func _init() -> void:
	var bridge := BlenderBridge.new()
	bridge.name = "Bridge"
	bridge.shm_name = "/test_nodegroup"
	bridge.shm_size = 1024 * 1024
	bridge.max_objects = 32
	root.add_child(bridge)

	var err := bridge.start_server("/tmp/test_nodegroup.sock")
	if err != OK:
		print("ERR:server_start")
		quit()
		return

	var f := FileAccess.open("/tmp/bridge_nodegroup_in.json", FileAccess.READ)
	if f == null:
		print("ERR:open_input")
		bridge.stop_server()
		quit()
		return
	var parsed = JSON.parse_string(f.get_as_text())
	f.close()

	if parsed == null:
		print("ERR:json_parse")
		bridge.stop_server()
		quit()
		return
	print("PARSED_OK")

	var mat: ShaderMaterial = bridge._deserialize_material_graph(parsed)
	if mat == null:
		print("ERR:deserialize_null")
		bridge.stop_server()
		quit()
		return
	print("DESER_OK")

	var vs: VisualShader = mat.shader as VisualShader
	var node_list: PackedInt32Array = vs.get_node_list(VisualShader.TYPE_FRAGMENT)
	var conns: Array = vs.get_node_connections(VisualShader.TYPE_FRAGMENT)
	print("INLINE_OK:nodes=" + str(node_list.size()) + ",conns=" + str(conns.size()))

	bridge.stop_server()
	quit()