Remove seconds property from PerspectivePlane
This commit is contained in:
@@ -10,36 +10,33 @@ import org.openrndr.math.transforms.transform
|
|||||||
|
|
||||||
@Description("Perspective plane")
|
@Description("Perspective plane")
|
||||||
class PerspectivePlane : Filter(Shader.createFromCode(filterVertexCode, filterFragmentCode("distort/perspective-plane.frag"))) {
|
class PerspectivePlane : Filter(Shader.createFromCode(filterVertexCode, filterFragmentCode("distort/perspective-plane.frag"))) {
|
||||||
|
// @DoubleParameter("camera x", -1.0, 1.0, order = 0)
|
||||||
// @DoubleParameter("camera x", -1.0, 1.0, order = 0)
|
var cameraX: Double = 0.0
|
||||||
var cameraX : Double = 0.0
|
// @DoubleParameter("camera y", -1.0, 1.0, order = 1)
|
||||||
// @DoubleParameter("camera y", -1.0, 1.0, order = 1)
|
var cameraY: Double = 0.0
|
||||||
var cameraY : Double = 0.0
|
// @DoubleParameter("camera z", -1.0, 1.0, order = 2)
|
||||||
// @DoubleParameter("camera z", -1.0, 1.0, order = 2)
|
var cameraZ: Double = 1.0
|
||||||
var cameraZ : Double = 1.0
|
|
||||||
|
|
||||||
|
|
||||||
@DoubleParameter("plane x", -1.0, 1.0, order = 3)
|
@DoubleParameter("plane x", -1.0, 1.0, order = 3)
|
||||||
var planeX : Double = 0.0
|
var planeX: Double = 0.0
|
||||||
@DoubleParameter("plane y", -1.0, 1.0, order = 4)
|
@DoubleParameter("plane y", -1.0, 1.0, order = 4)
|
||||||
var planeY : Double = 0.0
|
var planeY: Double = 0.0
|
||||||
@DoubleParameter("plane z", -1.0, 1.0, order = 5)
|
@DoubleParameter("plane z", -1.0, 1.0, order = 5)
|
||||||
var planeZ : Double = 0.5
|
var planeZ: Double = 0.5
|
||||||
|
|
||||||
@DoubleParameter("plane yaw", -180.0, 180.0, order = 6)
|
@DoubleParameter("plane yaw", -180.0, 180.0, order = 6)
|
||||||
var planeYaw : Double = 0.0
|
var planeYaw: Double = 0.0
|
||||||
@DoubleParameter("plane pitch", -180.0, 180.0, order = 7)
|
@DoubleParameter("plane pitch", -180.0, 180.0, order = 7)
|
||||||
var planePitch : Double = 0.0
|
var planePitch: Double = 0.0
|
||||||
@DoubleParameter("plane roll", -180.0, 180.0, order = 8)
|
@DoubleParameter("plane roll", -180.0, 180.0, order = 8)
|
||||||
var planeRoll : Double = 0.0
|
var planeRoll: Double = 0.0
|
||||||
|
|
||||||
|
|
||||||
@BooleanParameter("tile input")
|
@BooleanParameter("tile input")
|
||||||
var tile: Boolean by parameters
|
var tile: Boolean by parameters
|
||||||
|
|
||||||
var seconds:Double by parameters
|
|
||||||
init {
|
init {
|
||||||
seconds = 0.0
|
|
||||||
tile = false
|
tile = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ uniform sampler2D tex0;
|
|||||||
in vec2 v_texCoord0;
|
in vec2 v_texCoord0;
|
||||||
uniform vec3 cameraPosition;
|
uniform vec3 cameraPosition;
|
||||||
uniform vec3 planePosition;
|
uniform vec3 planePosition;
|
||||||
uniform float seconds;
|
|
||||||
uniform mat4 planeMatrix;
|
uniform mat4 planeMatrix;
|
||||||
uniform bool tile;
|
uniform bool tile;
|
||||||
uniform vec2 targetSize;
|
uniform vec2 targetSize;
|
||||||
@@ -22,25 +21,25 @@ void main() {
|
|||||||
vPlaneUp *= m;
|
vPlaneUp *= m;
|
||||||
vPlaneRight *= m;
|
vPlaneRight *= m;
|
||||||
|
|
||||||
vec3 vPlaneNormal = normalize(cross(vPlaneRight,vPlaneUp));
|
vec3 vPlaneNormal = normalize(cross(vPlaneRight, vPlaneUp));
|
||||||
float fPlaneDeltaNormalDistance = dot(vPlanePos,vPlaneNormal) - dot(vPlaneNormal,vCamPos);
|
float fPlaneDeltaNormalDistance = dot(vPlanePos, vPlaneNormal) - dot(vPlaneNormal, vCamPos);
|
||||||
vec4 color = vec4(0.);
|
vec4 color = vec4(0.);
|
||||||
for (int m = 0; m < 2; m++) {
|
for (int m = 0; m < 2; m++) {
|
||||||
for (int n = 0; n < 2; n++) {
|
for (int n = 0; n < 2; n++) {
|
||||||
vec2 s = (v_texCoord0 - vec2(0.5)) * 2.0;
|
vec2 s = (v_texCoord0 - vec2(0.5)) * 2.0;
|
||||||
s*= vec2(1.0, targetSize.y / targetSize.x);
|
s*= vec2(1.0, targetSize.y / targetSize.x);
|
||||||
vec3 vRayDir = normalize(vec3(s, -1.0));
|
vec3 vRayDir = normalize(vec3(s, -1.0));
|
||||||
float t = fPlaneDeltaNormalDistance / dot(vPlaneNormal,vRayDir);
|
float t = fPlaneDeltaNormalDistance / dot(vPlaneNormal, vRayDir);
|
||||||
vec3 hitPos = vCamPos + vRayDir*t;
|
vec3 hitPos = vCamPos + vRayDir * t;
|
||||||
vec3 delta = hitPos - vPlanePos;
|
vec3 delta = hitPos - vPlanePos;
|
||||||
vec2 bary = vec2(dot(delta, vPlaneRight),dot(delta, vPlaneUp));
|
vec2 bary = vec2(dot(delta, vPlaneRight), dot(delta, vPlaneUp));
|
||||||
|
|
||||||
bary /= vec2(1.0, targetSize.y/targetSize.x);
|
bary /= vec2(1.0, targetSize.y / targetSize.x);
|
||||||
bary += vec2(0.5);
|
bary += vec2(0.5);
|
||||||
if ( (tile || (bary.x >= 0.0 && bary.x <= 1.0 && bary.y >=0.0 && bary.y <= 1.0)) && t > 0.0) {
|
if ((tile || (bary.x >= 0.0 && bary.x <= 1.0 && bary.y >=0.0 && bary.y <= 1.0)) && t > 0.0) {
|
||||||
color += texture(tex0, bary);
|
color += texture(tex0, bary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
o_color = color*0.25;
|
o_color = color * 0.25;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user