aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/lightTest/Makefile6
-rw-r--r--assets/lightTest/main.cp0
-rw-r--r--assets/lightTest/main.cpp67
-rw-r--r--include/common.h1
-rw-r--r--main.cpp19
-rw-r--r--shader.frag11
6 files changed, 100 insertions, 4 deletions
diff --git a/assets/lightTest/Makefile b/assets/lightTest/Makefile
new file mode 100644
index 0000000..c4d1042
--- /dev/null
+++ b/assets/lightTest/Makefile
@@ -0,0 +1,6 @@
+LIBS = -lGL -lGLEW -lSDL2main -lSDL2 -lfreetype -lSDL2_image -lSDL2_mixer
+
+FLAGS = -m32 -std=c++11 -Iinclude -Iinclude/freetype2
+
+all:
+ @g++ $(FLAGS) -o main main.cpp $(LIBS) \ No newline at end of file
diff --git a/assets/lightTest/main.cp b/assets/lightTest/main.cp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/assets/lightTest/main.cp
diff --git a/assets/lightTest/main.cpp b/assets/lightTest/main.cpp
new file mode 100644
index 0000000..4091389
--- /dev/null
+++ b/assets/lightTest/main.cpp
@@ -0,0 +1,67 @@
+#include <GL/glew.h>
+
+#include <SDL2/SDL.h>
+#include <SDL2/SDL_opengl.h>
+#include <SDL2/SDL_image.h>
+#include <SDL2/SDL_mixer.h>
+#include <iostream>
+
+#define SCREEN_WIDTH 1280
+#define SCREEN_HEIGHT 720
+
+SDL_Window* window;
+SDL_GLContext mainGLContext = NULL;
+
+int main(void){
+ if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0){
+ std::cout << "SDL was not able to initialize! Error: " << SDL_GetError() << std::endl;
+ return -1;
+ }
+ // Run SDL_Quit when main returns
+ atexit(SDL_Quit);
+
+ window = SDL_CreateWindow("Ass",
+ SDL_WINDOWPOS_UNDEFINED, // Spawn the window at random (undefined) x and y coordinates
+ SDL_WINDOWPOS_UNDEFINED, //
+ SCREEN_WIDTH,
+ SCREEN_HEIGHT,
+ SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL
+#ifdef FULLSCREEN
+ | SDL_WINDOW_FULLSCREEN
+#endif // FULLSCREEN
+ );
+
+ if(window==NULL){
+ std::cout << "The window failed to generate! SDL_Error: " << SDL_GetError() << std::endl;
+ return -1;
+ }
+
+ if((mainGLContext = SDL_GL_CreateContext(window)) == NULL){
+ std::cout << "The OpenGL context failed to initialize! SDL_Error: " << SDL_GetError() << std::endl;
+ return -1;
+ }
+
+
+ GLenum err;
+ glewExperimental = GL_TRUE;
+ if((err=glewInit()) != GLEW_OK){
+ std::cout << "GLEW was not able to initialize! Error: " << glewGetErrorString(err) << std::endl;
+ return -1;
+ }
+
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
+
+ glViewport(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
+
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+
+ bool gameRunning = true;
+ while(gameRunning){
+
+ }
+ SDL_GL_DeleteContext(mainGLContext);
+ SDL_DestroyWindow(window);
+ return 0;
+} \ No newline at end of file
diff --git a/include/common.h b/include/common.h
index 25d5abf..b0ffec7 100644
--- a/include/common.h
+++ b/include/common.h
@@ -24,6 +24,7 @@
#include <string>
#include <fstream>
+
#ifdef __WIN32__
typedef unsigned int uint;
#undef near
diff --git a/main.cpp b/main.cpp
index bea3fd3..e0d195f 100644
--- a/main.cpp
+++ b/main.cpp
@@ -215,7 +215,7 @@ typedef enum {
RAIN
} WEATHER;
-#define DAY_CYCLE 10000
+#define DAY_CYCLE 3000
static WEATHER weather = SUNNY;
static vec2 star[100];
@@ -369,7 +369,7 @@ int main(int argc, char *argv[]){
fragShader = glCreateShader(GL_FRAGMENT_SHADER);
- std::string shaderFileContents = readFile("test.frag");
+ std::string shaderFileContents = readFile("shader.frag");
const GLchar *shaderSource = shaderFileContents.c_str();
GLint bufferln = GL_FALSE;
@@ -742,6 +742,21 @@ void render(){
currentWorld->draw(player);
#ifdef SHADERS
+<<<<<<< Updated upstream
+ 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);
+ #endif //SHADERS
+
+ glColor4ub(0,0,0,200);
+ glRectf(offset.x-SCREEN_WIDTH/2,0,offset.x+SCREEN_WIDTH/2,SCREEN_HEIGHT);
+
+ #ifdef SHADERS
+=======
+>>>>>>> Stashed changes
glUseProgramObjectARB(0);
#endif //SHADERS
diff --git a/shader.frag b/shader.frag
index 83c8bdc..6f90a5f 100644
--- a/shader.frag
+++ b/shader.frag
@@ -2,12 +2,19 @@
uniform vec2 lightLocation;
uniform vec3 lightColor;
+uniform float lightStrength;
uniform float screenHeight;
+uniform vec2 rayStart;
+uniform vec2 rayEnd;
+
+uniform sampler2D tex;
+uniform vec2 resolution;
+
void main(){
float distance = length(lightLocation - gl_FragCoord.xy);
- float attenuation = 3.0 / distance;
- vec4 color = vec4(attenuation, attenuation, attenuation, pow(attenuation, 3)) * vec4(lightColor, 1);
+ float attenuation = lightStrength / distance;
+ vec4 color = vec4(0, 0, 0, 0.8f - pow(attenuation, 3)) * vec4(lightColor, 1);
gl_FragColor = color;
} \ No newline at end of file