Vesper 0.5.1
Vesper is short form for the Latin word for "Bat", as Vesper is designed to be small, lightweight, and easily handle things like particles and flocking behaviors in accordance with the nature of bats. \n It is meant to be a particle simulation, VFX editor, and CAN be used secondarily as a small game engine.
GitHub | Vesper Updates | Creator
Loading...
Searching...
No Matches
VesperImGui.h
Go to the documentation of this file.
1#pragma once
2
3#include "imgui/imgui.h"
4
5namespace Vesper {
6
8 {
9 ImGui::Begin("Vesper Info");
10
11 if (ImGui::TreeNode("About Vesper"))
12 {
13 ImGui::Text("Vesper Engine");
14 ImGui::Text("Version: 0.1.0");
15 ImGui::Text("Author: Damon Green II");
16 ImGui::Text("GitHub: https://github.com/nomadiidamon/Vesper");
17 ImGui::Separator();
18
19 ImGui::Text("Status: ");
20 ImGui::Text("\tEarly Development of API and 2D Renderer");
21 ImGui::Separator();
22
23 ImGui::TextWrapped("Vesper is a cross-platform game engine currently in early development. The engine is being built from the ground up with a focus on modularity, performance, and ease of use. The goal of Vesper is to provide developers with a powerful and flexible toolset for creating games and interactive applications.");
24 ImGui::Separator();
25
26 if (ImGui::TreeNode("Controls:"))
27 {
28 ImGui::Text("\tWASD: Move Camera");
29 ImGui::Text("\tQ/E: Rotate Camera (if enabled {see settings})");
30 ImGui::Text("\tScroll Wheel: Zoom Camera");
31 ImGui::TreePop();
32 }
33 ImGui::Separator();
34
35 if (ImGui::TreeNode("RoadMap")) {
36
37 if (ImGui::TreeNode("Current Features:"))
38 {
39 ImGui::Text("\t- Cross-Platform Design");
40 ImGui::Text("\t\t- Currently Windows only");
41 ImGui::Text("\t- OpenGL Renderer");
42 ImGui::Text("\t- Orthographic Camera");
43 ImGui::Text("\t- Shader System");
44 ImGui::Text("\t- Texture Loading");
45 ImGui::Text("\t- ImGui Integration");
46 ImGui::Text("\t\t- Current settings panel adjusts camera parameters!");
47
48 ImGui::TreePop();
49 }
50 ImGui::Separator();
51
52 if (ImGui::TreeNode("In Progress:"))
53 {
54 ImGui::Text("\t- 2D Rendering Features");
55 ImGui::Text("\t\t- Sprites");
56 ImGui::Text("\t\t- Sprite Sheets");
57 ImGui::Text("\t\t- Animation");
58 ImGui::TreePop();
59 }
60 ImGui::Separator();
61
62 if (ImGui::TreeNode("Planned Features:"))
63 {
64 ImGui::Text("\t- Vulkan Renderer");
65 ImGui::Text("\t- 2D Editor");
66 ImGui::Text("\t- 2D Particles");
67 ImGui::Text("\t- Audio");
68 ImGui::Text("\t- Timelining");
69 ImGui::Text("\t- Video Playback");
70 ImGui::Text("\t- 3D Renderer");
71 ImGui::Text("\t- 3D Particles");
72 ImGui::TreePop();
73 }
74 ImGui::TreePop();
75 }
76
77 ImGui::TreePop();
78 }
79 ImGui::End();
80 }
81
82
83}
#define VZ_CORE_ASSERT(x,...)
Definition Asserts.h:20
#define VZ_BIND_EVENT_FN(fn)
Binds a member function as an event handler.
Definition Defines_Macros.h:17
static const uint32_t s_MapHeight
Definition EditorLayer.cpp:13
static const char * s_MapTiles
Definition EditorLayer.cpp:14
static const uint32_t s_MapWidth
Definition EditorLayer.cpp:12
#define VZ_PROFILE_FUNCTION()
Definition Instrumentor.h:240
#define VZ_PROFILE_SCOPE(name)
Definition Instrumentor.h:239
#define VZ_CORE_INFO(...)
info: general information about application flow
Definition Log.h:37
#define VZ_CORE_ERROR(...)
error: indicates an error that has occurred
Definition Log.h:41
The core application class that manages the main loop, window, layers, and event handling.
Definition Application.h:35
static Application & Get()
Retrieves the singleton instance of the Application.
Definition Application.h:67
ImGuiLayer * GetImGuiLayer()
Retrieves the ImGui layer.
Definition Application.h:64
void Close()
Closes the application.
Definition Application.cpp:55
Definition EditorLayer.h:14
bool m_ViewportFocused
Definition EditorLayer.h:44
float m_RotationSnap
Definition EditorLayer.h:51
void OpenScene()
Definition EditorLayer.cpp:728
SceneState
Definition EditorLayer.h:39
@ Edit
Definition EditorLayer.h:40
bool scene3
Definition EditorLayer.h:90
int m_GizmoType
Definition EditorLayer.h:50
bool scene4
Definition EditorLayer.h:90
EditorLayer()
Definition EditorLayer.cpp:37
float m_ScaleSnap
Definition EditorLayer.h:51
void NewScene()
Definition EditorLayer.cpp:721
float m_TranslationSnap
Definition EditorLayer.h:51
bool OnKeyPressed(KeyPressedEvent &e)
Definition EditorLayer.cpp:669
virtual void OnEvent(Event &e) override
Called when an event is dispatched to the layer.
Definition EditorLayer.cpp:657
int ParticleEmitCount
Definition EditorLayer.h:84
SceneState m_SceneState
Definition EditorLayer.h:42
virtual void OnUpdate(Timestep ts) override
Called every frame to update the layer with the given timestep.
Definition EditorLayer.cpp:234
virtual void OnAttach() override
Called when the layer is attached to the application.
Definition EditorLayer.cpp:45
bool scene1
Definition EditorLayer.h:90
void SaveSceneAs()
Definition EditorLayer.cpp:744
bool useEntityScene
Definition EditorLayer.h:91
bool scene2
Definition EditorLayer.h:90
bool m_ViewportHovered
Definition EditorLayer.h:44
virtual void OnDetach() override
Called when the layer is detached from the application.
Definition EditorLayer.cpp:229
virtual void OnImGuiRender() override
Called when the layer should render its ImGui components.
Definition EditorLayer.cpp:425
void ResetScene()
Definition EditorLayer.cpp:755
Represents an entity in a scene.
Definition Entity.h:14
Stack-based templated event dispatcher.
Definition Event.h:68
EventDispatcher(Event &event)
Construct an EventDispatcher for a specific event.
Definition Event.h:78
Abstract base class for all events.
Definition Event.h:37
Definition PlatformUtils.h:28
static void Initialize()
Definition WindowsPlatformUtils.cpp:66
virtual void SetBlockEvents(bool block)
Definition ImGuiLayer.h:26
Base input class for querying input states.
Definition Input.h:12
static bool IsMouseButtonPressed(int button)
Checks if the specified mouse button is currently pressed.
Definition WindowsInput.cpp:16
static bool IsKeyPressed(int keycode)
Checks if the specified key is currently pressed.
Definition WindowsInput.cpp:9
int GetKeyCode() const
Get the key code associated with the event.
Definition KeyEvent.h:20
Event for registering key press.
Definition KeyEvent.h:37
int GetRepeatCount() const
Get the repeat count of the key press event.
Definition KeyEvent.h:48
Represents a reusable application layer that receives lifecycle callbacks (attach,...
Definition Layer.h:17
A static class that provides an interface for issuing rendering commands.
Definition RenderCommand.h:10
static void Clear()
Clears the rendering buffers.
Definition RenderCommand.h:32
A 2D renderer for drawing quads and sprites.
Definition Renderer2D.h:17
static void ResetStats()
Resets the rendering statistics.
Definition Renderer2D.cpp:497
static void EndScene()
Ends the current scene.
Definition Renderer2D.cpp:160
static Statistics GetStats()
Retrieves the current rendering statistics.
Definition Renderer2D.cpp:502
Definition SceneSerializer.h:7
bool Deserialize(const std::string &filepath)
Definition SceneSerializer.cpp:206
void Serialize(const std::string &filepath)
Definition SceneSerializer.cpp:179
Represents a time step in seconds.
Definition Timestep.h:12
@ RightShift
Definition KeyCodes.h:143
@ RightControl
Definition KeyCodes.h:144
@ Q
Definition KeyCodes.h:54
@ O
Definition KeyCodes.h:52
@ LeftShift
Definition KeyCodes.h:139
@ LeftControl
Definition KeyCodes.h:140
@ N
Definition KeyCodes.h:51
@ S
Definition KeyCodes.h:56
@ ButtonLeft
Definition MouseButtonCodes.h:26
TEMPORARY.
Definition WindowsInput.cpp:7
uint32_t Height
Definition Framebuffer.h:10
uint32_t Width
Definition Framebuffer.h:10
static void DisplayVesperInfo_ImGui()
Definition VesperImGui.h:7
Specification for creating a Framebuffer.
Definition Framebuffer.h:9