mirror of
https://github.com/openglobus/openglobus.git
synced 2025-12-08 19:25:27 +00:00
wip.8
This commit is contained in:
parent
87b08ea35e
commit
990aceed55
@ -30,10 +30,22 @@ class MyScene extends RenderNode {
|
||||
shininess: 1
|
||||
});
|
||||
|
||||
window.test = () => {
|
||||
parentEntity.setPitch(0);
|
||||
cube2.setPitch(0);
|
||||
cube3.setPitch(0);
|
||||
|
||||
parentEntity.setYaw(0);
|
||||
cube2.setYaw(0);
|
||||
cube3.setYaw(0);
|
||||
|
||||
this.renderer.activeCamera.set(new Vec3(10.5, 0, 0), new Vec3(0, 0, 0), new Vec3(0, 1, 0));
|
||||
}
|
||||
|
||||
let parentEntity = new Entity({
|
||||
cartesian: new Vec3(0, 0, 0),
|
||||
independentPicking: true,
|
||||
yaw: 45 * Math.PI / 180,
|
||||
//yaw: 45 * Math.PI / 180,
|
||||
pitch: 45 * Math.PI / 180,
|
||||
geoObject: {
|
||||
color: "rgb(90,90,90)",
|
||||
@ -47,7 +59,7 @@ class MyScene extends RenderNode {
|
||||
let cube2 = new Entity({
|
||||
cartesian: new Vec3(5, 0, 5),
|
||||
independentPicking: true,
|
||||
yaw: 45 * Math.PI / 180,
|
||||
//yaw: 45 * Math.PI / 180,
|
||||
pitch: 45 * Math.PI / 180,
|
||||
geoObject: {
|
||||
color: "rgb(90,90,90)",
|
||||
@ -59,9 +71,9 @@ class MyScene extends RenderNode {
|
||||
});
|
||||
|
||||
let cube3 = new Entity({
|
||||
cartesian: new Vec3(-1, 5, 1),
|
||||
cartesian: new Vec3(-1, 3, 1),
|
||||
independentPicking: true,
|
||||
yaw: 45 * Math.PI / 180,
|
||||
//yaw: 45 * Math.PI / 180,
|
||||
pitch: 45 * Math.PI / 180,
|
||||
geoObject: {
|
||||
color: "rgb(90,90,90)",
|
||||
@ -78,7 +90,7 @@ class MyScene extends RenderNode {
|
||||
|
||||
collection.addTo(this);
|
||||
|
||||
this.renderer.activeCamera.set(new Vec3(-10, 10, 10), new Vec3(0, 0, 0));
|
||||
this.renderer.activeCamera.set(new Vec3(0, 10, 10), new Vec3(0, 0, 0));
|
||||
this.renderer.activeCamera.isOrthographic = true;
|
||||
|
||||
this.renderer.activeCamera.update();
|
||||
|
||||
@ -1345,10 +1345,14 @@ class Renderer {
|
||||
|
||||
let screenPos = new Vec4(nx * 2.0 - 1.0, ny * 2.0 - 1.0, depth * 2.0 - 1.0, 1.0);
|
||||
let viewPosition = frustum.inverseProjectionMatrix.mulVec4(screenPos);
|
||||
let dir = (px as IBaseInputState).direction || camera.unproject(px.x, px.y);
|
||||
dist = -(viewPosition.z / viewPosition.w) / dir.dot(camera.getForward());
|
||||
let zView = -viewPosition.z / viewPosition.w;
|
||||
|
||||
return dist;
|
||||
if (camera.isOrthographic) {
|
||||
return zView;
|
||||
}
|
||||
|
||||
let dir = (px as IBaseInputState).direction || camera.unproject(px.x, px.y);
|
||||
return zView / dir.dot(camera.getForward());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user