diff --git a/opengl-test-two/bin/Debug/opengl-test-two.exe b/opengl-test-two/bin/Debug/opengl-test-two.exe index c259a5b..8603c2d 100644 Binary files a/opengl-test-two/bin/Debug/opengl-test-two.exe and b/opengl-test-two/bin/Debug/opengl-test-two.exe differ diff --git a/opengl-test-two/main.cpp b/opengl-test-two/main.cpp index 4125152..d884579 100644 --- a/opengl-test-two/main.cpp +++ b/opengl-test-two/main.cpp @@ -170,7 +170,6 @@ int main(int argc, char* args[]) { GLFWwindow* window; GLuint tex_jpe; int textw, texth; - int timer = 0; /* Initialize the library */ @@ -181,10 +180,11 @@ int main(int argc, char* args[]) { return 1; } /* Create a windowed mode window and its OpenGL context */ + glfwSetWindowSizeLimits(window, 640, 480, 640, 480); window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); - return -1; + return 1; } /* Make the window's context current */ glfwMakeContextCurrent(window); @@ -247,16 +247,16 @@ int main(int argc, char* args[]) { - - - - - tex_jpe=LoadTexture("../img/tests/test.png",&textw,&texth); + tex_jpe = LoadTexture("../img/tests/test.png",&textw,&texth); + glfwSetWindowSize (window, textw, texth); + glViewport(0, 0, textw, texth); + glfwSetWindowSizeLimits(window, textw, texth, textw, texth); GLuint programID = LoadShaders("trimap.vertexshader", "trimap.fragmentshader"); GLint textureLocation = glGetUniformLocation(programID, "myTextureSampler"); GLint widthLocation = glGetUniformLocation(programID, "pixWidth"); GLint heigthLocation = glGetUniformLocation(programID, "pixHeight"); + printf("Shader program ID: %d\n", programID); printf("textureLocation: %d\n", textureLocation); printf("widthLocation: %d\n", widthLocation); @@ -269,9 +269,6 @@ int main(int argc, char* args[]) { // INIT END /* Loop until the user closes the window */ while (!glfwWindowShouldClose(window)) { - timer += 1; - if (timer==800) - timer = 0; /* Render here */ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); diff --git a/opengl-test-two/opengl-test-two.depend b/opengl-test-two/opengl-test-two.depend index d81bcc1..ee465f0 100644 --- a/opengl-test-two/opengl-test-two.depend +++ b/opengl-test-two/opengl-test-two.depend @@ -2,7 +2,7 @@ 1385320478 source:d:\owncloud\documents\programmierung\cpp\opengl-test-two\main.cpp -1473106263 source:d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\main.cpp +1473145022 source:d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\main.cpp @@ -13,7 +13,7 @@ -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\glfw\glfw3.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\glfw\glfw3.h @@ -34,7 +34,7 @@ -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl.h "SDL_main.h" "SDL_stdinc.h" "SDL_assert.h" @@ -65,12 +65,12 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_main.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_main.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_stdinc.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_stdinc.h "SDL_config.h" @@ -99,34 +99,34 @@ "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_config.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_config.h "SDL_platform.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_platform.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_platform.h "AvailabilityMacros.h" "TargetConditionals.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\begin_code.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\begin_code.h -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\close_code.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\close_code.h -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_assert.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_assert.h "SDL_config.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_atomic.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_atomic.h "SDL_stdinc.h" "SDL_platform.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_audio.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_audio.h "SDL_stdinc.h" "SDL_error.h" "SDL_endian.h" @@ -136,24 +136,24 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_error.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_error.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_endian.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_endian.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_mutex.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_mutex.h "SDL_stdinc.h" "SDL_error.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_thread.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_thread.h "SDL_stdinc.h" "SDL_error.h" "SDL_atomic.h" @@ -162,18 +162,18 @@ "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_rwops.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_rwops.h "SDL_stdinc.h" "SDL_error.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_clipboard.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_clipboard.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_cpuinfo.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_cpuinfo.h "SDL_stdinc.h" @@ -185,7 +185,7 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_events.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_events.h "SDL_stdinc.h" "SDL_error.h" "SDL_video.h" @@ -199,7 +199,7 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_video.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_video.h "SDL_stdinc.h" "SDL_pixels.h" "SDL_rect.h" @@ -207,12 +207,12 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_pixels.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_pixels.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_rect.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_rect.h "SDL_stdinc.h" "SDL_error.h" "SDL_pixels.h" @@ -220,7 +220,7 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_surface.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_surface.h "SDL_stdinc.h" "SDL_pixels.h" "SDL_rect.h" @@ -229,11 +229,11 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_blendmode.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_blendmode.h "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_keyboard.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_keyboard.h "SDL_stdinc.h" "SDL_error.h" "SDL_keycode.h" @@ -241,27 +241,27 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_keycode.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_keycode.h "SDL_stdinc.h" "SDL_scancode.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_scancode.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_scancode.h "SDL_stdinc.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_mouse.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_mouse.h "SDL_stdinc.h" "SDL_error.h" "SDL_video.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_joystick.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_joystick.h "SDL_stdinc.h" "SDL_error.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_gamecontroller.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_gamecontroller.h "SDL_stdinc.h" "SDL_error.h" "SDL_rwops.h" @@ -269,11 +269,11 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_quit.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_quit.h "SDL_stdinc.h" "SDL_error.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_gesture.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_gesture.h "SDL_stdinc.h" "SDL_error.h" "SDL_video.h" @@ -281,60 +281,60 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_touch.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_touch.h "SDL_stdinc.h" "SDL_error.h" "SDL_video.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_filesystem.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_filesystem.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_haptic.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_haptic.h "SDL_stdinc.h" "SDL_error.h" "SDL_joystick.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_hints.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_hints.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_loadso.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_loadso.h "SDL_stdinc.h" "SDL_error.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_log.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_log.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_messagebox.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_messagebox.h "SDL_stdinc.h" "SDL_video.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_power.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_power.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_render.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_render.h "SDL_stdinc.h" "SDL_rect.h" "SDL_video.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_system.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_system.h "SDL_stdinc.h" "SDL_keyboard.h" "SDL_render.h" @@ -342,24 +342,24 @@ "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_timer.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_timer.h "SDL_stdinc.h" "SDL_error.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_version.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_version.h "SDL_stdinc.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_image.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_image.h "SDL.h" "SDL_version.h" "begin_code.h" "close_code.h" -1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\gl\glew.h +1473015242 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\gl\glew.h diff --git a/opengl-test-two/trimap.fragmentshader b/opengl-test-two/trimap.fragmentshader index a098a00..4811416 100644 --- a/opengl-test-two/trimap.fragmentshader +++ b/opengl-test-two/trimap.fragmentshader @@ -8,13 +8,13 @@ out vec3 color; // Values that stay constant for the whole mesh. uniform sampler2D myTextureSampler; -//uniform float pixWidth; -//uniform float pixHeight; - - - + +// Relative width/height of a pixel +uniform float pixWidth; +uniform float pixHeight; +// Pixel state int IS_BACKGROUND = 0; int IS_UNDEFINED = 1; int IS_FOREGROUND = 2; @@ -37,30 +37,27 @@ bool isBackground(vec3 c) { } void main(){ - float pixWidth = 0.001174f; - float pixHeight = 0.002083f; int status = UNSET; - float pw = pixWidth; - float ph = pixHeight; - // Output color = color of the texture at the specified UV for(int w=-5;w<=5;w++){ for(int h=-5;h<=5;h++){ if (w+h==-10) { // first pixel - if (isBackground(getColor(UV+vec2(pixWidth*w,pixHeight*h)))) { + if (isBackground(getColor(UV+vec2(pixWidth*w, pixHeight*h)))) { status = IS_BACKGROUND; } else { status = IS_FOREGROUND; } } else { // other pixels - if (isBackground(getColor(UV+vec2(pixWidth*w,pixHeight*h)))) { + if (isBackground(getColor(UV+vec2(pixWidth*w, pixHeight*h)))) { if (status != IS_BACKGROUND) { status = IS_UNDEFINED; + w=100000; break; } } else { if (status != IS_FOREGROUND) { status = IS_UNDEFINED; + w=100000; break; } }