Set point size in vertex shader for WebGL compatibility;

This commit is contained in:
bjorn 2017-10-22 16:14:53 -07:00
parent 2efe619317
commit cc651e7b4e
2 changed files with 6 additions and 3 deletions

View File

@ -118,6 +118,9 @@ void lovrGraphicsPrepare() {
float color[4] = { state.color.r / 255., state.color.g / 255., state.color.b / 255., state.color.a / 255. };
lovrShaderSetFloat(shader, "lovrColor", color, 4);
// Point size
lovrShaderSetFloat(shader, "lovrPointSize", &state.pointSize, 1);
// Material
Material* material = lovrGraphicsGetMaterial();
@ -182,6 +185,7 @@ void lovrGraphicsCreateWindow(int w, int h, int fullscreen, int msaa, const char
gladLoadGLLoader((GLADloadproc) glfwGetProcAddress);
glfwSwapInterval(0);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_PROGRAM_POINT_SIZE);
#endif
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@ -400,10 +404,7 @@ float lovrGraphicsGetPointSize() {
}
void lovrGraphicsSetPointSize(float size) {
#ifndef EMSCRIPTEN
state.pointSize = size;
glPointSize(size);
#endif
}
Shader* lovrGraphicsGetShader() {

View File

@ -25,6 +25,7 @@ const char* lovrShaderVertexPrefix = ""
"uniform mat4 lovrProjection; \n"
"uniform mat4 lovrTransform; \n"
"uniform mat3 lovrNormalMatrix; \n"
"uniform float lovrPointSize; \n"
"#line 0 \n";
const char* lovrShaderFragmentPrefix = ""
@ -46,6 +47,7 @@ const char* lovrShaderFragmentPrefix = ""
const char* lovrShaderVertexSuffix = ""
"void main() { \n"
" texCoord = lovrTexCoord; \n"
" gl_PointSize = lovrPointSize; \n"
" gl_Position = position(lovrProjection, lovrTransform, vec4(lovrPosition, 1.0)); \n"
"}";