use inactive/active color gizmo
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include <filament/Scene.h>
|
||||
#include <filament/Camera.h>
|
||||
#include <filament/View.h>
|
||||
#include <filament/Viewport.h>
|
||||
|
||||
#include <gltfio/AssetLoader.h>
|
||||
#include <gltfio/FilamentAsset.h>
|
||||
@@ -20,15 +21,19 @@
|
||||
|
||||
#include "Aabb2.h"
|
||||
|
||||
namespace thermion_filament {
|
||||
|
||||
using namespace filament;
|
||||
using namespace utils;
|
||||
|
||||
|
||||
class Gizmo {
|
||||
|
||||
enum Axis { X, Y, Z};
|
||||
|
||||
public:
|
||||
Gizmo(Engine* const engine);
|
||||
void updateTransform();
|
||||
void destroy(Engine* const engine);
|
||||
Gizmo(Engine& engine);
|
||||
void updateTransform(Camera& camera, const Viewport& vp);
|
||||
void destroy();
|
||||
Entity x() {
|
||||
return _entities[0];
|
||||
};
|
||||
@@ -41,8 +46,24 @@ class Gizmo {
|
||||
Entity center() {
|
||||
return _entities[3];
|
||||
};
|
||||
|
||||
void highlight(Entity entity);
|
||||
void unhighlight();
|
||||
private:
|
||||
Engine &_engine;
|
||||
utils::Entity _entities[4];
|
||||
Material* _material;
|
||||
MaterialInstance* _materialInstances[4];
|
||||
};
|
||||
math::float3 inactiveColors[3] {
|
||||
math::float3 { 0.75f, 0.0f, 0.0f },
|
||||
math::float3 { 0.0f, 0.75f, 0.0f },
|
||||
math::float3 { 0.0f, 0.0f, 0.75f },
|
||||
};
|
||||
math::float3 activeColors[3] {
|
||||
math::float3 { 1.0f, 0.0f, 0.0f },
|
||||
math::float3 { 0.0f, 1.0f, 0.0f },
|
||||
math::float3 { 0.0f, 0.0f, 1.0f },
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user