From d8bca0d935bd572e94af28c2cbce249e2602e134 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Mon, 4 Apr 2016 17:00:35 +0300 Subject: [PATCH] lookAt --- examples/d3d/src/d3d.d | 5 +++-- src/dlangui/graphics/scene/transform.d | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/examples/d3d/src/d3d.d b/examples/d3d/src/d3d.d index a7392712..732375a1 100644 --- a/examples/d3d/src/d3d.d +++ b/examples/d3d/src/d3d.d @@ -115,8 +115,9 @@ class UiWidget : VerticalLayout, CellVisitor { _scene.activeCamera = _cam; Node3d dirLightNode = new Node3d(); - dirLightNode.rotateY(-15); - dirLightNode.rotateX(20); + dirLightNode.lookAt(vec3(-5, -5, -5), vec3(0, 0, 0), vec3(0, 1, 0)); + //dirLightNode.rotateY(-15); + //dirLightNode.rotateX(20); dirLightNode.light = Light.createDirectional(vec3(1, 0.5, 0.5)); _scene.addChild(dirLightNode); diff --git a/src/dlangui/graphics/scene/transform.d b/src/dlangui/graphics/scene/transform.d index 826cf746..9d1aec38 100644 --- a/src/dlangui/graphics/scene/transform.d +++ b/src/dlangui/graphics/scene/transform.d @@ -116,4 +116,14 @@ class Transform : RefCountedObject { } return _matrix; } + + @property void matrix(ref const(mat4) m) { + _matrix = m; + _dirtyTransform = false; + } + + void lookAt(const vec3 eye, const vec3 center, const vec3 up) { + _matrix.lookAt(eye, center, up); + _dirtyTransform = false; + } }