diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2018-08-06 15:52:38 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-06 15:52:38 -0700 |
| commit | 73ff6907d723003d30e400f661876e7960de574f (patch) | |
| tree | 76fb87e0d7cdf6310c4a62753556dbf061842d7b /tools/gfx/gui.h | |
| parent | 68d705f6c805c9b4d31b386e065762e6db13ad18 (diff) | |
Add basic support for "Dear IMGUI" (#625)
This isn't being made visible just yet, but it will allow us to have a simple UI for loading models into the model-viewer example.
In order to support rendering with IMGUI I had to add the following to the `Renderer` layer:
* viewports
* scissor rects
* blend support
These are really only fully implemented for D3D11, but adding them to the other back-ends should be a reasonably small task.
Diffstat (limited to 'tools/gfx/gui.h')
| -rw-r--r-- | tools/gfx/gui.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/gfx/gui.h b/tools/gfx/gui.h new file mode 100644 index 000000000..cbec5796f --- /dev/null +++ b/tools/gfx/gui.h @@ -0,0 +1,28 @@ +// gui.h +#pragma once + +#include "render.h" +#include "vector-math.h" +#include "window.h" + +#include "external/imgui/imgui.h" + +namespace gfx { + +struct GUI : RefObject +{ + GUI(Window* window, Renderer* renderer); + ~GUI(); + + void beginFrame(); + void endFrame(); + +private: + RefPtr<Renderer> renderer; + RefPtr<PipelineState> pipelineState; + RefPtr<DescriptorSetLayout> descriptorSetLayout; + RefPtr<PipelineLayout> pipelineLayout; + RefPtr<SamplerState> samplerState; +}; + +} // gfx |
