<!DOCTYPE html>
Moving img Workshop





MUGIMENDU STOP MOTION Workshop



En este taller aprenderemos a crear nuestras propias animaciones y colgarlas en la web !!! Sólo necesitas un ordenador, una webcam y ganas de pasarlo bien.


Siempre es mucho más divertido trabajar en equipo!! Así que elige el tuyo y empezad a pensar... Tenéis una gran aventura por delante!, vamos a hacer cine, y animación y todo ello saldrá de vuestra imaginación!!



Gure Sorkuntza



Todas nuestras creaciones las colgaremos en esta web para que así todas las personas del mundo puedan verlas!!


La mejor manera de empezar es ver otros ejemplos de compañeras que ya han realizado este taller! Echad un vistazo !!




NOMBRES ANIMADOS


Pinta y Separa tu nombre en letras, luego muévelos, saca las fotos y crea una súper firma! También puedes hacer las letras con ramas, piedras ó lo que se te ocurra!!.



Tresnak eta Lanak


TEAMWORK: COMBINA TU IMAGINACIÓN


Cada miembro del equipo puede hacer su propia escena ó personaje,después lo juntáis todo en una misma historia! veréis como os sorprende esta combinación!! .



Tresnak eta Lanak




COLLAGE JOKOA


Mezcla varias imágenes que encontréis y animadlas!! Esto es Pop-Art !!



Tresnak eta Lanak


CÓMICS ANIMADOS


Con vuestro equipo pensad en una pequeña historia. Podéis mezclar recortables, imágenes, dibujos, lápices, periódicos... Os podéis inspirar en algo gracioso ó interesante que os haya pasado en el campamento, ó en un sueño!! .



Tresnak eta Lanak







Tresnak eta Lanak


CUENTO EN LA CIUDAD


En pequeños grupos se puede hacer fácilmente una escena de un cuento ó película. Pero este cuento es especial, puede ocurrir donde más os guste, en una ciudad, en una playa,en un volcán?



Tresnak eta Lanak


PIXILATION EN EL PARQUE


Pixilation es simplemente stop-motion con personas. Salid afuera a buscar escenas que os inspiren, vosotras podéis ser las protagonistas!!.



Tresnak eta Lanak


Day 4



RAPEANDO POR LA CITY


Crea tu propio personaje de Hip-Hop y a rapear. No olvides que cada una puede imaginar el suyo y luego los combinamos en una gran pinchada!!.



Tresnak eta Lanak


GIF MUSIKALA


Remixea un videoclip de vuestro grupo favorito GIFs. Sabes cómo se hace? Encuentra el ritmo de una canción molona y cread la escena!! Los GIFs los podemos acelerar para darle más caña! Sal a la pista!! Esto es el inicio de una gran bailada!! Lo colgaremos en youtube utilizando Popcorn Maker.



video hackeatu ;Tresnak eta Lanak



All animations were made with Meemoo.



Meemoo is a free, open, hackable web app for doing all kinds of image manipulation. With students sharing animation stations, there might not be time to explore hacking Meemoo, but hopefully the hackable nature of the app will spark some curiosity.




UDAKAMP


VVVV.js Lab: unfolding #2 by honix













































Screenshot
{
"abs_t": 88.674,
"active_graph": 6,
"graph_uid": 34,
"root": {
"node_uid": 97,
"uid": 0,
"parent_uid": -1,
"open": true,
"nodes": [
{
"plugin": "perspective_camera",
"x": 511,
"y": 368,
"uid": 53
},
{
"plugin": "vector",
"x": 325,
"y": 315,
"uid": 54
},
{
"plugin": "const_float_generator",
"x": 131,
"y": 327,
"uid": 55,
"state": {
"val": 0.01
}
},
{
"plugin": "vector",
"x": 299,
"y": 437,
"uid": 56
},
{
"plugin": "slider_float_generator",
"x": 78,
"y": 401,
"uid": 57,
"state": {
"val": -0.03333333333333327,
"min": -1,
"max": 1
}
},
{
"plugin": "slider_float_generator",
"x": 59,
"y": 477,
"uid": 58,
"state": {
"val": -0.5333333333333332,
"min": -1,
"max": 1
}
},
{
"plugin": "slider_float_generator",
"x": 68,
"y": 553,
"uid": 59,
"state": {
"val": -0.23333333333333334,
"min": -1,
"max": 1
}
},
{
"plugin": "const_float_generator",
"x": 127,
"y": 273,
"uid": 60,
"state": {
"val": 75
}
},
{
"plugin": "graph",
"x": 1090,
"y": 469,
"uid": 80,
"dsid": 1,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"4": 0
},
"output_sids": {}
},
"title": "wuad",
"graph": {
"node_uid": 8,
"uid": 18,
"parent_uid": 0,
"open": true,
"nodes": [
{
"plugin": "mesh_renderer_emitter",
"x": 933,
"y": 448,
"uid": 0
},
{
"plugin": "quad_mesh_generator",
"x": 426,
"y": 511,
"uid": 1,
"open": false
},
{
"plugin": "from_mesh_shader",
"x": 676,
"y": 525,
"uid": 2
},
{
"plugin": "material_texture_modulator",
"x": 302,
"y": 406,
"uid": 3
},
{
"plugin": "input_proxy",
"x": 480,
"y": 358,
"uid": 4,
"dsid": 19,
"state": {
"slot_id": 0
},
"title": "tex",
"dyn_out": [
{
"name": "input",
"dt": 2,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "material_z_buffer_modulator",
"x": 477,
"y": 663,
"uid": 6
},
{
"plugin": "toggle_button",
"x": 232,
"y": 721,
"uid": 7,
"state": {
"enabled": false
}
}
],
"conns": [
{
"src_nuid": 1,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 2,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 1,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0,
"offset": 1
},
{
"src_nuid": 4,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 3,
"dst_nuid": 6,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 6,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 7,
"dst_nuid": 6,
"src_slot": 0,
"dst_slot": 1
}
]
},
"dyn_in": [
{
"name": "tex",
"dt": 2,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
}
]
},
{
"plugin": "graph",
"x": 749,
"y": 440,
"uid": 62,
"dsid": 3,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"5": 0
},
"output_sids": {}
},
"title": "Sky sphere",
"graph": {
"node_uid": 64,
"uid": 21,
"parent_uid": 0,
"open": true,
"nodes": [
{
"plugin": "mesh_renderer_emitter",
"x": 1164,
"y": 37,
"uid": 0
},
{
"plugin": "input_proxy",
"x": 1030,
"y": 111,
"uid": 5,
"dsid": 42,
"state": {
"slot_id": 0
},
"title": "camera",
"dyn_out": [
{
"name": "output",
"dt": 6,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "graph",
"x": 659,
"y": 187,
"uid": 24,
"dsid": 20,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"15": 3,
"21": 4,
"22": 5,
"23": 6,
"24": 7,
"25": 8,
"34": 10,
"39": 12,
"40": 13,
"41": 14,
"44": 16,
"47": 18,
"49": 19
},
"output_sids": {
"9": 0
}
},
"title": "Material chain",
"graph": {
"node_uid": 51,
"uid": 22,
"parent_uid": 21,
"open": true,
"nodes": [
{
"plugin": "material_diffuse_color_modulator",
"x": 1029,
"y": 68,
"uid": 1
},
{
"plugin": "material_alpha_clip_modulator",
"x": 1137,
"y": 68,
"uid": 5
},
{
"plugin": "toggle_button",
"x": 1025,
"y": 145,
"uid": 6,
"state": {
"enabled": false
},
"title": "Alpha clip"
},
{
"plugin": "material_texture_modulator",
"x": 1252,
"y": 68,
"uid": 7
},
{
"plugin": "output_proxy",
"x": 1361,
"y": 68,
"uid": 9,
"dsid": 58,
"state": {
"slot_id": 0
},
"title": "material",
"dyn_in": [
{
"name": "input",
"dt": 12,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "material_blend_mode_modulator",
"x": 898,
"y": 69,
"uid": 10
},
{
"plugin": "input_proxy",
"x": 1173,
"y": 143,
"uid": 15,
"dsid": 58,
"state": {
"slot_id": 0
},
"title": "Image",
"dyn_out": [
{
"name": "output",
"dt": 2,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 800,
"y": 134,
"uid": 21,
"dsid": 52,
"state": {
"slot_id": 0
},
"title": "hue",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 798,
"y": 183,
"uid": 22,
"dsid": 52,
"state": {
"slot_id": 0
},
"title": "saturation",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 800,
"y": 231,
"uid": 23,
"dsid": 52,
"state": {
"slot_id": 0
},
"title": "luminosity",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 799,
"y": 279,
"uid": 24,
"dsid": 52,
"state": {
"slot_id": 0
},
"title": "alpha",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 800,
"y": 70,
"uid": 25,
"dsid": 52,
"state": {
"slot_id": 0
},
"title": "blend mode",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "convert_hsla_color_modulator",
"x": 907,
"y": 147,
"uid": 26
},
{
"plugin": "material_z_buffer_modulator",
"x": 672,
"y": 65,
"uid": 27
},
{
"plugin": "toggle_button",
"x": 564,
"y": 212,
"uid": 28,
"state": {
"enabled": false
},
"title": "Z-buffer"
},
{
"plugin": "material_shinyness_modulator",
"x": 558,
"y": 64,
"uid": 31
},
{
"plugin": "graph",
"x": 454,
"y": 148,
"uid": 32,
"dsid": 3,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"9": 0
},
"output_sids": {
"12": 2
}
},
"title": "min max calc",
"graph": {
"node_uid": 13,
"uid": 23,
"parent_uid": 22,
"open": true,
"nodes": [
{
"plugin": "const_float_generator",
"x": 27,
"y": 190,
"uid": 2,
"state": {
"val": 10
},
"title": "Maximum"
},
{
"plugin": "subtract_modulator",
"x": 144,
"y": 65,
"uid": 3
},
{
"plugin": "absolute_modulator",
"x": 232,
"y": 65,
"uid": 4
},
{
"plugin": "multiply_modulator",
"x": 319,
"y": 45,
"uid": 5
},
{
"plugin": "add_modulator",
"x": 401,
"y": 122,
"uid": 7
},
{
"plugin": "min_modulator",
"x": 143,
"y": 142,
"uid": 8
},
{
"plugin": "input_proxy",
"x": 248,
"y": 9,
"uid": 9,
"dsid": 50,
"state": {
"slot_id": 0
},
"title": "value",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "const_float_generator",
"x": 10,
"y": 85,
"uid": 11,
"state": {
"val": 0
},
"title": "Minimum"
},
{
"plugin": "output_proxy",
"x": 486,
"y": 122,
"uid": 12,
"dsid": 50,
"state": {
"slot_id": 0
},
"title": "value",
"dyn_in": [
{
"name": "input",
"dt": 0,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
}
],
"conns": [
{
"src_nuid": 2,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 2,
"dst_nuid": 8,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 3,
"dst_nuid": 4,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 4,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 5,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 8,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 9,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 11,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 11,
"dst_nuid": 8,
"src_slot": 0,
"dst_slot": 0,
"offset": 1
},
{
"src_nuid": 7,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
}
]
},
"dyn_in": [
{
"name": "value",
"dt": 0,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "value",
"dt": 0,
"uid": 2,
"index": 0,
"type": 1
}
]
},
{
"plugin": "input_proxy",
"x": 361,
"y": 242,
"uid": 34,
"dsid": 46,
"state": {
"slot_id": 0
},
"title": "shinyness",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "material_double_sided_modulator",
"x": 437,
"y": 61,
"uid": 35
},
{
"plugin": "toggle_button",
"x": 323,
"y": 161,
"uid": 36,
"state": {
"enabled": true
},
"title": "Double-sided"
},
{
"plugin": "material_ambient_color_modulator",
"x": 290,
"y": 73,
"uid": 37
},
{
"plugin": "input_proxy",
"x": 63,
"y": 153,
"uid": 39,
"dsid": 53,
"state": {
"slot_id": 0
},
"title": "am hue",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 60,
"y": 202,
"uid": 40,
"dsid": 53,
"state": {
"slot_id": 0
},
"title": "am saturation",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 63,
"y": 250,
"uid": 41,
"dsid": 53,
"state": {
"slot_id": 0
},
"title": "am luminosity",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "convert_hsla_color_modulator",
"x": 170,
"y": 166,
"uid": 43
},
{
"plugin": "input_proxy",
"x": 61,
"y": 99,
"uid": 44,
"dsid": 42,
"state": {
"slot_id": 0
},
"title": "material",
"dyn_out": [
{
"name": "output",
"dt": 12,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 40,
"y": 52,
"uid": 47,
"dsid": 37,
"state": {
"slot_id": 0
},
"title": "light",
"dyn_out": [
{
"name": "output",
"dt": 13,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "material_light_modulator",
"x": 158,
"y": 22,
"uid": 48
},
{
"plugin": "input_proxy",
"x": 54,
"y": 0,
"uid": 49,
"dsid": 34,
"state": {
"slot_id": 0
},
"title": "light index",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "toggle_button",
"x": 574,
"y": 276,
"uid": 50,
"state": {
"enabled": false
},
"title": "Depth write"
}
],
"conns": [
{
"src_nuid": 1,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 6,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 5,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 7,
"dst_nuid": 9,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
},
{
"src_nuid": 10,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 15,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 25,
"dst_nuid": 10,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 21,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 22,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 23,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 24,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 3,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 26,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 27,
"dst_nuid": 10,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 28,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 31,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 32,
"dst_nuid": 31,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 34,
"dst_nuid": 32,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 35,
"dst_nuid": 31,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 36,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 37,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 39,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 40,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 41,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 43,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 47,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 44,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 48,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 49,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 50,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 2
}
]
},
"dyn_in": [
{
"name": "Image",
"dt": 2,
"uid": 3,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "hue",
"dt": 0,
"uid": 4,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "saturation",
"dt": 0,
"uid": 5,
"index": 2,
"type": 0,
"is_connected": true
},
{
"name": "luminosity",
"dt": 0,
"uid": 6,
"index": 3,
"type": 0,
"is_connected": true
},
{
"name": "alpha",
"dt": 0,
"uid": 7,
"index": 4,
"type": 0,
"is_connected": true
},
{
"name": "blend mode",
"dt": 0,
"uid": 8,
"index": 5,
"type": 0,
"is_connected": true
},
{
"name": "shinyness",
"dt": 0,
"uid": 10,
"index": 6,
"type": 0,
"is_connected": false
},
{
"name": "am hue",
"dt": 0,
"uid": 12,
"index": 7,
"type": 0,
"is_connected": true
},
{
"name": "am saturation",
"dt": 0,
"uid": 13,
"index": 8,
"type": 0,
"is_connected": true
},
{
"name": "am luminosity",
"dt": 0,
"uid": 14,
"index": 9,
"type": 0,
"is_connected": true
},
{
"name": "material",
"dt": 12,
"uid": 16,
"index": 10,
"type": 0,
"is_connected": false
},
{
"name": "light",
"dt": 13,
"uid": 18,
"index": 11,
"type": 0,
"is_connected": false
},
{
"name": "light index",
"dt": 0,
"uid": 19,
"index": 12,
"type": 0
}
],
"dyn_out": [
{
"name": "material",
"dt": 12,
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "url_texture_generator",
"x": 62,
"y": 226,
"uid": 25,
"state": {
"url": "/data/image/2331a02a41a9ee52ef21c5a1a4af1566f56d9575.jpg"
},
"title": "Image"
},
{
"plugin": "knob_float_generator",
"x": 337,
"y": 185,
"uid": 26,
"state": {
"val": 1
},
"title": "Hue"
},
{
"plugin": "knob_float_generator",
"x": 409,
"y": 187,
"uid": 27,
"state": {
"val": 1
},
"title": "Saturation"
},
{
"plugin": "knob_float_generator",
"x": 488,
"y": 187,
"uid": 28,
"state": {
"val": 1
},
"title": "Luminosity"
},
{
"plugin": "knob_float_generator",
"x": 569,
"y": 187,
"uid": 29,
"state": {
"val": 1
},
"title": "Alpha"
},
{
"plugin": "blend_mode_generator",
"x": 233,
"y": 252,
"uid": 30,
"state": {
"mode": 4
}
},
{
"plugin": "knob_float_generator",
"x": 378,
"y": 252,
"uid": 32,
"state": {
"val": 1
},
"title": "Ambient Hue"
},
{
"plugin": "knob_float_generator",
"x": 470,
"y": 252,
"uid": 33,
"state": {
"val": 1
},
"title": "Ambient Sat"
},
{
"plugin": "knob_float_generator",
"x": 558,
"y": 252,
"uid": 34,
"state": {
"val": 0
},
"title": "Ambient Lum"
},
{
"plugin": "sphere_mesh_generator",
"x": 715,
"y": 28,
"uid": 35,
"state": {
"v_res": 25,
"h_res": 25
}
},
{
"plugin": "const_float_generator",
"x": 577,
"y": 29,
"uid": 36,
"state": {
"val": 25
}
},
{
"plugin": "from_mesh_shader",
"x": 875,
"y": 88,
"uid": 51
},
{
"plugin": "graph",
"x": 989,
"y": 187,
"uid": 57,
"dsid": 8,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"13": 5,
"14": 6,
"15": 7
},
"output_sids": {
"2": 1
}
},
"title": "Scale",
"graph": {
"node_uid": 16,
"uid": 62,
"parent_uid": 21,
"open": true,
"nodes": [
{
"plugin": "scale_matrix",
"x": 189,
"y": 49,
"uid": 0
},
{
"plugin": "output_proxy",
"x": 278,
"y": 49,
"uid": 2,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_in": [
{
"name": "input",
"dt": 4,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "vector",
"x": 73,
"y": 49,
"uid": 3
},
{
"plugin": "input_proxy",
"x": 7,
"y": 9,
"uid": 13,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "x",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 7,
"y": 69,
"uid": 14,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "y",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 7,
"y": 132,
"uid": 15,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "z",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
}
],
"conns": [
{
"src_nuid": 0,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
},
{
"src_nuid": 3,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 13,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 14,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
}
]
},
"dyn_in": [
{
"name": "x",
"dt": 0,
"uid": 5,
"index": 0,
"type": 0,
"is_connected": true,
"connected": false
},
{
"name": "y",
"dt": 0,
"uid": 6,
"index": 1,
"type": 0,
"is_connected": true,
"connected": false
},
{
"name": "z",
"dt": 0,
"uid": 7,
"index": 2,
"type": 0,
"is_connected": true,
"connected": false
}
],
"dyn_out": [
{
"name": "matrix",
"dt": 4,
"uid": 1,
"index": 0,
"type": 1
}
]
},
{
"plugin": "const_float_generator",
"x": 845,
"y": 263,
"uid": 59,
"state": {
"val": 1000
},
"title": "Skysphere Scale"
},
{
"plugin": "rotation_xyz_matrix",
"x": 879,
"y": 545,
"uid": 60
},
{
"plugin": "concatenate_matrix_modulator",
"x": 1026,
"y": 479,
"uid": 61
},
{
"plugin": "slider_float_generator",
"x": 615,
"y": 588,
"uid": 62,
"state": {
"val": 123,
"min": 0,
"max": 180
}
},
{
"plugin": "slider_float_generator",
"x": 618,
"y": 671,
"uid": 63,
"state": {
"val": 123,
"min": 0,
"max": 180
}
}
],
"conns": [
{
"src_nuid": 5,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 26,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 27,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 28,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 3,
"dst_dyn": true
},
{
"src_nuid": 29,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 4,
"dst_dyn": true
},
{
"src_nuid": 30,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 5,
"dst_dyn": true
},
{
"src_nuid": 34,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 9,
"dst_dyn": true
},
{
"src_nuid": 33,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 8,
"dst_dyn": true
},
{
"src_nuid": 32,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 7,
"dst_dyn": true
},
{
"src_nuid": 35,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 36,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 36,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 35,
"dst_nuid": 51,
"src_slot": 0,
"dst_slot": 0,
"offset": 1
},
{
"src_nuid": 51,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 24,
"dst_nuid": 51,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 59,
"dst_nuid": 57,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": false,
"dst_dyn": true
},
{
"src_nuid": 59,
"dst_nuid": 57,
"src_slot": 0,
"dst_slot": 1,
"dst_connected": false,
"dst_dyn": true,
"offset": 1
},
{
"src_nuid": 59,
"dst_nuid": 57,
"src_slot": 0,
"dst_slot": 2,
"dst_connected": false,
"dst_dyn": true,
"offset": 2
},
{
"src_nuid": 25,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 57,
"dst_nuid": 61,
"src_slot": 0,
"dst_slot": 0,
"src_dyn": true
},
{
"src_nuid": 60,
"dst_nuid": 61,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 61,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 3
},
{
"src_nuid": 62,
"dst_nuid": 60,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 63,
"dst_nuid": 60,
"src_slot": 0,
"dst_slot": 0
}
]
},
"dyn_in": [
{
"name": "camera",
"dt": 6,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true,
"connected": false
}
]
},
{
"plugin": "graph",
"x": 1040,
"y": 300,
"uid": 50,
"dsid": 2,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"47": 0,
"52": 1
},
"output_sids": {}
},
"title": "landscape",
"graph": {
"node_uid": 73,
"uid": 6,
"parent_uid": 0,
"open": true,
"nodes": [
{
"plugin": "plane_mesh_unindexed_generator",
"x": 328,
"y": 16,
"uid": 0,
"state": {
"x_res": 255,
"y_res": 255
}
},
{
"plugin": "graph",
"x": 586,
"y": 803,
"uid": 1,
"dsid": 20,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"15": 3,
"21": 4,
"22": 5,
"23": 6,
"24": 7,
"25": 8,
"34": 10,
"39": 12,
"40": 13,
"41": 14,
"44": 16,
"47": 18,
"49": 19
},
"output_sids": {
"9": 0
}
},
"title": "Material chain",
"graph": {
"node_uid": 51,
"uid": 7,
"parent_uid": 6,
"open": true,
"nodes": [
{
"plugin": "material_diffuse_color_modulator",
"x": 1029,
"y": 68,
"uid": 1
},
{
"plugin": "material_alpha_clip_modulator",
"x": 1137,
"y": 68,
"uid": 5
},
{
"plugin": "toggle_button",
"x": 1025,
"y": 145,
"uid": 6,
"state": {
"enabled": false
},
"title": "Alpha clip"
},
{
"plugin": "material_texture_modulator",
"x": 1252,
"y": 68,
"uid": 7
},
{
"plugin": "output_proxy",
"x": 1361,
"y": 68,
"uid": 9,
"dsid": 53,
"state": {
"slot_id": 0
},
"title": "material",
"dyn_in": [
{
"name": "input",
"dt": 12,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "material_blend_mode_modulator",
"x": 898,
"y": 69,
"uid": 10
},
{
"plugin": "input_proxy",
"x": 1173,
"y": 143,
"uid": 15,
"dsid": 53,
"state": {
"slot_id": 0
},
"title": "Image",
"dyn_out": [
{
"name": "output",
"dt": 2,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 800,
"y": 134,
"uid": 21,
"dsid": 47,
"state": {
"slot_id": 0
},
"title": "hue",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 798,
"y": 183,
"uid": 22,
"dsid": 47,
"state": {
"slot_id": 0
},
"title": "saturation",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 800,
"y": 231,
"uid": 23,
"dsid": 47,
"state": {
"slot_id": 0
},
"title": "luminosity",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 799,
"y": 279,
"uid": 24,
"dsid": 47,
"state": {
"slot_id": 0
},
"title": "alpha",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 800,
"y": 70,
"uid": 25,
"dsid": 47,
"state": {
"slot_id": 0
},
"title": "blend mode",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "convert_hsla_color_modulator",
"x": 907,
"y": 147,
"uid": 26
},
{
"plugin": "material_z_buffer_modulator",
"x": 672,
"y": 65,
"uid": 27
},
{
"plugin": "toggle_button",
"x": 564,
"y": 212,
"uid": 28,
"state": {
"enabled": true
},
"title": "Z-buffer"
},
{
"plugin": "material_shinyness_modulator",
"x": 558,
"y": 64,
"uid": 31
},
{
"plugin": "graph",
"x": 454,
"y": 148,
"uid": 32,
"dsid": 3,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"9": 0
},
"output_sids": {
"12": 2
}
},
"title": "min max calc",
"graph": {
"node_uid": 13,
"uid": 8,
"parent_uid": 7,
"open": true,
"nodes": [
{
"plugin": "const_float_generator",
"x": 27,
"y": 190,
"uid": 2,
"state": {
"val": 10
},
"title": "Maximum"
},
{
"plugin": "subtract_modulator",
"x": 144,
"y": 65,
"uid": 3
},
{
"plugin": "absolute_modulator",
"x": 232,
"y": 65,
"uid": 4
},
{
"plugin": "multiply_modulator",
"x": 319,
"y": 45,
"uid": 5
},
{
"plugin": "add_modulator",
"x": 401,
"y": 122,
"uid": 7
},
{
"plugin": "min_modulator",
"x": 143,
"y": 142,
"uid": 8
},
{
"plugin": "input_proxy",
"x": 248,
"y": 9,
"uid": 9,
"dsid": 45,
"state": {
"slot_id": 0
},
"title": "value",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "const_float_generator",
"x": 10,
"y": 85,
"uid": 11,
"state": {
"val": 0
},
"title": "Minimum"
},
{
"plugin": "output_proxy",
"x": 486,
"y": 122,
"uid": 12,
"dsid": 45,
"state": {
"slot_id": 0
},
"title": "value",
"dyn_in": [
{
"name": "input",
"dt": 0,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
}
],
"conns": [
{
"src_nuid": 2,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 2,
"dst_nuid": 8,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 3,
"dst_nuid": 4,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 4,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 5,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 8,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 9,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 11,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 11,
"dst_nuid": 8,
"src_slot": 0,
"dst_slot": 0,
"offset": 1
},
{
"src_nuid": 7,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
}
]
},
"dyn_in": [
{
"name": "value",
"dt": 0,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "value",
"dt": 0,
"uid": 2,
"index": 0,
"type": 1
}
]
},
{
"plugin": "input_proxy",
"x": 361,
"y": 242,
"uid": 34,
"dsid": 41,
"state": {
"slot_id": 0
},
"title": "shinyness",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "material_double_sided_modulator",
"x": 437,
"y": 61,
"uid": 35
},
{
"plugin": "toggle_button",
"x": 323,
"y": 161,
"uid": 36,
"state": {
"enabled": false
},
"title": "Double-sided"
},
{
"plugin": "material_ambient_color_modulator",
"x": 290,
"y": 73,
"uid": 37
},
{
"plugin": "input_proxy",
"x": 63,
"y": 153,
"uid": 39,
"dsid": 48,
"state": {
"slot_id": 0
},
"title": "am hue",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 60,
"y": 202,
"uid": 40,
"dsid": 48,
"state": {
"slot_id": 0
},
"title": "am saturation",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 63,
"y": 250,
"uid": 41,
"dsid": 48,
"state": {
"slot_id": 0
},
"title": "am luminosity",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "convert_hsla_color_modulator",
"x": 170,
"y": 166,
"uid": 43
},
{
"plugin": "input_proxy",
"x": 61,
"y": 99,
"uid": 44,
"dsid": 37,
"state": {
"slot_id": 0
},
"title": "material",
"dyn_out": [
{
"name": "output",
"dt": 12,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 40,
"y": 52,
"uid": 47,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "light",
"dyn_out": [
{
"name": "output",
"dt": 13,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "material_light_modulator",
"x": 158,
"y": 22,
"uid": 48
},
{
"plugin": "input_proxy",
"x": 54,
"y": 0,
"uid": 49,
"dsid": 29,
"state": {
"slot_id": 0
},
"title": "light index",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "toggle_button",
"x": 574,
"y": 276,
"uid": 50,
"state": {
"enabled": true
},
"title": "Depth write"
}
],
"conns": [
{
"src_nuid": 1,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 6,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 5,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 7,
"dst_nuid": 9,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
},
{
"src_nuid": 10,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 15,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 25,
"dst_nuid": 10,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 21,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 22,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 23,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 24,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 3,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 26,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 27,
"dst_nuid": 10,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 28,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 31,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 32,
"dst_nuid": 31,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 34,
"dst_nuid": 32,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 35,
"dst_nuid": 31,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 36,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 37,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 39,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 40,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 41,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 43,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 47,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 44,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 48,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 49,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 50,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 2
}
]
},
"dyn_in": [
{
"name": "Image",
"dt": 2,
"uid": 3,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "hue",
"dt": 0,
"uid": 4,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "saturation",
"dt": 0,
"uid": 5,
"index": 2,
"type": 0,
"is_connected": true
},
{
"name": "luminosity",
"dt": 0,
"uid": 6,
"index": 3,
"type": 0,
"is_connected": true
},
{
"name": "alpha",
"dt": 0,
"uid": 7,
"index": 4,
"type": 0,
"is_connected": true
},
{
"name": "blend mode",
"dt": 0,
"uid": 8,
"index": 5,
"type": 0,
"is_connected": true
},
{
"name": "shinyness",
"dt": 0,
"uid": 10,
"index": 6,
"type": 0,
"is_connected": true
},
{
"name": "am hue",
"dt": 0,
"uid": 12,
"index": 7,
"type": 0,
"is_connected": true
},
{
"name": "am saturation",
"dt": 0,
"uid": 13,
"index": 8,
"type": 0,
"is_connected": true
},
{
"name": "am luminosity",
"dt": 0,
"uid": 14,
"index": 9,
"type": 0,
"is_connected": true
},
{
"name": "material",
"dt": 12,
"uid": 16,
"index": 10,
"type": 0,
"is_connected": false
},
{
"name": "light",
"dt": 13,
"uid": 18,
"index": 11,
"type": 0,
"is_connected": true
},
{
"name": "light index",
"dt": 0,
"uid": 19,
"index": 12,
"type": 0
}
],
"dyn_out": [
{
"name": "material",
"dt": 12,
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "url_texture_generator",
"x": 88,
"y": 769,
"uid": 2,
"state": {
"url": "/data/image/a8d66482fb3ff94bf98f402fefa2a927b3eed405.png"
},
"title": "Image"
},
{
"plugin": "knob_float_generator",
"x": 264,
"y": 801,
"uid": 3,
"state": {
"val": 0.7900000000000006
},
"title": "Hue"
},
{
"plugin": "knob_float_generator",
"x": 336,
"y": 803,
"uid": 4,
"state": {
"val": 0
},
"title": "Saturation"
},
{
"plugin": "knob_float_generator",
"x": 415,
"y": 803,
"uid": 5,
"state": {
"val": 0.18999999999999995
},
"title": "Luminosity"
},
{
"plugin": "knob_float_generator",
"x": 505,
"y": 803,
"uid": 6,
"state": {
"val": 1
},
"title": "Alpha"
},
{
"plugin": "blend_mode_generator",
"x": 160,
"y": 868,
"uid": 7,
"state": {
"mode": 4
}
},
{
"plugin": "knob_float_generator",
"x": 160,
"y": 924,
"uid": 8,
"state": {
"val": 0.07999999999999997
},
"title": "Shinyness"
},
{
"plugin": "knob_float_generator",
"x": 305,
"y": 868,
"uid": 9,
"state": {
"val": 0.060000000000000005
},
"title": "Ambient Hue"
},
{
"plugin": "knob_float_generator",
"x": 397,
"y": 868,
"uid": 10,
"state": {
"val": 0.2299999999999991
},
"title": "Ambient Sat"
},
{
"plugin": "knob_float_generator",
"x": 485,
"y": 868,
"uid": 11,
"state": {
"val": 0
},
"title": "Ambient Lum"
},
{
"plugin": "graph",
"x": 449,
"y": 1036,
"uid": 12,
"dsid": 16,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"13": 1,
"14": 2,
"15": 3,
"16": 4,
"17": 5,
"18": 6,
"19": 7,
"22": 8,
"23": 9,
"24": 10
},
"output_sids": {
"30": 15
}
},
"title": "Light chain",
"graph": {
"node_uid": 31,
"uid": 9,
"parent_uid": 6,
"open": true,
"nodes": [
{
"plugin": "light_type_modulator",
"x": 692,
"y": 216,
"uid": 0
},
{
"plugin": "light_position_modulator",
"x": 604,
"y": 215,
"uid": 2
},
{
"plugin": "light_diffuse_color_modulator",
"x": 200,
"y": 217,
"uid": 3
},
{
"plugin": "light_direction_modulator",
"x": 521,
"y": 215,
"uid": 4
},
{
"plugin": "light_intensity_modulator",
"x": 430,
"y": 219,
"uid": 5
},
{
"plugin": "light_specular_color_modulator",
"x": 309,
"y": 219,
"uid": 6
},
{
"plugin": "vector",
"x": 494,
"y": 380,
"uid": 7
},
{
"plugin": "input_proxy",
"x": 609,
"y": 401,
"uid": 13,
"dsid": 34,
"state": {
"slot_id": 0
},
"title": "light type",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 413,
"y": 532,
"uid": 14,
"dsid": 34,
"state": {
"slot_id": 0
},
"title": "Pos x",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 412,
"y": 581,
"uid": 15,
"dsid": 35,
"state": {
"slot_id": 0
},
"title": "Pos y",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 412,
"y": 627,
"uid": 16,
"dsid": 36,
"state": {
"slot_id": 0
},
"title": "Pos z",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 350,
"y": 358,
"uid": 17,
"dsid": 34,
"state": {
"slot_id": 0
},
"title": "intensity",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 196,
"y": 340,
"uid": 18,
"dsid": 34,
"state": {
"slot_id": 0
},
"title": "specular color",
"dyn_out": [
{
"name": "output",
"dt": 3,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 80,
"y": 347,
"uid": 19,
"dsid": 35,
"state": {
"slot_id": 0
},
"title": "diffuse color",
"dyn_out": [
{
"name": "output",
"dt": 3,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "vector_normalize",
"x": 361,
"y": 452,
"uid": 20
},
{
"plugin": "vector",
"x": 248,
"y": 461,
"uid": 21
},
{
"plugin": "input_proxy",
"x": 146,
"y": 479,
"uid": 22,
"dsid": 35,
"state": {
"slot_id": 0
},
"title": "Dir x",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 145,
"y": 528,
"uid": 23,
"dsid": 36,
"state": {
"slot_id": 0
},
"title": "Dir y",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 145,
"y": 574,
"uid": 24,
"dsid": 37,
"state": {
"slot_id": 0
},
"title": "Dir z",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "output_proxy",
"x": 795,
"y": 219,
"uid": 30,
"dsid": 27,
"state": {
"slot_id": 0
},
"title": "light",
"dyn_in": [
{
"name": "input",
"dt": 13,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
}
],
"conns": [
{
"src_nuid": 2,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 7,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 6,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 13,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 3,
"dst_nuid": 6,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 4,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 14,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 16,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 17,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 18,
"dst_nuid": 6,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 19,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 5,
"dst_nuid": 4,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 20,
"dst_nuid": 4,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 21,
"dst_nuid": 20,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 22,
"dst_nuid": 21,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 23,
"dst_nuid": 21,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 24,
"dst_nuid": 21,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 0,
"dst_nuid": 30,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
}
]
},
"dyn_in": [
{
"name": "light type",
"dt": 0,
"uid": 1,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "Pos x",
"dt": 0,
"uid": 2,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "Pos y",
"dt": 0,
"uid": 3,
"index": 2,
"type": 0,
"is_connected": true
},
{
"name": "Pos z",
"dt": 0,
"uid": 4,
"index": 3,
"type": 0,
"is_connected": true
},
{
"name": "intensity",
"dt": 0,
"uid": 5,
"index": 4,
"type": 0,
"is_connected": true
},
{
"name": "specular color",
"dt": 3,
"uid": 6,
"index": 5,
"type": 0,
"is_connected": true
},
{
"name": "diffuse color",
"dt": 3,
"uid": 7,
"index": 6,
"type": 0,
"is_connected": true
},
{
"name": "Dir x",
"dt": 0,
"uid": 8,
"index": 7,
"type": 0,
"is_connected": true
},
{
"name": "Dir y",
"dt": 0,
"uid": 9,
"index": 8,
"type": 0,
"is_connected": true
},
{
"name": "Dir z",
"dt": 0,
"uid": 10,
"index": 9,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "light",
"dt": 13,
"uid": 15,
"index": 0,
"type": 1
}
]
},
{
"plugin": "light_type_generator",
"x": 45,
"y": 1036,
"uid": 13,
"state": {
"type": 1
}
},
{
"plugin": "slider_float_generator",
"x": 247,
"y": 1036,
"uid": 14,
"state": {
"val": 1.3333333333333333,
"min": 0,
"max": 10
},
"title": "Intensity"
},
{
"plugin": "slider_float_generator",
"x": 46,
"y": 1109,
"uid": 15,
"state": {
"val": 2.6666666666666643,
"min": -20,
"max": 20
},
"title": "Light position X"
},
{
"plugin": "slider_float_generator",
"x": 46,
"y": 1175,
"uid": 16,
"state": {
"val": 3.3333333333333357,
"min": -20,
"max": 20
},
"title": "Light position Y"
},
{
"plugin": "slider_float_generator",
"x": 46,
"y": 1243,
"uid": 17,
"state": {
"val": 0.6666666666666679,
"min": -20,
"max": 20
},
"title": "Light position Z"
},
{
"plugin": "slider_float_generator",
"x": 244,
"y": 1110,
"uid": 18,
"state": {
"val": -0.2666666666666666,
"min": -2,
"max": 2
},
"title": "Light direction X"
},
{
"plugin": "slider_float_generator",
"x": 244,
"y": 1179,
"uid": 19,
"state": {
"val": 1.8666666666666667,
"min": -2,
"max": 2
},
"title": "Light direction Y"
},
{
"plugin": "slider_float_generator",
"x": 244,
"y": 1244,
"uid": 20,
"state": {
"val": 2,
"min": -2,
"max": 2
},
"title": "Light direction z"
},
{
"plugin": "color_picker",
"x": 48,
"y": 1324,
"uid": 21,
"state": {
"hue": 0.96,
"sat": 0.06,
"lum": 0.9299999999999999
},
"title": "Diffuse color"
},
{
"plugin": "color_picker",
"x": 234,
"y": 1325,
"uid": 22,
"state": {
"hue": 0.86,
"sat": 0.54,
"lum": 0.74
},
"title": "Specular color"
},
{
"plugin": "slider_float_generator",
"x": 59,
"y": 0,
"uid": 23,
"state": {
"val": 255,
"min": 0,
"max": 255
}
},
{
"plugin": "from_mesh_custom_shader",
"x": 683,
"y": 5,
"uid": 24,
"dsid": 18,
"state": {
"vs_src": "varying float z_offset;\nvarying vec3 vertex_pos;\nvarying float tic;\nvarying float slope;\nvoid main(void) {\n vec4 tp = m_mat * vec4(v_pos, 1.0);\n tic = floor(time*(plane_res/2.))/(plane_res/2.);\n //float y_t = v_pos.y+tic;\n float y_m = time-tic;\n //y_t=v_pos.y+time;\n vec4 dv = texture2D( displacement_texture, vec2(displacement_offset.x+v_uv0.x,displacement_offset.y+(v_uv0.y+tic)*2.));\n vec4 l = texture2D( displacement_texture, vec2(displacement_offset.x+v_uv0.x-1./plane_res,displacement_offset.y+(v_uv0.y+tic)*2.));\n slope = (dv.r+dv.g*2.+dv.b*5.)-(l.r+l.g*2.+l.b*5.);\n //float dv = fbm(vec3(v_pos.x,y_t*2.,v_pos.z),lacunarity,gain);\n z_offset = (dv.r+dv.g*2.+dv.b*5.)*displacement_scale-displacement_scale/2.; \n vec3 newPosition = v_pos+vec3(0.,v_pos.y-y_m*4.,z_offset); \n vertex_pos = newPosition;\n gl_Position = p_mat * v_mat * m_mat * vec4( newPosition, 1. ); \n \n\n l0_v2l = l0_dir;\n eye_pos = normalize(tp.xyz);\n f_col = d_col;\n f_norm = normalize(n_mat * v_norm);\n f_uv0 = v_uv0;\n}",
"ps_src": "\n\nvarying float z_offset;\nvarying vec3 vertex_pos;\nvarying float tic;\nvarying float slope;\nvoid main(void) {\n vec4 fc = vec4(0.0, 0.0, 0.0, f_col.a);\n vec3 n_dir = normalize(f_norm);\n vec3 l0_v2l_n = normalize(l0_v2l);\n float l0_dd = max(0.0, dot(n_dir, l0_v2l_n));\n float l0_spec_fac = pow(max(0.0, dot(reflect(-l0_v2l_n, n_dir), eye_pos)), shinyness + 1.0);\n\n fc.rgb += l0_d_col.rgb * l0_dd * l0_power;\n fc.rgb += shinyness * l0_power * l0_s_col.rgb * s_col.rgb * l0_spec_fac;\n\n fc.rgb *= f_col.rgb;\n fc *= (texture2D(d_tex, vec2(f_uv0.x*texture_scale,(f_uv0.y+tic)*texture_scale))*texture_alpha)+1.-texture_alpha;\n fc.rgb += a_col.rgb;\n \n \n \n //layer fog \n \n float layer_fog = (z_offset/displacement_scale+displacement_scale/2.)*layer_fog_top;\n layer_fog = (1.-clamp(layer_fog,0.,1.))*layer_fog_amount;\n layer_fog = clamp(abs(layer_fog),0.,1.);\n // layer_fog=(clamp(cnoise(vec3(vertex_pos.x,vertex_pos.y+time,vertex_pos.z)*2.)*2.,0.,1.)*layer_fog*0.5)+layer_fog*0.5;\n fc=mix(fc,layer_fog_color,layer_fog);\n \n //distance fog\n float m = 0.0;\n float world_w = 1000.;\n float fog_range = abs(fog_far-fog_near);\n float fz = gl_FragCoord.z/world_w*fog_range;\n float fw = gl_FragCoord.w/world_w*fog_range;\n m = (fz/fw)/fog_range-abs(fog_near/fog_range);\n \n //+(fog_front/fog_range)\n //float d = clamp((gl_FragCoord.z / (gl_FragCoord.w)/1000.), 0.0, 1.00); \n float d = clamp(m, 0.0, 1.00); \n //fc.a*= (1.0-d);\n \n //occlusion\n //fc.rgb *= texture2D(displacement_texture, vec2(f_uv0.x,f_uv0.y+tic)).r;\n \n //slope\n\n float s = clamp(slope/3.,0.,.1);\n fc+=s;\n\n fc = mix(fc,texture2D(background,vec2(gl_FragCoord.x/viewport_width,gl_FragCoord.y/viewport_height)),d);\n \n gl_FragColor = fc;\n}",
"changed": true,
"slot_ids": {
"displacement_texture": {
"id": 0,
"dt": {
"id": 2,
"name": "Texture"
},
"uniform": {}
},
"displacement_scale": {
"id": 1,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"texture_scale": {
"id": 2,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"fog_far": {
"id": 3,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"fog_near": {
"id": 4,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"time": {
"id": 5,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"layer_fog_color": {
"id": 6,
"dt": {
"id": 3,
"name": "Color"
},
"uniform": {}
},
"layer_fog_top": {
"id": 7,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"layer_fog_amount": {
"id": 8,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"texture_alpha": {
"id": 9,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"background": {
"id": 10,
"dt": {
"id": 2,
"name": "Texture"
},
"uniform": {}
},
"viewport_width": {
"id": 11,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"viewport_height": {
"id": 12,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"plane_res": {
"id": 15,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
},
"displacement_offset": {
"id": 17,
"dt": {
"id": 5,
"name": "Vector"
},
"uniform": {}
}
}
},
"dyn_in": [
{
"name": "displacement_texture",
"dt": 2,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "displacement_scale",
"dt": 0,
"uid": 1,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "texture_scale",
"dt": 0,
"uid": 2,
"index": 2,
"type": 0,
"is_connected": true
},
{
"name": "fog_far",
"dt": 0,
"uid": 3,
"index": 3,
"type": 0,
"is_connected": true
},
{
"name": "fog_near",
"dt": 0,
"uid": 4,
"index": 4,
"type": 0,
"is_connected": true
},
{
"name": "time",
"dt": 0,
"uid": 5,
"index": 5,
"type": 0,
"is_connected": true
},
{
"name": "layer_fog_color",
"dt": 3,
"uid": 6,
"index": 6,
"type": 0,
"is_connected": true
},
{
"name": "layer_fog_top",
"dt": 0,
"uid": 7,
"index": 7,
"type": 0,
"is_connected": true
},
{
"name": "layer_fog_amount",
"dt": 0,
"uid": 8,
"index": 8,
"type": 0,
"is_connected": true
},
{
"name": "texture_alpha",
"dt": 0,
"uid": 9,
"index": 9,
"type": 0,
"is_connected": true
},
{
"name": "background",
"dt": 2,
"uid": 10,
"index": 10,
"type": 0,
"is_connected": true
},
{
"name": "viewport_width",
"dt": 0,
"uid": 11,
"index": 11,
"type": 0,
"is_connected": true
},
{
"name": "viewport_height",
"dt": 0,
"uid": 12,
"index": 12,
"type": 0,
"is_connected": true
},
{
"name": "plane_res",
"dt": 0,
"uid": 15,
"index": 13,
"type": 0,
"is_connected": true
},
{
"name": "displacement_offset",
"dt": 5,
"uid": 17,
"index": 14,
"type": 0,
"is_connected": true
}
]
},
{
"plugin": "mesh_renderer_emitter",
"x": 1063,
"y": 80,
"uid": 25
},
{
"plugin": "url_texture_generator",
"x": 322,
"y": 91,
"uid": 26,
"state": {
"url": "/data/image/aa48bf585631efc5ecba67dbe3c3f9c22d06cfdd.jpg"
}
},
{
"plugin": "slider_float_generator",
"x": 81,
"y": 94,
"uid": 27,
"state": {
"val": 0.08666666666666667,
"min": 0,
"max": 0.2
},
"title": "displacement_scale"
},
{
"plugin": "slider_float_generator",
"x": 91,
"y": 181,
"uid": 28,
"state": {
"val": 50,
"min": 1,
"max": 50
}
},
{
"plugin": "translation_xyz_matrix",
"x": 948,
"y": 303,
"uid": 37
},
{
"plugin": "slider_float_generator",
"x": 731,
"y": 450,
"uid": 38,
"state": {
"val": -200,
"min": -200,
"max": 0
}
},
{
"plugin": "slider_float_generator",
"x": 719,
"y": 510,
"uid": 39,
"state": {
"val": 475,
"min": 0,
"max": 500
},
"title": "size"
},
{
"plugin": "scale_xyz_matrix",
"x": 1005,
"y": 436,
"uid": 40
},
{
"plugin": "concatenate_matrix_modulator",
"x": 1100,
"y": 277,
"uid": 41
},
{
"plugin": "slider_float_generator",
"x": 332,
"y": 153,
"uid": 42,
"state": {
"val": 350,
"min": 0,
"max": 500
}
},
{
"plugin": "slider_float_generator",
"x": 305,
"y": 225,
"uid": 43,
"state": {
"val": 175,
"min": 0,
"max": 500
}
},
{
"plugin": "graph",
"x": 184,
"y": 293,
"uid": 45,
"dsid": 2,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"7": 1
},
"output_sids": {
"6": 0
}
},
"title": "Time",
"graph": {
"node_uid": 17,
"uid": 12,
"parent_uid": 6,
"open": true,
"nodes": [
{
"plugin": "delta_t_generator",
"x": 234,
"y": 203,
"uid": 0
},
{
"plugin": "multiply_modulator",
"x": 359,
"y": 193,
"uid": 2
},
{
"plugin": "output_proxy",
"x": 785,
"y": 240,
"uid": 6,
"dsid": 30,
"state": {
"slot_id": 0
},
"title": "time",
"dyn_in": [
{
"name": "input",
"dt": 0,
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 250,
"y": 262,
"uid": 7,
"dsid": 28,
"state": {
"slot_id": 0
},
"title": "Speed",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "register_local_read",
"x": 376,
"y": 310,
"uid": 9,
"dsid": 1,
"state": {
"slot_id": 0
},
"title": "float",
"dyn_out": [
{
"name": "value",
"dt": 0,
"desc": "",
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "register_local_write",
"x": 745,
"y": 188,
"uid": 10,
"dsid": 1,
"state": {
"slot_id": 0
},
"title": "float",
"dyn_in": [
{
"name": "value",
"dt": 0,
"desc": "",
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
}
]
},
{
"plugin": "add_modulator",
"x": 484,
"y": 223,
"uid": 11
},
{
"plugin": "if_else_modulator",
"x": 604,
"y": 249,
"uid": 13
},
{
"plugin": "const_float_generator",
"x": 488,
"y": 351,
"uid": 14,
"state": {
"val": 0
},
"title": "Reset"
},
{
"plugin": "initialise_generator",
"x": 520,
"y": 160,
"uid": 15
}
],
"conns": [
{
"src_nuid": 0,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 7,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 13,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 9,
"dst_nuid": 11,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 2,
"dst_nuid": 11,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 11,
"dst_nuid": 13,
"src_slot": 0,
"dst_slot": 2
},
{
"src_nuid": 14,
"dst_nuid": 13,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 13,
"dst_nuid": 10,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 13,
"dst_nuid": 6,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true,
"offset": 1
}
],
"registers": [
{
"id": "float",
"dt": 0
}
]
},
"dyn_in": [
{
"name": "Speed",
"dt": 0,
"uid": 1,
"index": 0,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "time",
"dt": 0,
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "slider_float_generator",
"x": 12,
"y": 379,
"uid": 46,
"state": {
"val": -0.007,
"min": 0,
"max": -0.03
},
"title": "Speed"
},
{
"plugin": "input_proxy",
"x": 781,
"y": 670,
"uid": 47,
"dsid": 21,
"state": {
"slot_id": 0
},
"title": "camera",
"dyn_out": [
{
"name": "input",
"dt": 6,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "color_picker",
"x": 181,
"y": 408,
"uid": 48,
"state": {
"hue": 0.86,
"sat": 0.06,
"lum": 0.83
}
},
{
"plugin": "slider_float_generator",
"x": 396,
"y": 309,
"uid": 49,
"state": {
"val": 0.16666666666666666,
"min": 0,
"max": 1
}
},
{
"plugin": "slider_float_generator",
"x": 377,
"y": 373,
"uid": 50,
"state": {
"val": 0.5,
"min": 0,
"max": 1
}
},
{
"plugin": "slider_float_generator",
"x": 390,
"y": 661,
"uid": 51,
"state": {
"val": 1,
"min": 0,
"max": 1
},
"title": "texture alpha"
},
{
"plugin": "input_proxy",
"x": 513,
"y": 537,
"uid": 52,
"dsid": 19,
"state": {
"slot_id": 0
},
"title": "background",
"dyn_out": [
{
"name": "input",
"dt": 2,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "viewport_width_generator",
"x": 441,
"y": 426,
"uid": 53
},
{
"plugin": "viewport_height_generator",
"x": 428,
"y": 492,
"uid": 54
},
{
"plugin": "mesh_get_primitive_count",
"x": 571,
"y": 459,
"uid": 61
},
{
"plugin": "vector",
"x": 262,
"y": 567,
"uid": 67
},
{
"plugin": "slider_float_generator",
"x": 43,
"y": 538,
"uid": 68,
"state": {
"val": 0.7833333333333333,
"min": 0,
"max": 1
}
}
],
"conns": [
{
"src_nuid": 2,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 3,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 4,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 5,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 3,
"dst_dyn": true
},
{
"src_nuid": 7,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 5,
"dst_dyn": true
},
{
"src_nuid": 8,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 6,
"dst_dyn": true
},
{
"src_nuid": 11,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 9,
"dst_dyn": true
},
{
"src_nuid": 10,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 8,
"dst_dyn": true
},
{
"src_nuid": 9,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 7,
"dst_dyn": true
},
{
"src_nuid": 13,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 14,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 4,
"dst_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 16,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 17,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 3,
"dst_dyn": true
},
{
"src_nuid": 18,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 7,
"dst_dyn": true
},
{
"src_nuid": 19,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 8,
"dst_dyn": true
},
{
"src_nuid": 20,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 9,
"dst_dyn": true
},
{
"src_nuid": 21,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 6,
"dst_dyn": true
},
{
"src_nuid": 22,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 5,
"dst_dyn": true
},
{
"src_nuid": 12,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 11,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 23,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 23,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 24,
"dst_nuid": 25,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 0,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 1,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 26,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 27,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 28,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 37,
"dst_nuid": 41,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 41,
"dst_nuid": 25,
"src_slot": 0,
"dst_slot": 3
},
{
"src_nuid": 38,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 2
},
{
"src_nuid": 39,
"dst_nuid": 40,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 39,
"dst_nuid": 40,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 39,
"dst_nuid": 40,
"src_slot": 0,
"dst_slot": 2,
"offset": 2
},
{
"src_nuid": 0,
"dst_nuid": 25,
"src_slot": 0,
"dst_slot": 0,
"offset": 1
},
{
"src_nuid": 42,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 3,
"dst_dyn": true
},
{
"src_nuid": 43,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 4,
"dst_dyn": true
},
{
"src_nuid": 6,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 4,
"dst_dyn": true
},
{
"src_nuid": 46,
"dst_nuid": 45,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 47,
"dst_nuid": 25,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 48,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 6,
"dst_dyn": true
},
{
"src_nuid": 49,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 7,
"dst_dyn": true
},
{
"src_nuid": 50,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 8,
"dst_dyn": true
},
{
"src_nuid": 51,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 9,
"dst_dyn": true
},
{
"src_nuid": 52,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 10,
"src_connected": true,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 53,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 11,
"dst_dyn": true
},
{
"src_nuid": 54,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 12,
"dst_dyn": true
},
{
"src_nuid": 45,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 5,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 0,
"dst_nuid": 61,
"src_slot": 0,
"dst_slot": 0,
"offset": 2
},
{
"src_nuid": 23,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 13,
"dst_dyn": true,
"offset": 2
},
{
"src_nuid": 67,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 14,
"dst_dyn": true
},
{
"src_nuid": 68,
"dst_nuid": 67,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 40,
"dst_nuid": 41,
"src_slot": 0,
"dst_slot": 1
}
]
},
"dyn_in": [
{
"name": "camera",
"dt": 6,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "background",
"dt": 2,
"uid": 1,
"index": 1,
"type": 0,
"is_connected": true
}
]
},
{
"plugin": "graph",
"x": 967,
"y": 649,
"uid": 95,
"dsid": 4,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"35": 0,
"62": 3
},
"output_sids": {}
},
"title": "Particles for morgan",
"graph": {
"node_uid": 67,
"uid": 27,
"parent_uid": 0,
"open": true,
"nodes": [
{
"plugin": "mesh_renderer_emitter",
"x": 1539,
"y": 182,
"uid": 2
},
{
"plugin": "from_mesh_custom_shader",
"x": 1244,
"y": 121,
"uid": 3,
"dsid": 5,
"state": {
"vs_src": "highp float rand(vec2 co)\n{\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float dt= dot(co.xy ,vec2(a,b));\n highp float sn= mod(dt,3.14);\n \n return fract(sin(sn) * c);\n}\n\nvoid main(void) {\n float idx = v_pos.y * 100.0 + v_pos.x;\n float amp = rand(v_pos.xy) * 1.0;\n vec4 tp = m_mat * vec4(v_pos + vec3(0.0, 0.0, amp), 1.0);\n\n tp = v_mat * tp;\n gl_Position = p_mat * tp;\n gl_PointSize = size / gl_Position.z;\n f_col = d_col;\n f_col.a = 1.0 / ((length(gl_Position) * 1.0) + 1.0);\n f_norm = n_mat * v_norm;\n}",
"ps_src": "void main(void) {\n vec4 fc = vec4(0.0, 0.0, 0.0, f_col.a);\n fc.rgb = f_col.rgb * texture2D(sprite, gl_PointCoord).rgb;\n fc.rgb += a_col.rgb;\n\n gl_FragColor = fc;\n}",
"changed": true,
"slot_ids": {
"time": {
"id": 0,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": null
},
"sprite": {
"id": 2,
"dt": {
"id": 2,
"name": "Texture"
},
"uniform": {}
},
"ampsize": {
"id": 3,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": null
},
"size": {
"id": 4,
"dt": {
"id": 0,
"name": "Float"
},
"uniform": {}
}
}
},
"dyn_in": [
{
"name": "time",
"dt": 0,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "sprite",
"dt": 2,
"uid": 2,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "ampsize",
"dt": 0,
"uid": 3,
"index": 2,
"type": 0,
"is_connected": true
},
{
"name": "size",
"dt": 0,
"uid": 4,
"index": 3,
"type": 0,
"is_connected": true
}
]
},
{
"plugin": "clock_generator",
"x": 965,
"y": 205,
"uid": 4,
"open": false
},
{
"plugin": "graph",
"x": 656,
"y": 433,
"uid": 12,
"dsid": 4,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"8": 1,
"9": 2,
"10": 3
},
"output_sids": {
"1": 0
}
},
"title": "Rotate",
"graph": {
"node_uid": 21,
"uid": 28,
"parent_uid": 27,
"open": true,
"nodes": [
{
"plugin": "rotation_xyz_matrix",
"x": 367,
"y": 174,
"uid": 0
},
{
"plugin": "output_proxy",
"x": 485,
"y": 174,
"uid": 1,
"dsid": 129,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_in": [
{
"name": "input",
"dt": 4,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 45,
"y": 80,
"uid": 8,
"dsid": 129,
"state": {
"slot_id": 0
},
"title": "X",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 45,
"y": 170,
"uid": 9,
"dsid": 129,
"state": {
"slot_id": 0
},
"title": "Y",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 46,
"y": 257,
"uid": 10,
"dsid": 129,
"state": {
"slot_id": 0
},
"title": "Z",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "const_float_generator",
"x": 40,
"y": 386,
"uid": 11,
"state": {
"val": 180
}
},
{
"plugin": "const_float_generator",
"x": 15,
"y": 317,
"uid": 12,
"state": {
"val": 360
}
},
{
"plugin": "multiply_modulator",
"x": 165,
"y": 80,
"uid": 15
},
{
"plugin": "subtract_modulator",
"x": 260,
"y": 105,
"uid": 16
},
{
"plugin": "multiply_modulator",
"x": 165,
"y": 170,
"uid": 17
},
{
"plugin": "subtract_modulator",
"x": 260,
"y": 195,
"uid": 18
},
{
"plugin": "multiply_modulator",
"x": 163,
"y": 257,
"uid": 19
},
{
"plugin": "subtract_modulator",
"x": 258,
"y": 282,
"uid": 20
}
],
"conns": [
{
"src_nuid": 0,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 16,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 17,
"dst_nuid": 18,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 19,
"dst_nuid": 20,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 8,
"dst_nuid": 15,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 9,
"dst_nuid": 17,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 10,
"dst_nuid": 19,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 12,
"dst_nuid": 15,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 12,
"dst_nuid": 17,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 12,
"dst_nuid": 19,
"src_slot": 0,
"dst_slot": 1,
"offset": 2
},
{
"src_nuid": 11,
"dst_nuid": 16,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 11,
"dst_nuid": 18,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 11,
"dst_nuid": 20,
"src_slot": 0,
"dst_slot": 1,
"offset": 2
},
{
"src_nuid": 16,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 18,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 20,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 2
}
]
},
"dyn_in": [
{
"name": "X",
"dt": 0,
"uid": 1,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "Y",
"dt": 0,
"uid": 2,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "Z",
"dt": 0,
"uid": 3,
"index": 2,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "matrix",
"dt": 4,
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "knob_float_generator",
"x": 363,
"y": 335,
"uid": 13,
"state": {
"val": 0
},
"title": "Rotate X"
},
{
"plugin": "knob_float_generator",
"x": 363,
"y": 408,
"uid": 14,
"state": {
"val": 0
},
"title": "Rotate Y"
},
{
"plugin": "knob_float_generator",
"x": 363,
"y": 482,
"uid": 15,
"state": {
"val": 0.01
},
"title": "Rotate Z"
},
{
"plugin": "graph",
"x": 652,
"y": 407,
"uid": 16,
"open": false,
"dsid": 8,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"13": 5,
"14": 6,
"15": 7
},
"output_sids": {
"2": 1
}
},
"title": "Scale",
"graph": {
"node_uid": 16,
"uid": 29,
"parent_uid": 27,
"open": true,
"nodes": [
{
"plugin": "scale_matrix",
"x": 189,
"y": 49,
"uid": 0
},
{
"plugin": "output_proxy",
"x": 278,
"y": 49,
"uid": 2,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_in": [
{
"name": "input",
"dt": 4,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "vector",
"x": 73,
"y": 49,
"uid": 3
},
{
"plugin": "input_proxy",
"x": 7,
"y": 9,
"uid": 13,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "x",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 7,
"y": 69,
"uid": 14,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "y",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 7,
"y": 132,
"uid": 15,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "z",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
}
],
"conns": [
{
"src_nuid": 0,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
},
{
"src_nuid": 3,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 13,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 14,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
}
]
},
"dyn_in": [
{
"name": "x",
"dt": 0,
"uid": 5,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "y",
"dt": 0,
"uid": 6,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "z",
"dt": 0,
"uid": 7,
"index": 2,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "matrix",
"dt": 4,
"uid": 1,
"index": 0,
"type": 1
}
]
},
{
"plugin": "graph",
"x": 1168,
"y": 465,
"uid": 17,
"dsid": 8,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"13": 5,
"14": 6,
"15": 7
},
"output_sids": {
"2": 1
}
},
"title": "Translate",
"graph": {
"node_uid": 17,
"uid": 30,
"parent_uid": 27,
"open": true,
"nodes": [
{
"plugin": "output_proxy",
"x": 291,
"y": 50,
"uid": 2,
"dsid": 130,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_in": [
{
"name": "input",
"dt": 4,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "vector",
"x": 74,
"y": 50,
"uid": 3
},
{
"plugin": "input_proxy",
"x": 8,
"y": 10,
"uid": 13,
"dsid": 130,
"state": {
"slot_id": 0
},
"title": "x",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 8,
"y": 70,
"uid": 14,
"dsid": 130,
"state": {
"slot_id": 0
},
"title": "y",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 8,
"y": 129,
"uid": 15,
"dsid": 130,
"state": {
"slot_id": 0
},
"title": "z",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "translation_matrix",
"x": 191,
"y": 50,
"uid": 16
}
],
"conns": [
{
"src_nuid": 13,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 14,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 3,
"dst_nuid": 16,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 16,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
}
]
},
"dyn_in": [
{
"name": "x",
"dt": 0,
"uid": 5,
"index": 0,
"type": 0,
"is_connected": false
},
{
"name": "y",
"dt": 0,
"uid": 6,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "z",
"dt": 0,
"uid": 7,
"index": 2,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "matrix",
"dt": 4,
"uid": 1,
"index": 0,
"type": 1
}
]
},
{
"plugin": "slider_float_generator",
"x": 450,
"y": 339,
"uid": 18,
"state": {
"val": -3.3333333333333215,
"min": -100,
"max": 100
},
"title": "Position X"
},
{
"plugin": "slider_float_generator",
"x": 450,
"y": 400,
"uid": 19,
"state": {
"val": 0.1333333333333333,
"min": -2,
"max": 2
},
"title": "Position Y"
},
{
"plugin": "slider_float_generator",
"x": 445,
"y": 475,
"uid": 20,
"state": {
"val": -4.333333333333334,
"min": -10,
"max": 10
},
"title": "Position Z"
},
{
"plugin": "const_float_generator",
"x": 362,
"y": 560,
"uid": 21,
"state": {
"val": 20
},
"title": "Scale X"
},
{
"plugin": "const_float_generator",
"x": 361,
"y": 619,
"uid": 22,
"state": {
"val": 100
},
"title": "Scale Y"
},
{
"plugin": "const_float_generator",
"x": 359,
"y": 679,
"uid": 23,
"state": {
"val": 10
},
"title": "Scale Z"
},
{
"plugin": "graph",
"x": 767,
"y": 399,
"uid": 24,
"open": false,
"dsid": 4,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"3": 1,
"4": 2,
"5": 3
},
"output_sids": {
"2": 0
}
},
"title": "Concatenate x2",
"graph": {
"node_uid": 6,
"uid": 31,
"parent_uid": 27,
"open": true,
"nodes": [
{
"plugin": "concatenate_matrix_modulator",
"x": 274,
"y": 13,
"uid": 0
},
{
"plugin": "concatenate_matrix_modulator",
"x": 92,
"y": 13,
"uid": 1
},
{
"plugin": "output_proxy",
"x": 394,
"y": 13,
"uid": 2,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_in": [
{
"name": "input",
"dt": 4,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 197,
"y": 14,
"uid": 3,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_out": [
{
"name": "output",
"dt": 4,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 9,
"y": 13,
"uid": 4,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_out": [
{
"name": "output",
"dt": 4,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 9,
"y": 71,
"uid": 5,
"dsid": 128,
"state": {
"slot_id": 0
},
"title": "matrix",
"dyn_out": [
{
"name": "output",
"dt": 4,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
}
],
"conns": [
{
"src_nuid": 1,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 0,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
},
{
"src_nuid": 3,
"dst_nuid": 0,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 4,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 5,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
}
]
},
"dyn_in": [
{
"name": "matrix",
"dt": 4,
"uid": 1,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "matrix",
"dt": 4,
"uid": 2,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "matrix",
"dt": 4,
"uid": 3,
"index": 2,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "matrix",
"dt": 4,
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "input_proxy",
"x": 1059,
"y": 310,
"uid": 35,
"dsid": 68,
"state": {
"slot_id": 0
},
"title": "camera",
"dyn_out": [
{
"name": "input",
"dt": 6,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "slider_float_generator",
"x": 176,
"y": 229,
"uid": 36,
"state": {
"val": 12.916666666666664,
"min": 5,
"max": 100
},
"title": "Particle size"
},
{
"plugin": "const_float_generator",
"x": 925,
"y": 302,
"uid": 37,
"state": {
"val": 1
}
},
{
"plugin": "graph",
"x": 730,
"y": 807,
"uid": 38,
"open": false,
"dsid": 20,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"15": 3,
"21": 4,
"22": 5,
"23": 6,
"24": 7,
"25": 8,
"39": 12,
"40": 13,
"41": 14,
"44": 16,
"47": 18,
"49": 19
},
"output_sids": {
"9": 0
}
},
"title": "Material chain",
"graph": {
"node_uid": 53,
"uid": 32,
"parent_uid": 27,
"open": true,
"nodes": [
{
"plugin": "material_diffuse_color_modulator",
"x": 1054,
"y": 73,
"uid": 1
},
{
"plugin": "material_alpha_clip_modulator",
"x": 1176,
"y": 73,
"uid": 5
},
{
"plugin": "toggle_button",
"x": 1064,
"y": 151,
"uid": 6,
"state": {
"enabled": false
},
"title": "Alpha clip"
},
{
"plugin": "material_texture_modulator",
"x": 1288,
"y": 73,
"uid": 7
},
{
"plugin": "output_proxy",
"x": 1396,
"y": 73,
"uid": 9,
"dsid": 97,
"state": {
"slot_id": 0
},
"title": "material",
"dyn_in": [
{
"name": "input",
"dt": 12,
"desc": "Connect a slot of any type to this plugin, to have the parent slot assume its datatype and forward data from this plugin.",
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "material_blend_mode_modulator",
"x": 839,
"y": 73,
"uid": 10
},
{
"plugin": "input_proxy",
"x": 1207,
"y": 150,
"uid": 15,
"dsid": 97,
"state": {
"slot_id": 0
},
"title": "Image",
"dyn_out": [
{
"name": "output",
"dt": 2,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 866,
"y": 279,
"uid": 21,
"dsid": 91,
"state": {
"slot_id": 0
},
"title": "hue",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 803,
"y": 334,
"uid": 22,
"dsid": 91,
"state": {
"slot_id": 0
},
"title": "saturation",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 814,
"y": 395,
"uid": 23,
"dsid": 91,
"state": {
"slot_id": 0
},
"title": "luminosity",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 856,
"y": 457,
"uid": 24,
"dsid": 91,
"state": {
"slot_id": 0
},
"title": "alpha",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 739,
"y": 204,
"uid": 25,
"dsid": 91,
"state": {
"slot_id": 0
},
"title": "blend mode",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "convert_hsla_color_modulator",
"x": 943,
"y": 296,
"uid": 26
},
{
"plugin": "material_z_buffer_modulator",
"x": 706,
"y": 72,
"uid": 27
},
{
"plugin": "toggle_button",
"x": 573,
"y": 162,
"uid": 28,
"state": {
"enabled": true
},
"title": "Z-buffer"
},
{
"plugin": "material_double_sided_modulator",
"x": 432,
"y": 73,
"uid": 35
},
{
"plugin": "toggle_button",
"x": 323,
"y": 161,
"uid": 36,
"state": {
"enabled": false
},
"title": "Double-sided"
},
{
"plugin": "material_ambient_color_modulator",
"x": 290,
"y": 73,
"uid": 37
},
{
"plugin": "input_proxy",
"x": 83,
"y": 181,
"uid": 39,
"dsid": 92,
"state": {
"slot_id": 0
},
"title": "am hue",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 45,
"y": 244,
"uid": 40,
"dsid": 92,
"state": {
"slot_id": 0
},
"title": "am saturation",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 56,
"y": 305,
"uid": 41,
"dsid": 92,
"state": {
"slot_id": 0
},
"title": "am luminosity",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "convert_hsla_color_modulator",
"x": 170,
"y": 200,
"uid": 43
},
{
"plugin": "input_proxy",
"x": 17,
"y": 38,
"uid": 44,
"dsid": 81,
"state": {
"slot_id": 0
},
"title": "material",
"dyn_out": [
{
"name": "output",
"dt": 12,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 106,
"y": 109,
"uid": 47,
"dsid": 76,
"state": {
"slot_id": 0
},
"title": "light",
"dyn_out": [
{
"name": "output",
"dt": 13,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "material_light_modulator",
"x": 169,
"y": 22,
"uid": 48
},
{
"plugin": "input_proxy",
"x": 18,
"y": 93,
"uid": 49,
"dsid": 73,
"state": {
"slot_id": 0
},
"title": "light index",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "toggle_button",
"x": 584,
"y": 231,
"uid": 50,
"state": {
"enabled": false
},
"title": "Depth write"
}
],
"conns": [
{
"src_nuid": 1,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 6,
"dst_nuid": 5,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 5,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 7,
"dst_nuid": 9,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true
},
{
"src_nuid": 10,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 15,
"dst_nuid": 7,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 25,
"dst_nuid": 10,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 21,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 22,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 23,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 24,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 3,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 26,
"dst_nuid": 1,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 27,
"dst_nuid": 10,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 28,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 36,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 37,
"dst_nuid": 35,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 39,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 40,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 41,
"dst_nuid": 43,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 43,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 47,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 44,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 48,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 49,
"dst_nuid": 48,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 50,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 2
},
{
"src_nuid": 35,
"dst_nuid": 27,
"src_slot": 0,
"dst_slot": 0
}
]
},
"dyn_in": [
{
"name": "Image",
"dt": 2,
"uid": 3,
"index": 0,
"type": 0,
"is_connected": false
},
{
"name": "hue",
"dt": 0,
"uid": 4,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "saturation",
"dt": 0,
"uid": 5,
"index": 2,
"type": 0,
"is_connected": true
},
{
"name": "luminosity",
"dt": 0,
"uid": 6,
"index": 3,
"type": 0,
"is_connected": true
},
{
"name": "alpha",
"dt": 0,
"uid": 7,
"index": 4,
"type": 0,
"is_connected": true
},
{
"name": "blend mode",
"dt": 0,
"uid": 8,
"index": 5,
"type": 0,
"is_connected": true
},
{
"name": "am hue",
"dt": 0,
"uid": 12,
"index": 6,
"type": 0,
"is_connected": true
},
{
"name": "am saturation",
"dt": 0,
"uid": 13,
"index": 7,
"type": 0,
"is_connected": true
},
{
"name": "am luminosity",
"dt": 0,
"uid": 14,
"index": 8,
"type": 0,
"is_connected": true
},
{
"name": "material",
"dt": 12,
"uid": 16,
"index": 9,
"type": 0,
"is_connected": false
},
{
"name": "light",
"dt": 13,
"uid": 18,
"index": 10,
"type": 0,
"is_connected": false
},
{
"name": "light index",
"dt": 0,
"uid": 19,
"index": 11,
"type": 0
}
],
"dyn_out": [
{
"name": "material",
"dt": 12,
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "knob_float_generator",
"x": 357,
"y": 769,
"uid": 40,
"state": {
"val": 1
},
"title": "Hue"
},
{
"plugin": "knob_float_generator",
"x": 440,
"y": 770,
"uid": 41,
"state": {
"val": 0
},
"title": "Saturation"
},
{
"plugin": "knob_float_generator",
"x": 534,
"y": 769,
"uid": 42,
"state": {
"val": 0.30999999999999955
},
"title": "Luminosity"
},
{
"plugin": "knob_float_generator",
"x": 622,
"y": 769,
"uid": 43,
"state": {
"val": 0.4700000000000002
},
"title": "Alpha"
},
{
"plugin": "blend_mode_generator",
"x": 257,
"y": 853,
"uid": 44,
"state": {
"mode": 1
}
},
{
"plugin": "knob_float_generator",
"x": 426,
"y": 847,
"uid": 46,
"state": {
"val": 1
},
"title": "Ambient Hue"
},
{
"plugin": "knob_float_generator",
"x": 526,
"y": 847,
"uid": 47,
"state": {
"val": 1
},
"title": "Ambient Sat"
},
{
"plugin": "knob_float_generator",
"x": 622,
"y": 846,
"uid": 48,
"state": {
"val": 0
},
"title": "Ambient Lum"
},
{
"plugin": "plane_mesh_generator",
"x": 764,
"y": 76,
"uid": 56,
"state": {
"x_res": 100,
"y_res": 100
}
},
{
"plugin": "const_float_generator",
"x": 520,
"y": 70,
"uid": 57,
"state": {
"val": 100
},
"title": "Particles vertexes amount"
},
{
"plugin": "graph",
"x": 704,
"y": 612,
"uid": 58,
"dsid": 10,
"state": {
"enabled": true,
"always_update": true,
"rt_width": 512,
"rt_height": 512,
"rt_filter": 9729,
"input_sids": {
"28": 6,
"41": 8,
"42": 9
},
"output_sids": {
"40": 7
}
},
"title": "Oscillate particles Sawtooth",
"graph": {
"node_uid": 48,
"uid": 33,
"parent_uid": 27,
"open": true,
"nodes": [
{
"plugin": "delta_t_generator",
"x": 62,
"y": 232,
"uid": 25
},
{
"plugin": "multiply_modulator",
"x": 187,
"y": 222,
"uid": 26
},
{
"plugin": "input_proxy",
"x": 78,
"y": 291,
"uid": 28,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "Speed",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "register_local_read",
"x": 204,
"y": 339,
"uid": 29,
"dsid": 1,
"state": {
"slot_id": 0
},
"title": "float",
"dyn_out": [
{
"name": "value",
"dt": 0,
"desc": "",
"uid": 0,
"index": 0,
"type": 1
}
]
},
{
"plugin": "register_local_write",
"x": 589,
"y": 178,
"uid": 30,
"dsid": 1,
"state": {
"slot_id": 0
},
"title": "float",
"dyn_in": [
{
"name": "value",
"dt": 0,
"desc": "",
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true
}
]
},
{
"plugin": "add_modulator",
"x": 312,
"y": 252,
"uid": 31
},
{
"plugin": "if_else_modulator",
"x": 432,
"y": 278,
"uid": 32
},
{
"plugin": "const_float_generator",
"x": 316,
"y": 380,
"uid": 33,
"state": {
"val": 0
},
"title": "Reset"
},
{
"plugin": "initialise_generator",
"x": 348,
"y": 189,
"uid": 34
},
{
"plugin": "subtract_modulator",
"x": 664,
"y": 404,
"uid": 36
},
{
"plugin": "convert_oscilator_unit_modulator",
"x": 629,
"y": 289,
"uid": 37
},
{
"plugin": "multiply_modulator",
"x": 753,
"y": 289,
"uid": 38
},
{
"plugin": "add_modulator",
"x": 836,
"y": 344,
"uid": 39
},
{
"plugin": "output_proxy",
"x": 919,
"y": 344,
"uid": 40,
"dsid": 34,
"state": {
"slot_id": 0
},
"title": "float",
"dyn_in": [
{
"name": "input",
"dt": 0,
"uid": 0,
"index": 0,
"type": 0,
"connected": true,
"is_connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 538,
"y": 399,
"uid": 41,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "Min",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "input_proxy",
"x": 604,
"y": 404,
"uid": 42,
"dsid": 32,
"state": {
"slot_id": 0
},
"title": "Max",
"dyn_out": [
{
"name": "output",
"dt": 0,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "sawtooth_modulator",
"x": 543,
"y": 286,
"uid": 47
}
],
"conns": [
{
"src_nuid": 25,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 28,
"dst_nuid": 26,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 26,
"dst_nuid": 31,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 29,
"dst_nuid": 31,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 31,
"dst_nuid": 32,
"src_slot": 0,
"dst_slot": 2
},
{
"src_nuid": 34,
"dst_nuid": 32,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 33,
"dst_nuid": 32,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 42,
"dst_nuid": 36,
"src_slot": 0,
"dst_slot": 0,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 41,
"dst_nuid": 36,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true,
"offset": 1
},
{
"src_nuid": 36,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 37,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 38,
"dst_nuid": 39,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 41,
"dst_nuid": 39,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 39,
"dst_nuid": 40,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": true,
"dst_dyn": true,
"offset": 1
},
{
"src_nuid": 32,
"dst_nuid": 30,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 32,
"dst_nuid": 47,
"src_slot": 0,
"dst_slot": 0,
"offset": 1
},
{
"src_nuid": 47,
"dst_nuid": 37,
"src_slot": 0,
"dst_slot": 0
}
],
"registers": [
{
"id": "float",
"dt": 8
}
]
},
"dyn_in": [
{
"name": "Speed",
"dt": 0,
"uid": 6,
"index": 0,
"type": 0,
"is_connected": true
},
{
"name": "Min",
"dt": 0,
"uid": 8,
"index": 1,
"type": 0,
"is_connected": true
},
{
"name": "Max",
"dt": 0,
"uid": 9,
"index": 2,
"type": 0,
"is_connected": true
}
],
"dyn_out": [
{
"name": "float",
"dt": 0,
"uid": 7,
"index": 0,
"type": 1
}
]
},
{
"plugin": "slider_float_generator",
"x": 510,
"y": 612,
"uid": 59,
"state": {
"val": 0.013333333333333334,
"min": 0,
"max": 0.1
},
"title": "speed"
},
{
"plugin": "const_float_generator",
"x": 509,
"y": 676,
"uid": 60,
"state": {
"val": -20
},
"title": "Min"
},
{
"plugin": "const_float_generator",
"x": 597,
"y": 676,
"uid": 61,
"state": {
"val": 8
},
"title": "Max"
},
{
"plugin": "input_proxy",
"x": 750,
"y": 273,
"uid": 62,
"dsid": 10,
"state": {
"slot_id": 0
},
"title": "particle sprite",
"dyn_out": [
{
"name": "input",
"dt": 2,
"desc": "Connect this to a slot of any type, to have the parent slot assume its datatype and forward data from the parent graph.",
"uid": 0,
"index": 0,
"type": 1,
"connected": true
}
]
},
{
"plugin": "mesh_primtype_generator",
"x": 700,
"y": 178,
"uid": 64,
"state": {
"type": 0
}
},
{
"plugin": "mesh_primtype_modulator",
"x": 859,
"y": 108,
"uid": 65
},
{
"plugin": "float_display",
"x": 1020,
"y": 582,
"uid": 66
}
],
"conns": [
{
"src_nuid": 3,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 24,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 3,
"src_dyn": true
},
{
"src_nuid": 4,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 13,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 14,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 12,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 21,
"dst_nuid": 16,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 22,
"dst_nuid": 16,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 23,
"dst_nuid": 16,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 16,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 2,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 20,
"dst_nuid": 17,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 17,
"dst_nuid": 24,
"src_slot": 0,
"dst_slot": 0,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 35,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 2,
"src_connected": true,
"src_dyn": true
},
{
"src_nuid": 36,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 3,
"dst_dyn": true
},
{
"src_nuid": 37,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 40,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 41,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 42,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 3,
"dst_dyn": true
},
{
"src_nuid": 43,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 4,
"dst_dyn": true
},
{
"src_nuid": 44,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 5,
"dst_dyn": true
},
{
"src_nuid": 48,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 8,
"dst_dyn": true
},
{
"src_nuid": 47,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 7,
"dst_dyn": true
},
{
"src_nuid": 46,
"dst_nuid": 38,
"src_slot": 0,
"dst_slot": 6,
"dst_dyn": true
},
{
"src_nuid": 38,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true
},
{
"src_nuid": 15,
"dst_nuid": 12,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 57,
"dst_nuid": 56,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 57,
"dst_nuid": 56,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 59,
"dst_nuid": 58,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 61,
"dst_nuid": 58,
"src_slot": 0,
"dst_slot": 2,
"dst_dyn": true
},
{
"src_nuid": 60,
"dst_nuid": 58,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 62,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 1,
"src_connected": true,
"src_dyn": true,
"dst_dyn": true
},
{
"src_nuid": 64,
"dst_nuid": 65,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 56,
"dst_nuid": 65,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 65,
"dst_nuid": 3,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 65,
"dst_nuid": 2,
"src_slot": 0,
"dst_slot": 0,
"offset": 1
},
{
"src_nuid": 58,
"dst_nuid": 66,
"src_slot": 0,
"dst_slot": 0,
"src_dyn": true
},
{
"src_nuid": 58,
"dst_nuid": 17,
"src_slot": 0,
"dst_slot": 1,
"src_dyn": true,
"dst_dyn": true,
"offset": 1
}
]
},
"dyn_in": [
{
"name": "camera",
"dt": 6,
"uid": 0,
"index": 0,
"type": 0,
"is_connected": true,
"connected": false
},
{
"name": "particle sprite",
"dt": 2,
"uid": 3,
"index": 1,
"type": 0,
"is_connected": true,
"connected": false
}
]
},
{
"plugin": "url_texture_generator",
"x": 732,
"y": 689,
"uid": 96,
"state": {
"url": "/data/image/118e1475350e7f7b73afc37d81a41bf9270b9fa4.png"
}
}
],
"conns": [
{
"src_nuid": 60,
"dst_nuid": 53,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 54,
"dst_nuid": 53,
"src_slot": 0,
"dst_slot": 3
},
{
"src_nuid": 56,
"dst_nuid": 53,
"src_slot": 0,
"dst_slot": 4
},
{
"src_nuid": 55,
"dst_nuid": 54,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 55,
"dst_nuid": 54,
"src_slot": 0,
"dst_slot": 1,
"offset": 1
},
{
"src_nuid": 55,
"dst_nuid": 54,
"src_slot": 0,
"dst_slot": 2,
"offset": 2
},
{
"src_nuid": 57,
"dst_nuid": 56,
"src_slot": 0,
"dst_slot": 0
},
{
"src_nuid": 58,
"dst_nuid": 56,
"src_slot": 0,
"dst_slot": 1
},
{
"src_nuid": 59,
"dst_nuid": 56,
"src_slot": 0,
"dst_slot": 2
},
{
"src_nuid": 62,
"dst_nuid": 50,
"src_slot": 0,
"dst_slot": 1,
"dst_dyn": true
},
{
"src_nuid": 62,
"dst_nuid": 80,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true,
"offset": 1
},
{
"src_nuid": 53,
"dst_nuid": 50,
"src_slot": 0,
"dst_slot": 0,
"dst_dyn": true
},
{
"src_nuid": 53,
"dst_nuid": 62,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": false,
"dst_dyn": true,
"offset": 1
},
{
"src_nuid": 53,
"dst_nuid": 95,
"src_slot": 0,
"dst_slot": 0,
"dst_connected": false,
"dst_dyn": true,
"offset": 2
},
{
"src_nuid": 96,
"dst_nuid": 95,
"src_slot": 0,
"dst_slot": 1,
"dst_connected": false,
"dst_dyn": true
}
]
}
}