ShaderLib.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. const ShaderLib = {
  2. meshBasic: {
  3. vertexShader: `#version 450
  4. layout(location = 0) in vec3 position;
  5. NODE_HEADER_ATTRIBUTES
  6. NODE_HEADER_UNIFORMS
  7. layout(set = 0, binding = 0) uniform ModelUniforms {
  8. mat4 modelMatrix;
  9. mat4 modelViewMatrix;
  10. mat3 normalMatrix;
  11. } modelUniforms;
  12. layout(set = 0, binding = 1) uniform CameraUniforms {
  13. mat4 projectionMatrix;
  14. mat4 viewMatrix;
  15. } cameraUniforms;
  16. void main(){
  17. NODE_BODY_ATTRIBUTES
  18. gl_Position = cameraUniforms.projectionMatrix * modelUniforms.modelViewMatrix * vec4( position, 1.0 );
  19. }`,
  20. fragmentShader: `#version 450
  21. NODE_HEADER_ATTRIBUTES
  22. NODE_HEADER_UNIFORMS
  23. layout(location = 0) out vec4 outColor;
  24. void main() {
  25. outColor = vec4( 1.0, 1.0, 1.0, 1.0 );
  26. #ifdef NODE_COLOR
  27. outColor = NODE_COLOR;
  28. #endif
  29. #ifdef NODE_OPACITY
  30. outColor.a *= NODE_OPACITY;
  31. #endif
  32. }`
  33. },
  34. pointsBasic: {
  35. vertexShader: `#version 450
  36. layout(location = 0) in vec3 position;
  37. NODE_HEADER_ATTRIBUTES
  38. NODE_HEADER_UNIFORMS
  39. layout(set = 0, binding = 0) uniform ModelUniforms {
  40. mat4 modelMatrix;
  41. mat4 modelViewMatrix;
  42. } modelUniforms;
  43. layout(set = 0, binding = 1) uniform CameraUniforms {
  44. mat4 projectionMatrix;
  45. mat4 viewMatrix;
  46. } cameraUniforms;
  47. void main(){
  48. NODE_BODY_ATTRIBUTES
  49. gl_Position = cameraUniforms.projectionMatrix * modelUniforms.modelViewMatrix * vec4( position, 1.0 );
  50. }`,
  51. fragmentShader: `#version 450
  52. NODE_HEADER_ATTRIBUTES
  53. NODE_HEADER_UNIFORMS
  54. layout(location = 0) out vec4 outColor;
  55. void main() {
  56. outColor = vec4( 1.0, 1.0, 1.0, 1.0 );
  57. #ifdef NODE_COLOR
  58. outColor = NODE_COLOR;
  59. #endif
  60. #ifdef NODE_OPACITY
  61. outColor.a = NODE_OPACITY;
  62. #endif
  63. }`
  64. },
  65. lineBasic: {
  66. vertexShader: `#version 450
  67. layout(location = 0) in vec3 position;
  68. NODE_HEADER_ATTRIBUTES
  69. NODE_HEADER_UNIFORMS
  70. layout(set = 0, binding = 0) uniform ModelUniforms {
  71. mat4 modelMatrix;
  72. mat4 modelViewMatrix;
  73. } modelUniforms;
  74. layout(set = 0, binding = 1) uniform CameraUniforms {
  75. mat4 projectionMatrix;
  76. mat4 viewMatrix;
  77. } cameraUniforms;
  78. void main(){
  79. NODE_BODY_ATTRIBUTES
  80. gl_Position = cameraUniforms.projectionMatrix * modelUniforms.modelViewMatrix * vec4( position, 1.0 );
  81. }`,
  82. fragmentShader: `#version 450
  83. NODE_HEADER_ATTRIBUTES
  84. NODE_HEADER_UNIFORMS
  85. layout(location = 0) out vec4 outColor;
  86. void main() {
  87. outColor = vec4( 1.0, 1.0, 1.0, 1.0 );
  88. #ifdef NODE_COLOR
  89. outColor = NODE_COLOR;
  90. #endif
  91. #ifdef NODE_OPACITY
  92. outColor.a = NODE_OPACITY;
  93. #endif
  94. }`
  95. }
  96. };
  97. export default ShaderLib;