diff --git a/components/renderers/cpp/include/ftl/render/splat_params.hpp b/components/renderers/cpp/include/ftl/render/splat_params.hpp
index 5bd7d2edbc0b30863e5ecfe04f2e7bc0ce662f20..0509ee37f0d85163fde2b462ad0871f8a824070b 100644
--- a/components/renderers/cpp/include/ftl/render/splat_params.hpp
+++ b/components/renderers/cpp/include/ftl/render/splat_params.hpp
@@ -9,9 +9,7 @@ namespace ftl {
 namespace render {
 
 static const uint kShowDisconMask = 0x00000001;
-static const uint kNoSplatting = 0x00000002;
-static const uint kNoUpsampling = 0x00000004;
-static const uint kNoTexturing = 0x00000008;
+static const uint kNormalWeightColours = 0x00000002;
 
 struct __align__(16) SplatParams {
 	float4x4 m_viewMatrix;
diff --git a/components/renderers/cpp/src/splat_render.cpp b/components/renderers/cpp/src/splat_render.cpp
index 6b8736effb30895b9ce0f5e503acec78f44c7224..b22b377e158faff8143d49c279955a195ce52dcc 100644
--- a/components/renderers/cpp/src/splat_render.cpp
+++ b/components/renderers/cpp/src/splat_render.cpp
@@ -288,10 +288,8 @@ bool Splatter::render(ftl::rgbd::VirtualSource *src, ftl::rgbd::Frame &out, cuda
 	// Parameters object to pass to CUDA describing the camera
 	SplatParams params;
 	params.m_flags = 0;
-	if (src->value("show_discontinuity_mask", false)) params.m_flags |= ftl::render::kShowDisconMask;
-	//if (src->value("splatting", true) == false) params.m_flags |= ftl::render::kNoSplatting;
-	//if (src->value("upsampling", true) == false) params.m_flags |= ftl::render::kNoUpsampling;
-	//if (src->value("texturing", true) == false) params.m_flags |= ftl::render::kNoTexturing;
+	if (value("show_discontinuity_mask", false)) params.m_flags |= ftl::render::kShowDisconMask;
+	if (value("normal_weight_colours", true)) params.m_flags |= ftl::render::kNormalWeightColours;
 	params.m_viewMatrix = MatrixConversion::toCUDA(src->getPose().cast<float>().inverse());
 	params.m_viewMatrixInverse = MatrixConversion::toCUDA(src->getPose().cast<float>());
 	params.camera = camera;
diff --git a/components/renderers/cpp/src/splatter.cu b/components/renderers/cpp/src/splatter.cu
index 3c55263d812229fe7701504af013deadfe04bada..aa0fc6bed113e2e0066b40b7e64a0cd5218d5908 100644
--- a/components/renderers/cpp/src/splatter.cu
+++ b/components/renderers/cpp/src/splatter.cu
@@ -208,7 +208,10 @@ __device__ inline float make(const float4 &v) {
                 //t *= (params.m_viewMatrix.getFloat3x3() * ray).z;
                 t *= scale;
                 const float3 camPos3 = params.camera.screenToCam((int)(x),(int)(y),t);
-                const float weight = ftl::cuda::spatialWeighting(camPos, camPos3, 2.0f*(camPos3.z/params.camera.fx)) * n.w * n.w;
+                float weight = ftl::cuda::spatialWeighting(camPos, camPos3, 2.0f*(camPos3.z/params.camera.fx));
+
+                if (params.m_flags & ftl::render::kNormalWeightColours) weight *= n.w * n.w;
+
                 if (weight <= 0.0f) continue;
                 //depth += t * weight;
                 //contrib += weight;