pointSpriteVS.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //this file is autogenerated using stringify.bat (premake --stringify) in the build folder of this project
  2. static const char* pointSpriteVertexShader= \
  3. "#version 330\n"
  4. "precision highp float;\n"
  5. "layout (location = 0) in vec4 position;\n"
  6. "layout (location = 1) in vec4 instance_position;\n"
  7. "layout (location = 3) in vec2 uvcoords;\n"
  8. "layout (location = 4) in vec3 vertexnormal;\n"
  9. "layout (location = 5) in vec4 instance_color;\n"
  10. "layout (location = 6) in vec3 instance_scale;\n"
  11. "uniform float screenWidth = 700.f;\n"
  12. "uniform mat4 ModelViewMatrix;\n"
  13. "uniform mat4 ProjectionMatrix;\n"
  14. "out Fragment\n"
  15. "{\n"
  16. " vec4 color;\n"
  17. "} fragment;\n"
  18. "//\n"
  19. "// vector rotation via quaternion\n"
  20. "//\n"
  21. "out vec3 ambient;\n"
  22. "void main(void)\n"
  23. "{\n"
  24. " ambient = vec3(0.3,.3,0.3);\n"
  25. " \n"
  26. " \n"
  27. " vec4 axis = vec4(1,1,1,0);\n"
  28. " vec4 vertexPos = ProjectionMatrix * ModelViewMatrix *(instance_position);\n"
  29. " vec3 posEye = vec3(ModelViewMatrix * vec4(instance_position.xyz, 1.0));\n"
  30. " float dist = length(posEye);\n"
  31. " float pointRadius = 1.f;\n"
  32. " gl_PointSize = instance_scale.x * pointRadius * (screenWidth / dist);\n"
  33. " gl_Position = vertexPos;\n"
  34. " \n"
  35. " fragment.color = instance_color;\n"
  36. "}\n"
  37. ;