From 27ffb80dc5f55040824fbb82dab9ecd3ae780d50 Mon Sep 17 00:00:00 2001 From: Jonathon Racz Date: Mon, 8 Jan 2018 14:16:36 -0500 Subject: [PATCH] Add OpenSimplex --- .gitmodules | 3 +++ jtracer.xcodeproj/project.pbxproj | 2 ++ jtracer/External/OpenSimplexCPP | 1 + jtracer/JTMetal.metal | 7 ++++++- 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .gitmodules create mode 160000 jtracer/External/OpenSimplexCPP diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..68c7140 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "jtracer/External/OpenSimplexCPP"] + path = jtracer/External/OpenSimplexCPP + url = https://jonathonracz@github.com/jonathonracz/OpenSimplexCPP.git diff --git a/jtracer.xcodeproj/project.pbxproj b/jtracer.xcodeproj/project.pbxproj index 84d41b9..21fbe9b 100644 --- a/jtracer.xcodeproj/project.pbxproj +++ b/jtracer.xcodeproj/project.pbxproj @@ -335,6 +335,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; + MTL_HEADER_SEARCH_PATHS = "${PROJECT_DIR}/jtracer/External/OpenSimplexCPP/include"; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -384,6 +385,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; + MTL_HEADER_SEARCH_PATHS = "${PROJECT_DIR}/jtracer/External/OpenSimplexCPP/include"; SDKROOT = macosx; }; name = Release; diff --git a/jtracer/External/OpenSimplexCPP b/jtracer/External/OpenSimplexCPP new file mode 160000 index 0000000..e24106d --- /dev/null +++ b/jtracer/External/OpenSimplexCPP @@ -0,0 +1 @@ +Subproject commit e24106dce727febc1b6754e262d9c115d53ed900 diff --git a/jtracer/JTMetal.metal b/jtracer/JTMetal.metal index 4aaf273..a56019b 100644 --- a/jtracer/JTMetal.metal +++ b/jtracer/JTMetal.metal @@ -13,6 +13,8 @@ using namespace metal; #include "Trace/JTBindPoints.h" #include "Trace/JTNumerics.h" +#include "OpenSimplex/OpenSimplex.h" + kernel void jtMetal(texture2d output [[texture(jt::TextureIndex::output)]], JT_CONSTANT jt::Uniforms& uniforms [[buffer(jt::BufferIndex::uniforms)]], simd::uint2 gid [[thread_position_in_grid]]) @@ -23,5 +25,8 @@ kernel void jtMetal(texture2d output [[texture(jt::TextureI if((gid.x >= output.get_width()) || (gid.y >= output.get_height())) return; - output.write(half4(random.nextNormalized(), gid.y / static_cast(output.get_height()), 0.0f, 1.0f), gid); + //OpenSimplex osimp(uniforms.frameCount); + //float pixelValue = osimp.noise2(gid.x, gid.y); + + output.write(half4(1.0f, 0.0f, 0.0f, 1.0f), gid); }