layer_mask_node.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. function layer_mask_node_init() {
  2. array_push(nodes_material_input, layer_mask_node_def);
  3. map_set(parser_material_node_values, "LAYER_MASK", layer_mask_node_value);
  4. }
  5. function layer_mask_node_value(node: ui_node_t, socket: ui_node_socket_t): string {
  6. let l: i32 = node.buttons[0].default_value[0];
  7. node_shader_add_texture(parser_material_kong, "texpaint" + l, "_texpaint" + l);
  8. return "sample(texpaint" + l + ", sampler_linear, tex_coord).r";
  9. }
  10. let layer_mask_node_def: ui_node_t = {
  11. id : 0,
  12. name : _tr("Layer Mask"),
  13. type : "LAYER_MASK", // extension
  14. x : 0,
  15. y : 0,
  16. color : 0xff4982a0,
  17. inputs : [],
  18. outputs : [ {
  19. id : 0,
  20. node_id : 0,
  21. name : _tr("Value"),
  22. type : "VALUE",
  23. color : 0xffa1a1a1,
  24. default_value : f32_array_create_x(0.0),
  25. min : 0.0,
  26. max : 1.0,
  27. precision : 100,
  28. display : 0
  29. } ],
  30. buttons : [ {
  31. name : _tr("Layer"),
  32. type : "ENUM",
  33. output : -1,
  34. default_value : f32_array_create_x(0),
  35. data : u8_array_create_from_string(""),
  36. min : 0.0,
  37. max : 1.0,
  38. precision : 100,
  39. height : 0
  40. } ],
  41. width : 0,
  42. flags : 0
  43. };