From 05e41577fcefb2e76d635f70e451da7b2d883f74 Mon Sep 17 00:00:00 2001 From: Joshua Moerman Date: Mon, 28 Apr 2014 16:06:45 +0200 Subject: [PATCH] Uses git submodules, instead of installed libs --- .gitmodules | 9 +++++++++ CMakeLists.txt | 3 +++ contrib/CLWrapper | 1 + contrib/CMakeLists.txt | 4 ++++ contrib/ImageStreams | 1 + contrib/NSAppWrapper | 1 + resources/Fractal.fsh | 26 ++++++++++++++++++++++++++ resources/Fractal.vsh | 18 ++++++++++++++++++ resources/Kernel.cl | 8 ++++++++ src/CMakeLists.txt | 15 ++++----------- src/main.cpp | 14 +++----------- 11 files changed, 78 insertions(+), 22 deletions(-) create mode 100644 .gitmodules create mode 160000 contrib/CLWrapper create mode 100644 contrib/CMakeLists.txt create mode 160000 contrib/ImageStreams create mode 160000 contrib/NSAppWrapper create mode 100644 resources/Fractal.fsh create mode 100644 resources/Fractal.vsh create mode 100644 resources/Kernel.cl diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c17295e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "contrib/CLWrapper"] + path = contrib/CLWrapper + url = ../libJ/CLWrapper/ +[submodule "contrib/NSAppWrapper"] + path = contrib/NSAppWrapper + url = ../libJ/NSAppWrapper/ +[submodule "contrib/ImageStreams"] + path = contrib/ImageStreams + url = ../ImageStreams/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 714ddda..abcb076 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,5 +3,8 @@ cmake_minimum_required(VERSION 2.8) add_definitions(-std=c++1y) +add_subdirectory("contrib") add_subdirectory("src") +file(GLOB resources "resources/*") +file(COPY ${resources} DESTINATION ${CMAKE_BINARY_DIR}) diff --git a/contrib/CLWrapper b/contrib/CLWrapper new file mode 160000 index 0000000..ee27ef8 --- /dev/null +++ b/contrib/CLWrapper @@ -0,0 +1 @@ +Subproject commit ee27ef82cf59dd7a02da924312a44136dce5c4bd diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt new file mode 100644 index 0000000..37bff4b --- /dev/null +++ b/contrib/CMakeLists.txt @@ -0,0 +1,4 @@ + +add_subdirectory("NSAppWrapper") +add_subdirectory("CLWrapper") +add_subdirectory("ImageStreams") diff --git a/contrib/ImageStreams b/contrib/ImageStreams new file mode 160000 index 0000000..fcad14e --- /dev/null +++ b/contrib/ImageStreams @@ -0,0 +1 @@ +Subproject commit fcad14e7bf175a374c6dae12aaa059f4e325b5ca diff --git a/contrib/NSAppWrapper b/contrib/NSAppWrapper new file mode 160000 index 0000000..7c5ebc8 --- /dev/null +++ b/contrib/NSAppWrapper @@ -0,0 +1 @@ +Subproject commit 7c5ebc89b87650ae649db1b5081f729d311915c4 diff --git a/resources/Fractal.fsh b/resources/Fractal.fsh new file mode 100644 index 0000000..d4ca0da --- /dev/null +++ b/resources/Fractal.fsh @@ -0,0 +1,26 @@ +#version 330 + +uniform float rotation; + +in vec2 pos; +in vec2 start; + +out vec4 fragColor; + +void main(){ + + vec2 z = start; + + int i = 0; + for (i = 0; i < 30; i++) { + vec2 zsq = z*z; + if(zsq.x + zsq.y > 16.0) break; + + float t = zsq.x - zsq.y + pos.x; + z.y = 2.0*z.x*z.y + pos.y; + z.x = t; + } + + fragColor = vec4(float(i) / 30.0); + fragColor.bg = 0.5 * sin(z) + 0.5; +} diff --git a/resources/Fractal.vsh b/resources/Fractal.vsh new file mode 100644 index 0000000..329f2d2 --- /dev/null +++ b/resources/Fractal.vsh @@ -0,0 +1,18 @@ +#version 330 + +uniform float rotation; + +in vec4 position; +in vec4 color; + +out vec2 pos; +out vec2 start; + +void main(){ + pos = position.xy; + pos.x -= 0.5; + + start = sqrt(1.0 + 0.01 * rotation) * 0.3 * sin(vec2(0.1, 0.1337) * rotation); + + gl_Position = position; +} diff --git a/resources/Kernel.cl b/resources/Kernel.cl new file mode 100644 index 0000000..8fc6628 --- /dev/null +++ b/resources/Kernel.cl @@ -0,0 +1,8 @@ + +kernel void square(global float* input, size_t width, global float* output){ + size_t x = get_global_id(0); + size_t y = get_global_id(1); + float i = 2.0 * (input[x + width*y] - 0.5); + output[x + width*y] = 0.5 + 0.5*sin((1.0 - i) * sin(i*i + 6.2*float(x)/width) + cos(1.0/i + 6.2*float(y)/width)); +} + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4265eba..7039a1c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,17 +1,10 @@ -file(GLOB sources "*.cpp") +set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -find_library(FOUNDATION_LIBRARY Foundation) -find_library(COCOA_LIBRARY Cocoa) -find_library(COREGRAPHICS_LIBRARY CoreGraphics) -find_library(QUARTZCORE_LIBRARY QuartzCore) -find_library(OPENGL_LIBRARY OpenGL) -find_library(OPENCL_LIBRARY OpenCL) -find_library(LIBJNSAppWrapper JNSAppWrapper) -find_library(LIBJOpenCL JOpenCL) -find_library(LIBPNG png) +file(GLOB sources "*.cpp") -set(libs ${FOUNDATION_LIBRARY} ${COCOA_LIBRARY} ${COREGRAPHICS_LIBRARY} ${QUARTZCORE_LIBRARY} ${OPENGL_LIBRARY} ${OPENCL_LIBRARY} ${LIBJNSAppWrapper} ${LIBJOpenCL} ${LIBPNG}) +set(libs ${JCLWrapper_LIBRARIES} ${JNSAppWrapper_LIBRARIES} ${ImageStreams_LIBRARIES}) +message(STATUS "Linking against the following libraries: ${libs}") foreach(source ${sources}) get_filename_component(exec ${source} NAME_WE) diff --git a/src/main.cpp b/src/main.cpp index ae9091f..59f92c8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,15 +1,7 @@ -// -// main.cpp -// XcodeOpenCL -// -// Created by Joshua Moerman on 28/03/14. -// -// +#include -#include - -#include -#include "../../ImageStreams/include/png.hpp" +#include +#include #include