particles_nodes.glslv 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #ifndef PARTICLES_NODES_GLSLV
  2. #define PARTICLES_NODES_GLSLV
  3. // #import v_texcoord
  4. /*==============================================================================
  5. FUNCTIONS
  6. ==============================================================================*/
  7. #node TEX_COORD_UV
  8. v_texcoord = nin_bb_vertex;
  9. #endnode
  10. #node UV_MERGED
  11. v_texcoord = nin_bb_vertex;
  12. #endnode
  13. #node UVMAP
  14. v_texcoord = nin_bb_vertex;
  15. #endnode
  16. #node GEOMETRY_UV
  17. v_texcoord = nin_bb_vertex;
  18. #endnode
  19. #node PARTICLE_INFO
  20. #node_var PART_INFO_SIZE 0
  21. #node_var PART_INFO_AGE 0
  22. #node_var PART_INFO_LT 0
  23. #node_var PART_INFO_LOC 0
  24. #node_var PART_INFO_IND 0
  25. #node_var PART_INFO_VEL 0
  26. #node_var PART_INFO_A_VEL 0
  27. // v_p_params -> indices, time, lifetimes, sizes
  28. #node_param optional GLSL_OUT vec4 v_p_params
  29. #node_param optional GLSL_OUT vec3 v_p_location
  30. #node_param optional GLSL_OUT vec3 v_p_vel
  31. #node_param optional GLSL_OUT vec3 v_p_a_vel
  32. #node_param optional GLSL_IN float a_p_indices
  33. # node_if PART_INFO_SIZE
  34. v_p_params[3] = nin_part_size;
  35. # node_endif
  36. # node_if PART_INFO_AGE
  37. v_p_params[1] = nin_part_age;
  38. # node_endif
  39. # node_if PART_INFO_LT
  40. v_p_params[2] = nin_lifetime;
  41. # node_endif
  42. # node_if PART_INFO_LOC
  43. v_p_location = nin_pos;
  44. # node_endif
  45. # node_if PART_INFO_IND
  46. v_p_params[0] = a_p_indices;
  47. # node_endif
  48. # node_if PART_INFO_VEL
  49. v_p_vel = nin_part_velocity;
  50. # node_endif
  51. # node_if PART_INFO_A_VEL
  52. v_p_a_vel = nin_part_ang_vel;
  53. # node_endif
  54. #endnode
  55. #nodes_global
  56. void nodes_main(in vec3 nin_pos, in vec3 nin_part_velocity, in vec3 nin_part_ang_vel,
  57. in float nin_part_age, in float nin_part_size, in vec2 nin_bb_vertex,
  58. in float nin_lifetime) {
  59. #if USE_NODE_GEOMETRY_OR || USE_NODE_TEX_COORD_GE
  60. v_texcoord = nin_bb_vertex;
  61. #endif
  62. #nodes_main
  63. }
  64. #endif