From d2c9c9626f5b8a066bf67418d5acae9a6ecc7430 Mon Sep 17 00:00:00 2001 From: Turanszki Janos Date: Sat, 26 May 2018 18:15:17 +0100 Subject: [PATCH] editor update: camera picker icon added --- Editor/Editor.cpp | 32 ++++++++++++++++++++++++++++++++ Editor/Editor.h | 2 +- Editor/images/camera.dds | Bin 0 -> 87536 bytes Editor/startup.lua | 2 +- 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 Editor/images/camera.dds diff --git a/Editor/Editor.cpp b/Editor/Editor.cpp index 4cab6203c..773a48cc8 100644 --- a/Editor/Editor.cpp +++ b/Editor/Editor.cpp @@ -858,6 +858,7 @@ void EditorComponent::Load() decalTex = *(Texture2D*)Content.add("images/decal.dds"); forceFieldTex = *(Texture2D*)Content.add("images/forcefield.dds"); emitterTex = *(Texture2D*)Content.add("images/emitter.dds"); + cameraTex = *(Texture2D*)Content.add("images/camera.dds"); } void EditorComponent::Start() { @@ -1608,6 +1609,37 @@ void EditorComponent::Compose() } } + if (rendererWnd->GetPickType() & PICK_CAMERA) + { + for (auto& y : x->cameras) + { + float dist = wiMath::Distance(y->translation, wiRenderer::getCamera()->translation) * 0.08f; + + wiImageEffects fx; + fx.pos = y->translation; + fx.siz = XMFLOAT2(dist, dist); + fx.typeFlag = ImageType::WORLD; + fx.pivot = XMFLOAT2(0.5f, 0.5f); + fx.col = XMFLOAT4(1, 1, 1, 0.5f); + + if (hovered.camera == y) + { + fx.col = XMFLOAT4(1, 1, 1, 1); + } + for (auto& picked : selected) + { + if (picked->camera == y) + { + fx.col = XMFLOAT4(1, 1, 0, 1); + break; + } + } + + + wiImage::Draw(&cameraTex, fx, GRAPHICSTHREAD_IMMEDIATE); + } + } + if (rendererWnd->GetPickType() & PICK_EMITTER) { for (auto& y : x->objects) diff --git a/Editor/Editor.h b/Editor/Editor.h index 2ff4ccc96..b6f6995eb 100644 --- a/Editor/Editor.h +++ b/Editor/Editor.h @@ -31,7 +31,7 @@ class Editor; class EditorComponent : public Renderable2DComponent { private: - wiGraphicsTypes::Texture2D pointLightTex, spotLightTex, dirLightTex, areaLightTex, decalTex, forceFieldTex, emitterTex; + wiGraphicsTypes::Texture2D pointLightTex, spotLightTex, dirLightTex, areaLightTex, decalTex, forceFieldTex, emitterTex, cameraTex; public: MaterialWindow* materialWnd; PostprocessWindow* postprocessWnd; diff --git a/Editor/images/camera.dds b/Editor/images/camera.dds new file mode 100644 index 0000000000000000000000000000000000000000..feba2ae1cf767b8b15175e105a9f3387c88b5e98 GIT binary patch literal 87536 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