From: Clyne Sullivan Date: Tue, 3 Nov 2015 13:47:35 +0000 (-0500) Subject: ui improvements X-Git-Url: https://code.bitgloo.com/?a=commitdiff_plain;h=6b7dd6a9c031fd2129676500bc8e8633d3fcf234;p=clyne%2Fgamedev.git ui improvements --- 6b7dd6a9c031fd2129676500bc8e8633d3fcf234 diff --cc main.cpp index dee78c7,b09b926..a49873c --- a/main.cpp +++ b/main.cpp @@@ -759,25 -734,97 +759,95 @@@ void render() currentWorld->draw(player); - #ifdef SHADERS + /* + * Apply shaders if desired. + */ + #ifdef SHADERS - glUseProgramObjectARB(shaderProgram); glUniform2f(glGetUniformLocation(shaderProgram, "lightLocation"), 640,100); glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 1,1,1); glUniform1f(glGetUniformLocation(shaderProgram, "lightStrength"), 100 + (1000-(shade*10))); std::cout << 100 + (1000-(shade*10)) << std::endl; - //glBlendFunc(GL_ONE, GL_ONE); - glColor4ub(0,0,0,200); glRectf(offset.x-SCREEN_WIDTH/2,0,offset.x+SCREEN_WIDTH/2,SCREEN_HEIGHT); - glUseProgramObjectARB(0); - - #endif //SHADERS - + - #define pi 3.14 ++ #define pi 3.1415926535 + #define raysNOPE + + #ifdef rays + //LIGHT + static vec2 light; + float lightStr = 100; + vec2 curCoord; + light.x = player->loc.x; + light.y = player->loc.y; + std::vectorray(30); + unsigned int a = 0; + int angle = 0; + glColor3f(0.0f, 0.0f, 0.0f); + for(auto &r : ray){ + r.start = light; + angle = 12*a; + for(int l = 0;l 0 && angle < 90){ + curCoord.x = r.start.x + float(HLINE / cos(angle*pi/180)); + curCoord.y = r.start.y + float(HLINE / sin(angle*pi/180)); + } + if(angle > 90 && angle < 180){ + curCoord.x = r.start.x - float(HLINE / cos((90-angle)*pi/180)); + curCoord.y = r.start.y + float(HLINE / sin((90-angle)*pi/180)); + } + if(angle > 180 && angle < 270){ + curCoord.x = r.start.x - float(HLINE / cos((270-angle)*pi/180)); + curCoord.y = r.start.y - float(HLINE / sin((270-angle)*pi/180)); + } + if(angle > 270 && angle < 360){ + curCoord.x = r.start.x + float(HLINE / cos((360-angle)*pi/180)); + curCoord.y = r.start.y - float(HLINE / sin((360-angle)*pi/180)); + } + }//end swtich + /*for(auto &en : entity){ + if(curCoord.x > en->loc.x && curCoord.x < en->loc.x + en->width){ + if(curCoord.y > en->loc.y && curCoord .y < en->loc.y + en->height){ + r.end = curCoord; + } + } + }*/ + + }//end length + r.end = curCoord; + glBegin(GL_LINES); + glVertex2f(r.start.x,r.start.y); + glVertex2f(r.end.x, r.end.y); + glEnd(); + //std::cout << angle << "\n"; + a++; + } + #endif //rays + + + //LIGHT player->inv->draw(); - /* * Draw UI elements. This includes the player's health bar and the dialog box. */