diff --git a/.gitignore b/.gitignore
index 35fc333..8cc0d2a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,10 +46,10 @@
*.lo
# Shared objects (inc. Windows DLLs)
-*.dll
-*.so
-*.so.*
-*.dylib
+#*.dll
+#*.so
+#*.so.*
+#*.dylib
# Executables
*.exe
@@ -62,3 +62,6 @@
# Debug files
*.dSYM/
+
+# CodeBlocks-Layout
+*.layout
diff --git a/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.cbp b/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.cbp
deleted file mode 100644
index 56d6c8f..0000000
--- a/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.cbp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.depend b/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.depend
deleted file mode 100644
index af8f84e..0000000
--- a/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.depend
+++ /dev/null
@@ -1,12 +0,0 @@
-# depslib dependency file v1.0
-1472543008 source:c:\users\sebastian\documents\git-repos\imanox-chroma-matting\imanox-chroma-matting-opengl\main.c
-
-
-
-1472553612 source:c:\users\sebastian\documents\git-repos\imanox-chroma-matting\imanox-chroma-matting-opengl\main.cpp
-
-
-
-
-
-
diff --git a/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.layout b/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.layout
deleted file mode 100644
index f7595bc..0000000
--- a/imanox-chroma-matting-opengl/imanox-chroma-matting-opengl.layout
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/imanox-chroma-matting-opengl/main.cpp b/imanox-chroma-matting-opengl/main.cpp
deleted file mode 100644
index ef20d38..0000000
--- a/imanox-chroma-matting-opengl/main.cpp
+++ /dev/null
@@ -1,301 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-#include
-
-using namespace std;
-
-LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);
-void EnableOpenGL(HWND hwnd, HDC*, HGLRC*);
-void DisableOpenGL(HWND, HDC, HGLRC);
-
-
-int * loadJpg(const char* Name) {
- unsigned char a, r, g, b;
- int width, height;
- struct jpeg_decompress_struct cinfo;
- struct jpeg_error_mgr jerr;
-
- FILE * infile; /* source file */
- JSAMPARRAY pJpegBuffer; /* Output row buffer */
- int row_stride; /* physical row width in output buffer */
- if ((infile = fopen(Name, "rb")) == NULL) {
- fprintf(stderr, "can't open %s\n", Name);
- return 0;
- }
- cinfo.err = jpeg_std_error(&jerr);
- jpeg_create_decompress(&cinfo);
- jpeg_stdio_src(&cinfo, infile);
- (void) jpeg_read_header(&cinfo, TRUE);
- (void) jpeg_start_decompress(&cinfo);
- width = cinfo.output_width;
- height = cinfo.output_height;
-
- unsigned char * pDummy = new unsigned char [width*height*4];
- unsigned char * pTest = pDummy;
- if (!pDummy) {
- printf("NO MEM FOR JPEG CONVERT!\n");
- return 0;
- }
- row_stride = width * cinfo.output_components;
- pJpegBuffer = (*cinfo.mem->alloc_sarray)
- ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1);
-
- while (cinfo.output_scanline < cinfo.output_height) {
- (void) jpeg_read_scanlines(&cinfo, pJpegBuffer, 1);
- for (int x = 0; x < width; x++) {
- a = 0; // alpha value is not supported on jpg
- r = pJpegBuffer[0][cinfo.output_components * x];
- if (cinfo.output_components > 2) {
- g = pJpegBuffer[0][cinfo.output_components * x + 1];
- b = pJpegBuffer[0][cinfo.output_components * x + 2];
- } else {
- g = r;
- b = r;
- }
- *(pDummy++) = b;
- *(pDummy++) = g;
- *(pDummy++) = r;
- *(pDummy++) = a;
- }
- }
- fclose(infile);
- (void) jpeg_finish_decompress(&cinfo);
- jpeg_destroy_decompress(&cinfo);
-
- /*BMap = (int*)pTest;
- Height = height;
- Width = width;
- Depth = 32;*/
- int * pJetze = (int*)pTest;
- cout << width << endl;
- return pJetze;
-}
-
-int WINAPI WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
-{
- WNDCLASSEX wcex;
- HWND hwnd;
- HDC hDC;
- HGLRC hRC;
- MSG msg;
- BOOL bQuit = FALSE;
- float theta = 0.0f;
-
- /* register window class */
- wcex.cbSize = sizeof(WNDCLASSEX);
- wcex.style = CS_OWNDC;
- wcex.lpfnWndProc = WindowProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = 0;
- wcex.hInstance = hInstance;
- wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
- wcex.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
- wcex.lpszMenuName = NULL;
- wcex.lpszClassName = "GLSample";
- wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);;
-
-
- int * pJetze = loadJpg("../img/foregrounds/2.jpeg");
- cout << pJetze[0] << endl;
- cout << pJetze[1] << endl;
- cout << pJetze[2] << endl;
- cout << pJetze[3] << endl;
- cout << "Hello world!" << endl;
- //glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 10, 10, 0, GL_RGBA8, GL_UNSIGNED_INT, pJetze);
-
-
- if (!RegisterClassEx(&wcex))
- return 0;
-
- /* create main window */
- hwnd = CreateWindowEx(0,
- "GLSample",
- "OpenGL Sample",
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- 256,
- 256,
- NULL,
- NULL,
- hInstance,
- NULL);
-
- ShowWindow(hwnd, nCmdShow);
-
- /* enable OpenGL for the window */
- EnableOpenGL(hwnd, &hDC, &hRC);
-
- /* program main loop */
- bool first = true;
- while (!bQuit)
- {
- /* check for messages */
- if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
- /* handle or dispatch messages */
- if (msg.message == WM_QUIT)
- {
- bQuit = TRUE;
- }
- else
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- else
- {
- if (first) {
- first = false;
-
-
- GLuint textureid;
- glGenTextures(1, &textureid);
- glBindTexture(GL_TEXTURE_2D, textureid);
- // Black/white checkerboard
- float pixels[] = {
- 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f,
- 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f
- };
- //glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 2, 2, 0, GL_RGB, GL_FLOAT, pixels);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 10, 10, 0, GL_RGBA8, GL_UNSIGNED_BYTE, pJetze);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
-
- glBindTexture(GL_TEXTURE_2D, textureid);
- glBegin(GL_TRIANGLES);
-
- glTexCoord2f(0, 0); glVertex3f( -2, 0, -2 );
- glTexCoord2f(2, 0); glVertex3f( 2, 0, -2 );
- glTexCoord2f(0, 2); glVertex3f( -2, 2, -2 );
-
- glEnd();
- SwapBuffers(hDC);
-
- }
- /* OpenGL animation code goes here */
-
- //glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
- //glClear(GL_COLOR_BUFFER_BIT);
-
- /*glBindTexture(GL_TEXTURE_2D, *pJetze);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 10, 10, 0, GL_RGBA8, GL_UNSIGNED_BYTE, &pJetze);
-
- GLuint textures;
- glGenTextures(1, &textures);
- int width, height;
- unsigned char* image;
-
- //glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, textures);
- //image = SOIL_load_image("sample.png", &width, &height, 0, SOIL_LOAD_RGB);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 10, 10, 0, GL_RGBA8,
- GL_UNSIGNED_BYTE, pJetze);
- //SOIL_free_image_data(image);
- //glUniform1i(glGetUniformLocation(shaderProgram, "texKitten"), 0);
-
- glPushMatrix();
- glRotatef(theta, 0.0f, 0.0f, 1.0f);
-
- glBegin(GL_TRIANGLES);
-
- glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 1.0f);
- glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.87f, -0.5f);
- glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(-0.87f, -0.5f);
-
- glEnd();
-
- glPopMatrix();
-
- SwapBuffers(hDC);
-
- theta += 1.0f;
-
- Sleep (1);\**/
- }
- }
-
- /* shutdown OpenGL */
- DisableOpenGL(hwnd, hDC, hRC);
-
- /* destroy the window explicitly */
- DestroyWindow(hwnd);
-
- return msg.wParam;
-}
-
-LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch (uMsg)
- {
- case WM_CLOSE:
- PostQuitMessage(0);
- break;
-
- case WM_DESTROY:
- return 0;
-
- case WM_KEYDOWN:
- {
- switch (wParam)
- {
- case VK_ESCAPE:
- PostQuitMessage(0);
- break;
- }
- }
- break;
-
- default:
- return DefWindowProc(hwnd, uMsg, wParam, lParam);
- }
-
- return 0;
-}
-
-void EnableOpenGL(HWND hwnd, HDC* hDC, HGLRC* hRC)
-{
- PIXELFORMATDESCRIPTOR pfd;
-
- int iFormat;
-
- /* get the device context (DC) */
- *hDC = GetDC(hwnd);
-
- /* set the pixel format for the DC */
- ZeroMemory(&pfd, sizeof(pfd));
-
- pfd.nSize = sizeof(pfd);
- pfd.nVersion = 1;
- pfd.dwFlags = PFD_DRAW_TO_WINDOW |
- PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
- pfd.iPixelType = PFD_TYPE_RGBA;
- pfd.cColorBits = 24;
- pfd.cDepthBits = 16;
- pfd.iLayerType = PFD_MAIN_PLANE;
-
- iFormat = ChoosePixelFormat(*hDC, &pfd);
-
- SetPixelFormat(*hDC, iFormat, &pfd);
-
- /* create and enable the render context (RC) */
- *hRC = wglCreateContext(*hDC);
-
- wglMakeCurrent(*hDC, *hRC);
-}
-
-void DisableOpenGL (HWND hwnd, HDC hDC, HGLRC hRC)
-{
- wglMakeCurrent(NULL, NULL);
- wglDeleteContext(hRC);
- ReleaseDC(hwnd, hDC);
-}
-
diff --git a/load-image-opengl/img/foregrounds/1.jpeg b/load-image-opengl/img/foregrounds/1.jpeg
deleted file mode 100644
index dfd4d14..0000000
Binary files a/load-image-opengl/img/foregrounds/1.jpeg and /dev/null differ
diff --git a/load-image-opengl/img/foregrounds/2.jpeg b/load-image-opengl/img/foregrounds/2.jpeg
deleted file mode 100644
index 770ed2b..0000000
Binary files a/load-image-opengl/img/foregrounds/2.jpeg and /dev/null differ
diff --git a/load-image-opengl/load-image-opengl.cbp b/load-image-opengl/load-image-opengl.cbp
deleted file mode 100644
index 41e3661..0000000
--- a/load-image-opengl/load-image-opengl.cbp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/load-image-opengl/load-image-opengl.depend b/load-image-opengl/load-image-opengl.depend
deleted file mode 100644
index ae08add..0000000
--- a/load-image-opengl/load-image-opengl.depend
+++ /dev/null
@@ -1,9 +0,0 @@
-# depslib dependency file v1.0
-1472655954 source:c:\users\sebastian\documents\git-repos\imanox-chroma-matting\load-image-opengl\main.cpp
-
-
-
-
-
-
-
diff --git a/load-image-opengl/main.cpp b/load-image-opengl/main.cpp
deleted file mode 100644
index 8331d79..0000000
--- a/load-image-opengl/main.cpp
+++ /dev/null
@@ -1,339 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-#include
-using namespace std;
-
-LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);
-void EnableOpenGL(HWND hwnd, HDC*, HGLRC*);
-void DisableOpenGL(HWND, HDC, HGLRC);
-GLuint LoadTexture(char *filename,int *textw,int *texth);
-void DrawTexture(int x, int y, GLuint textureid,int textw,int texth);
-int * loadJpg(const char* Name);
-
-
-int WINAPI WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
-{
- WNDCLASSEX wcex;
- HWND hwnd;
- HDC hDC;
- HGLRC hRC;
- MSG msg;
- BOOL bQuit = FALSE;
- float theta = 0.0f;
-
-
-
-
- /* register window class */
- wcex.cbSize = sizeof(WNDCLASSEX);
- wcex.style = CS_OWNDC;
- wcex.lpfnWndProc = WindowProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = 0;
- wcex.hInstance = hInstance;
- wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
- wcex.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
- wcex.lpszMenuName = NULL;
- wcex.lpszClassName = "GLSample";
- wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);;
-
-
- if (!RegisterClassEx(&wcex))
- return 0;
-
- /* create main window */
- hwnd = CreateWindowEx(0,
- "GLSample",
- "OpenGL Sample",
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- 256,
- 256,
- NULL,
- NULL,
- hInstance,
- NULL);
-
- ShowWindow(hwnd, nCmdShow);
-
- /* enable OpenGL for the window */
- EnableOpenGL(hwnd, &hDC, &hRC);
-
- /* program main loop */
- while (!bQuit)
- {
- /* check for messages */
- if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
- /* handle or dispatch messages */
- if (msg.message == WM_QUIT)
- {
- bQuit = TRUE;
- }
- else
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- else
- {
- /* OpenGL animation code goes here */
-
- /*glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glPushMatrix();
- glRotatef(theta, 0.0f, 0.0f, 1.0f);
-
- glBegin(GL_TRIANGLES);
-
- glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 1.0f);
- glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.87f, -0.5f);
- glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(-0.87f, -0.5f);
-
- glEnd();
-
- glPopMatrix();
-
- SwapBuffers(hDC);
-
- theta += 1.0f;*/
-
-
- GLuint myglu;
- int textw, texth;
-
- string tmp = "img/foregrounds/2.jpeg";
- char tab2[1024];
- strncpy(tab2, tmp.c_str(), sizeof(tab2));
- tab2[sizeof(tab2) - 1] = 0;
-
-
- myglu=LoadTexture(tab2,&textw,&texth);
- DrawTexture(100,100,myglu,textw,texth);
-
- SwapBuffers(hDC);
-
- Sleep (1);
- }
- }
-
- /* shutdown OpenGL */
- DisableOpenGL(hwnd, hDC, hRC);
-
- /* destroy the window explicitly */
- DestroyWindow(hwnd);
-
- return msg.wParam;
-}
-
-LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch (uMsg)
- {
- case WM_CLOSE:
- PostQuitMessage(0);
- break;
-
- case WM_DESTROY:
- return 0;
-
- case WM_KEYDOWN:
- {
- switch (wParam)
- {
- case VK_ESCAPE:
- PostQuitMessage(0);
- break;
- }
- }
- break;
-
- default:
- return DefWindowProc(hwnd, uMsg, wParam, lParam);
- }
-
- return 0;
-}
-
-void EnableOpenGL(HWND hwnd, HDC* hDC, HGLRC* hRC)
-{
- PIXELFORMATDESCRIPTOR pfd;
-
- int iFormat;
-
- /* get the device context (DC) */
- *hDC = GetDC(hwnd);
-
- /* set the pixel format for the DC */
- ZeroMemory(&pfd, sizeof(pfd));
-
- pfd.nSize = sizeof(pfd);
- pfd.nVersion = 1;
- pfd.dwFlags = PFD_DRAW_TO_WINDOW |
- PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
- pfd.iPixelType = PFD_TYPE_RGBA;
- pfd.cColorBits = 24;
- pfd.cDepthBits = 16;
- pfd.iLayerType = PFD_MAIN_PLANE;
-
- iFormat = ChoosePixelFormat(*hDC, &pfd);
-
- SetPixelFormat(*hDC, iFormat, &pfd);
-
- /* create and enable the render context (RC) */
- *hRC = wglCreateContext(*hDC);
-
- wglMakeCurrent(*hDC, *hRC);
-}
-
-void DisableOpenGL (HWND hwnd, HDC hDC, HGLRC hRC)
-{
- wglMakeCurrent(NULL, NULL);
- wglDeleteContext(hRC);
- ReleaseDC(hwnd, hDC);
-}
-
-
-
-
-
-
-
-
-
-
-GLuint LoadTexture(char *filename,int *textw,int *texth) {
-
- GLuint textureid;
- int mode = GL_RGBA;
-
- //surface = IMG_Load(filename);
-
- int * pixels = loadJpg(filename);
-
- *textw=10;
- *texth=10;
- // create one texture name
- glGenTextures(1, &textureid);
-
- // tell opengl to use the generated texture name
- glBindTexture(GL_TEXTURE_2D, textureid);
-
- // this reads from the sdl surface and puts it into an opengl texture
- glTexImage2D(GL_TEXTURE_2D, 0, mode, 10, 10, 0, mode, GL_UNSIGNED_BYTE, pixels);
-
- // these affect how this texture is drawn later on...
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
-
- return textureid;
-
-}
-
-
-
-void DrawTexture(int x, int y, GLuint textureid,int textw,int texth) {
-
- //int textw,texth;
- // tell opengl to use the generated texture name
- glBindTexture(GL_TEXTURE_2D, textureid);
- glEnable(GL_TEXTURE_2D);
-
- // make a rectangle
- glBegin(GL_QUADS);
-
- // top left
- glTexCoord2i(0, 0);
- glVertex3f(x, y, 0);
-
- // top right
- glTexCoord2i(1, 0);
- glVertex3f(x+textw, y, 0);
-
- // bottom right
- glTexCoord2i(1, 1);
- glVertex3f(x+textw, y+texth, 0);
-
- // bottom left
- glTexCoord2i(0, 1);
- glVertex3f(x, y+texth, 0);
-
- glEnd();
-
- glDisable(GL_TEXTURE_2D );
-}
-
-
-
-
-int * loadJpg(const char* Name) {
- unsigned char a, r, g, b;
- int width, height;
- struct jpeg_decompress_struct cinfo;
- struct jpeg_error_mgr jerr;
-
- FILE * infile; /* source file */
- JSAMPARRAY pJpegBuffer; /* Output row buffer */
- int row_stride; /* physical row width in output buffer */
- if ((infile = fopen(Name, "rb")) == NULL) {
- fprintf(stderr, "can't open %s\n", Name);
- return 0;
- }
- cinfo.err = jpeg_std_error(&jerr);
- jpeg_create_decompress(&cinfo);
- jpeg_stdio_src(&cinfo, infile);
- (void) jpeg_read_header(&cinfo, TRUE);
- (void) jpeg_start_decompress(&cinfo);
- width = cinfo.output_width;
- height = cinfo.output_height;
-
- unsigned char * pDummy = new unsigned char [width*height*4];
- unsigned char * pTest = pDummy;
- if (!pDummy) {
- printf("NO MEM FOR JPEG CONVERT!\n");
- return 0;
- }
- row_stride = width * cinfo.output_components;
- pJpegBuffer = (*cinfo.mem->alloc_sarray)
- ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1);
-
- while (cinfo.output_scanline < cinfo.output_height) {
- (void) jpeg_read_scanlines(&cinfo, pJpegBuffer, 1);
- for (int x = 0; x < width; x++) {
- a = 0; // alpha value is not supported on jpg
- r = pJpegBuffer[0][cinfo.output_components * x];
- if (cinfo.output_components > 2) {
- g = pJpegBuffer[0][cinfo.output_components * x + 1];
- b = pJpegBuffer[0][cinfo.output_components * x + 2];
- } else {
- g = r;
- b = r;
- }
- *(pDummy++) = b;
- *(pDummy++) = g;
- *(pDummy++) = r;
- *(pDummy++) = a;
- }
- }
- fclose(infile);
- (void) jpeg_finish_decompress(&cinfo);
- jpeg_destroy_decompress(&cinfo);
-
- /*BMap = (int*)pTest;
- Height = height;
- Width = width;
- Depth = 32;*/
- int * pJetze = (int*)pTest;
- cout << width << endl;
- return pJetze;
-}