Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2147b74e86 | ||
|
|
2acbd0c10f | ||
|
|
fe718a4658 | ||
|
|
aed54bd694 | ||
|
|
433983e4ff | ||
|
|
866fabdf45 |
Binary file not shown.
|
Before Width: | Height: | Size: 768 KiB After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 108 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 876 KiB After Width: | Height: | Size: 106 KiB |
Binary file not shown.
@@ -44,8 +44,8 @@ GLuint LoadTexture(char *filename,int *textw,int *texth) {
|
||||
// this reads from the sdl surface and puts it into an opengl texture
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, mode, surface->w, surface->h, 0, mode, GL_UNSIGNED_BYTE, surface->pixels);
|
||||
// these affect how this texture is drawn later on...glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE);
|
||||
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
// clean up
|
||||
@@ -67,7 +67,7 @@ void DrawTexture(int x, int y, GLuint textureid,int textw,int texth) {
|
||||
glTexCoord2d(1.0,1.0); glVertex2f(1, 1);
|
||||
glTexCoord2d(0.0,1.0); glVertex2f(-1, 1);
|
||||
glEnd();
|
||||
glDisable(GL_TEXTURE_2D );
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
GLuint LoadShaders(const char * vertex_file_path,const char * fragment_file_path){
|
||||
@@ -169,10 +169,6 @@ GLuint LoadShaders(const char * vertex_file_path,const char * fragment_file_path
|
||||
int main(int argc, char* args[]) {
|
||||
GLFWwindow* window;
|
||||
GLuint tex_jpe;
|
||||
GLuint tex_jpg;
|
||||
GLuint tex_gif;
|
||||
GLuint tex_png;
|
||||
GLuint tex_bmp;
|
||||
int textw, texth;
|
||||
int timer = 0;
|
||||
|
||||
@@ -213,13 +209,62 @@ int main(int argc, char* args[]) {
|
||||
}
|
||||
// INIT
|
||||
|
||||
tex_jpe=LoadTexture("../img/tests/test.jpeg",&textw,&texth);
|
||||
tex_jpg=LoadTexture("../img/tests/test.jpg",&textw,&texth);
|
||||
tex_png=LoadTexture("../img/tests/test.png",&textw,&texth);
|
||||
tex_bmp=LoadTexture("../img/tests/test.bmp",&textw,&texth);
|
||||
|
||||
GLuint VertexArrayID;
|
||||
glGenVertexArrays(1, &VertexArrayID);
|
||||
glBindVertexArray(VertexArrayID);
|
||||
// An array of 3 vectors which represents 3 vertices
|
||||
static const GLfloat g_vertex_buffer_data[] = {
|
||||
-1.0f, -1.0f, 0.0f, // (bottom - left ) TRIANGLE 1
|
||||
1.0f, -1.0f, 0.0f, // (bottom - right)
|
||||
-1.0f, 1.0f, 0.0f, // (top - left )
|
||||
1.0f, 1.0f, 0.0f, // (top - right) TRIANGLE 2
|
||||
1.0f, -1.0f, 0.0f, // (bottom - right)
|
||||
-1.0f, 1.0f, 0.0f, // (top - left )
|
||||
};
|
||||
// One color for each vertex. They were generated randomly.
|
||||
static const GLfloat g_uv_buffer_data[] = {
|
||||
0.0f, 1.0f-0.0f, // (bottom - left ) TRIANGLE 1
|
||||
1.0f, 1.0f-0.0f, // (bottom - right)
|
||||
0.0f, 1.0f-1.0f, // (top - left )
|
||||
1.0f, 1.0f-1.0f, // (top - right) TRIANGLE 2
|
||||
1.0f, 1.0f-0.0f, // (bottom - right)
|
||||
0.0f, 1.0f-1.0f, // (top - left )
|
||||
};
|
||||
|
||||
|
||||
// Identify our vertex buffer
|
||||
GLuint vertexbuffer;
|
||||
glGenBuffers(1, &vertexbuffer);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
|
||||
glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW);
|
||||
|
||||
// Identify our color buffer
|
||||
GLuint colorbuffer;
|
||||
glGenBuffers(1, &colorbuffer);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, colorbuffer);
|
||||
glBufferData(GL_ARRAY_BUFFER, sizeof(g_uv_buffer_data), g_uv_buffer_data, GL_STATIC_DRAW);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
tex_jpe=LoadTexture("../img/tests/test.png",&textw,&texth);
|
||||
|
||||
GLuint programID = LoadShaders("trimap.vertexshader", "trimap.fragmentshader");
|
||||
printf("%d", programID);
|
||||
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);
|
||||
printf("heigthLocation: %d\n", heigthLocation);
|
||||
printf("Width: %f\n", 1.0f/textw);
|
||||
printf("Height: %f\n", 1.0f/texth);
|
||||
|
||||
|
||||
|
||||
// INIT END
|
||||
/* Loop until the user closes the window */
|
||||
@@ -229,17 +274,39 @@ int main(int argc, char* args[]) {
|
||||
timer = 0;
|
||||
/* Render here */
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glUseProgram(programID);
|
||||
|
||||
// RENDER
|
||||
if (timer<200)
|
||||
DrawTexture(50,50,tex_jpe,textw,texth);
|
||||
else if (timer<400)
|
||||
DrawTexture(50,50,tex_jpg,textw,texth);
|
||||
else if (timer<600)
|
||||
DrawTexture(50,50,tex_png,textw,texth);
|
||||
else
|
||||
DrawTexture(50,50,tex_bmp,textw,texth);
|
||||
glUseProgram(programID);
|
||||
glUniform1f(widthLocation, 1.0f/textw);
|
||||
glUniform1f(heigthLocation, 1.0f/texth);
|
||||
// 1rst attribute buffer : vertices
|
||||
glEnableVertexAttribArray(0);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
|
||||
glVertexAttribPointer(
|
||||
0, // attribute 0. No particular reason for 0, but must match the layout in the shader.
|
||||
3, // size
|
||||
GL_FLOAT, // type
|
||||
GL_FALSE, // normalized?
|
||||
0, // stride
|
||||
(void*)0 // array buffer offset
|
||||
);
|
||||
// 2nd attribute buffer : colors
|
||||
glEnableVertexAttribArray(1);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, colorbuffer);
|
||||
glVertexAttribPointer(
|
||||
1, // attribute. No particular reason for 1, but must match the layout in the shader.
|
||||
2, // size
|
||||
GL_FLOAT, // type
|
||||
GL_FALSE, // normalized?
|
||||
0, // stride
|
||||
(void*)0 // array buffer offset
|
||||
);
|
||||
|
||||
|
||||
// Draw the triangle !
|
||||
glDrawArrays(GL_TRIANGLES, 0, 2*3); // 2*3 indices starting at 0 -> 2 triangles -> 1 square
|
||||
glDisableVertexAttribArray(0);
|
||||
|
||||
|
||||
|
||||
// RENDER END
|
||||
/* Swap front and back buffers */
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
1385320478 source:d:\owncloud\documents\programmierung\cpp\opengl-test-two\main.cpp
|
||||
<iostream>
|
||||
|
||||
1473007864 source:d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\main.cpp
|
||||
1473106263 source:d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\main.cpp
|
||||
<GL/glew.h>
|
||||
<GLFW/glfw3.h>
|
||||
<SDL2/SDL.h>
|
||||
@@ -13,7 +13,7 @@
|
||||
<vector>
|
||||
<stdexcept>
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\glfw\glfw3.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\glfw\glfw3.h
|
||||
<stddef.h>
|
||||
<stdint.h>
|
||||
<OpenGL/gl3.h>
|
||||
@@ -34,7 +34,7 @@
|
||||
<GL/glext.h>
|
||||
<GL/glu.h>
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_main.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_stdinc.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_stdinc.h
|
||||
"SDL_config.h"
|
||||
<sys/types.h>
|
||||
<stdio.h>
|
||||
@@ -99,34 +99,34 @@
|
||||
<stdlib.h>
|
||||
"close_code.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_config.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_config.h
|
||||
"SDL_platform.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_platform.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_platform.h
|
||||
"AvailabilityMacros.h"
|
||||
"TargetConditionals.h"
|
||||
<winapifamily.h>
|
||||
"begin_code.h"
|
||||
"close_code.h"
|
||||
|
||||
1472737758 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\begin_code.h
|
||||
|
||||
1472737758 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\close_code.h
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_assert.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_assert.h
|
||||
"SDL_config.h"
|
||||
"begin_code.h"
|
||||
<signal.h>
|
||||
"close_code.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_atomic.h
|
||||
1473011642 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"
|
||||
<mbarrier.h>
|
||||
"close_code.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_audio.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_error.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_endian.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_endian.h
|
||||
"SDL_stdinc.h"
|
||||
<endian.h>
|
||||
"begin_code.h"
|
||||
"close_code.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_mutex.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_thread.h
|
||||
1473011642 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 @@
|
||||
<process.h>
|
||||
"close_code.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_rwops.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_clipboard.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_cpuinfo.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_cpuinfo.h
|
||||
"SDL_stdinc.h"
|
||||
<intrin.h>
|
||||
<intrin.h>
|
||||
@@ -185,7 +185,7 @@
|
||||
"begin_code.h"
|
||||
"close_code.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_events.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_video.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_pixels.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_rect.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_surface.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_blendmode.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_blendmode.h
|
||||
"begin_code.h"
|
||||
"close_code.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_keyboard.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_keycode.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_keycode.h
|
||||
"SDL_stdinc.h"
|
||||
"SDL_scancode.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_scancode.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_scancode.h
|
||||
"SDL_stdinc.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_mouse.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_joystick.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_gamecontroller.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_quit.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_quit.h
|
||||
"SDL_stdinc.h"
|
||||
"SDL_error.h"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_gesture.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_touch.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_filesystem.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_haptic.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_hints.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_loadso.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_log.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_messagebox.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_power.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_render.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_system.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_timer.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_version.h
|
||||
1473011642 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"
|
||||
|
||||
1472737758 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\sdl2\sdl_image.h
|
||||
1473011642 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"
|
||||
|
||||
1472927170 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\gl\glew.h
|
||||
1473011642 d:\owncloud\documents\programmierung\cpp\imanox-chroma-matting\opengl-test-two\include\gl\glew.h
|
||||
<stddef.h>
|
||||
<inttypes.h>
|
||||
<stdint.h>
|
||||
|
||||
@@ -1,8 +1,78 @@
|
||||
|
||||
#version 330 core
|
||||
|
||||
out vec4 color;
|
||||
// Interpolated values from the vertex shaders
|
||||
in vec2 UV;
|
||||
|
||||
// Ouput data
|
||||
out vec3 color;
|
||||
|
||||
// Values that stay constant for the whole mesh.
|
||||
uniform sampler2D myTextureSampler;
|
||||
//uniform float pixWidth;
|
||||
//uniform float pixHeight;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int IS_BACKGROUND = 0;
|
||||
int IS_UNDEFINED = 1;
|
||||
int IS_FOREGROUND = 2;
|
||||
int UNSET = -1;
|
||||
|
||||
|
||||
vec3 getColor(vec2 uvCoord) {
|
||||
return texture(myTextureSampler, uvCoord).rgb;
|
||||
}
|
||||
|
||||
bool isBackground(vec3 c) {
|
||||
// 49,206, 11
|
||||
if (all( lessThanEqual(c, vec3(51.0f/255.0f, 208.0f/255.0f, 13.0f/255.0f))) &&
|
||||
all(greaterThanEqual(c, vec3(47.0f/255.0f, 204.0f/255.0f, 9.0f/255.0f)))
|
||||
) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void main(){
|
||||
color = vec3(0.5,0,0);
|
||||
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)))) {
|
||||
status = IS_BACKGROUND;
|
||||
} else {
|
||||
status = IS_FOREGROUND;
|
||||
}
|
||||
} else { // other pixels
|
||||
if (isBackground(getColor(UV+vec2(pixWidth*w,pixHeight*h)))) {
|
||||
if (status != IS_BACKGROUND) {
|
||||
status = IS_UNDEFINED;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (status != IS_FOREGROUND) {
|
||||
status = IS_UNDEFINED;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (status == IS_BACKGROUND) {
|
||||
color = vec3(1.0f, 0.0f, 0.0f);
|
||||
} else if (status == IS_FOREGROUND) {
|
||||
color = vec3(0.0f, 1.0f, 0.0f);
|
||||
} else {
|
||||
color = vec3(0.0f, 0.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
#version 330 core
|
||||
|
||||
// Input vertex data, different for all executions of this shader.
|
||||
layout(location = 0) in vec3 vertexPosition_modelspace;
|
||||
layout(location = 1) in vec2 vertexUV;
|
||||
|
||||
// Output data ; will be interpolated for each fragment.
|
||||
out vec2 UV;
|
||||
|
||||
void main(){
|
||||
gl_Position.xyz = vertexPosition_modelspace;
|
||||
gl_Position.w = 1.0;
|
||||
// Output position of the vertex, in clip space : MVP * position
|
||||
gl_Position = vec4(vertexPosition_modelspace, 1);
|
||||
|
||||
// UV of the vertex. No special space for this one.
|
||||
UV = vertexUV;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user