diff options
author | drumsetmonkey <abelleisle@roadrunner.com> | 2016-01-10 23:04:50 -0500 |
---|---|---|
committer | drumsetmonkey <abelleisle@roadrunner.com> | 2016-01-10 23:04:50 -0500 |
commit | a2284d1c9be35744cb43a91148c82cff64be7a43 (patch) | |
tree | 0e83b237969d519b1233ab974d668245d2ca4b9e /src/world.cpp | |
parent | 75a5569ed0d44494da379822aa5de519e4a4025b (diff) | |
parent | 66c99350e63ab6b32ec7fcda45e2e6b8c9f658da (diff) |
Player Sprite
Diffstat (limited to 'src/world.cpp')
-rw-r--r-- | src/world.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/world.cpp b/src/world.cpp index fea0e3e..e66fb0d 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -669,7 +669,7 @@ LOOP2: glActiveTexture(GL_TEXTURE0); bgTex->bindNext(); - GLfloat pointArray[light.size()][2]; + GLfloat pointArray[light.size() + (int)p->light][2]; for(uint w = 0; w < light.size(); w++){ pointArray[w][0] = light[w].loc.x - offset.x; pointArray[w][1] = light[w].loc.y; @@ -680,15 +680,18 @@ LOOP2: glUniform1i(glGetUniformLocation(shaderProgram, "sampler"), 0); glUniform1f(glGetUniformLocation(shaderProgram, "amb"), float(shade+50.0f)/100.0f); if(p->light){ - glUniform1i(glGetUniformLocation(shaderProgram, "numLight"), 1); - glUniform2f(glGetUniformLocation(shaderProgram, "lightLocation"), p->loc.x - offset.x+SCREEN_WIDTH/2, p->loc.y); - glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 1.0f,1.0f,1.0f); - }else if(!light.size()){ + //glUniform1i(glGetUniformLocation(shaderProgram, "numLight"), 1); + //glUniform2f(glGetUniformLocation(shaderProgram, "lightLocation"), p->loc.x - offset.x+SCREEN_WIDTH/2, p->loc.y); + //glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 1.0f,1.0f,1.0f); + pointArray[light.size()+1][0] = (float)(p->loc.x + SCREEN_WIDTH/2); + pointArray[light.size()+1][1] = (float)(p->loc.y); + } + if(light.size()+(int)p->light == 0){ glUniform1i(glGetUniformLocation(shaderProgram, "numLight"), 0); }else{ - glUniform1i(glGetUniformLocation(shaderProgram, "numLight"), light.size()); - glUniform2fv(glGetUniformLocation(shaderProgram, "lightLocation"), light.size(), (GLfloat *)&pointArray); - glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 1.0f,1.0f,1.0f); + glUniform1i (glGetUniformLocation(shaderProgram, "numLight"), light.size()+(int)p->light); + glUniform2fv(glGetUniformLocation(shaderProgram, "lightLocation"), light.size()+(int)p->light, (GLfloat *)&pointArray); + glUniform3f (glGetUniformLocation(shaderProgram, "lightColor"), 1.0f,1.0f,1.0f); } glBegin(GL_QUADS); @@ -773,7 +776,6 @@ LOOP2: glUseProgram(0); glDisable(GL_TEXTURE_2D); - /* * Draw non-structure entities. */ |