diff --git a/zoneb/bin/data/settings.xml b/zoneb/bin/data/settings.xml
index ac7a4dc..89caf32 100644
--- a/zoneb/bin/data/settings.xml
+++ b/zoneb/bin/data/settings.xml
@@ -3,7 +3,7 @@
54.0816, 3.06123
1.724
video1
- 8
+ 6
1
0
21
diff --git a/zoneb/bin/data/shaders/particles/update.frag b/zoneb/bin/data/shaders/particles/update.frag
index b5daaee..f385b7c 100755
--- a/zoneb/bin/data/shaders/particles/update.frag
+++ b/zoneb/bin/data/shaders/particles/update.frag
@@ -133,14 +133,55 @@ void main()
vec4 ray11 = texture(u_world, basePix + vec2(1, 1));
float depth0 = mix(depth00, depth10, subPix.x);
+ if(depth00 == 0) depth0 = depth10;
+ if(depth10 == 0) depth0 = depth00;
float depth1 = mix(depth01, depth11, subPix.x);
+ if(depth01 == 0) depth1 = depth11;
+ if(depth11 == 0) depth1 = depth01;
vec4 ray0 = mix(ray00, ray10, subPix.x);
vec4 ray1 = mix(ray01, ray11, subPix.x);
float depth = mix(depth0, depth1, subPix.y);
+ if(depth00 == 0 && depth10 == 0) depth = depth1;
+ if(depth01 == 0 && depth11 == 0) depth = depth0;
vec4 ray = mix(ray0, ray1, subPix.y);
- float vValid = (depth00 != 0 && depth01 != 0 && depth10 != 0 && depth11 != 0 && ray.x != 0 && ray.y != 0) ? 1 : 0;
+ int validCount = 0;
+ // validCount += (depth00 != 0) ? 1 : 0;
+ // validCount += (depth01 != 0) ? 1 : 0;
+ // validCount += (depth10 != 0) ? 1 : 0;
+ // validCount += (depth11 != 0) ? 1 : 0;
+ // float vValid = (validCount > 1) ? 1 : 0;
+ // if(subPix.x < 0.5 && subPix.y < 0.5) {
+ // if(depth00 != 0) validCount += 1;
+ // }
+ // else if (subPix.x >= 0.5 && subPix.y < 0.5) {
+ // if(depth10 != 0) validCount += 1;
+ // }
+ // else if(subPix.x < 0.5 && subPix.y >= 0.5) {
+ // if(depth01 != 0) validCount += 1;
+ // }
+ // else if (subPix.x >= 0.5 && subPix.y >= 0.5) {
+ // if(depth11 != 0) validCount += 1;
+ // }
+ // float vValid = (validCount > 0) ? 1 : 0;
+
+ float validity = 0;
+ if(depth00 != 0) {
+ validity += sqrt(2) - length(subPix - vec2(0, 0));
+ }
+ if(depth10 != 0) {
+ validity += sqrt(2) - length(subPix - vec2(1, 0));
+ }
+ if(depth01 != 0) {
+ validity += sqrt(2) - length(subPix - vec2(0, 1));
+ }
+ if(depth11 != 0) {
+ validity += sqrt(2) - length(subPix - vec2(1, 1));
+ }
+
+ float vValid = (validity > 1) ? 1 : 0;
+ // float vValid = (depth00 != 0 && depth01 != 0 && depth10 != 0 && depth11 != 0 && ray.x != 0 && ray.y != 0) ? 1 : 0;
vec4 posWorld = vec4(1);
posWorld.z = -depth * 65535.0; // Remap to float range.
@@ -173,7 +214,11 @@ void main()
thermo = misc.x;
}
else { // wandering
- age += 10.1;
+ age += 0.04;
+ vec3 rand = random3(vec3(texCoordVarying.st, 0));
+ if(mod(subPix.x + rand.x, 0.5) > 0.1 || mod(subPix.y + rand.y, 0.5) > 0.1) {
+ age += 10.1;
+ }
thermo = misc.x;
}
@@ -189,7 +234,7 @@ void main()
force.x += cos(th) * cos(phi);
force.y += sin(th) * cos(phi);
force.z += sin(phi);
- force *= 100;
+ force *= 300;
}
else {
float th = 3.1415 * 4 * simplex3d_fractal(vec3(pos.xyz * 0.01));
diff --git a/zoneb/src/ofApp.cpp b/zoneb/src/ofApp.cpp
index 3320106..f2d1d4d 100644
--- a/zoneb/src/ofApp.cpp
+++ b/zoneb/src/ofApp.cpp
@@ -131,7 +131,7 @@ void ofApp::setupGui()
{
gui.setup("ZONE B", "settings.xml"); // most of the time you don't need a name
gui.add(registrationXY.setup("XY", {-9, -9}, {-100, -100}, {100, 100}));
- gui.add(registrationScale.setup("scale", 2.0, 0.1, 3));
+ gui.add(registrationScale.setup("scale", 2.0, 1.5, 2));
gui.add(v4l2Delay.setup("thermo delay", 0, 0, 59));
gui.add(captureDeviceName.setup("device", "video3"));
gui.add(blendAdd.setup("blend add", false));