- Added File utilities
* 'FileManager'
* 'BasicFileHandle'
* 'ImageFileHandle'
- Moved 'ResourceManager' from 'GraphicsContext' to 'Application'
- Added static 'Quit' function to 'Application'
- Added SetCharEvent
- Added KeyRepeatEVent
- Fixed ImGui not picking keys from io.KeyMap because it gets assigned to VK_**
keys from windows after ImGui_ImplWin32_Init call, had to re-assign them back
to Key::** (glfw key codes)...
- Removed UserInterface::OnInput
- Maintenance
- Added 'Get*Ref()' to 'dxSharedContext'
- Fixed 'dxFramebuffer::Resize' not resizing :/
- Fixed 'dxFrameBuffer::BindAsTarget' not setting the viewport
- Fixed 'dxRenderCommand::SetViewport()' not resizing the swapchain's
buffer
- Improved 'dxGraphicsContext''s debug interface
- Removed most of the 'ComPtr's in 'dxGraphicsContext', they can be
accessed with the 'm_SharedContext'
- Added 'Camera::OnResize()' for keeping the aspect ratio updated to
prevent streching/squashing the scene
- Added 'FrameBuffe::Resize()'
- Enabled ImGui docking and viewport
- 'MirrorLayer::m_Camera' & 'MirrorLayer::m_Framebuffer' now adjust their properties
when ImGui's available region changes
- 'Renderer' now receives 'WindowResizedEvent' and handle the
'Framebuffer' and viewport stuff
- Added 'Renderer' now uses the new 'FlushScene' function to flush when
the mapped vertex buffer is filled
- The viewport is now set by 'RenderCommand' via the 'Renderer' rather
than the 'GraphicsConntext'
- 'Window' no longer sends 'WindowResizedEvent' to 'GraphicsContext'
- 'GraphicsContext' no longer receives 'OnWindowResize' events
- Note: Sending events should be done by the 'Application'
- Note: Excuse the double commit, forgot to commit 'wWindow.cpp'
- 'Renderer' now receives 'WindowResizedEvent' and handle the
'Framebuffer' and viewport stuff
- Added 'Renderer' now uses the new 'FlushScene' function to flush when
the mapped vertex buffer is filled
- The viewport is now set by 'RenderCommand' via the 'Renderer' rather
than the 'GraphicsConntext'
- 'Window' no longer sends 'WindowResizedEvent' to 'GraphicsContext'
- 'GraphicsContext' no longer receives 'OnWindowResize' events
- Note: Sending events should be done by the 'Application'
- Added 'Camera'
- Added 'SetuniformMat4' to the 'Shader' , this is a temporary solution
- Added u_ViewProjection to glsl shaders
- Fixed 'Application's' placeholder delta time
- Fixed glfwKeyEvent returning KeyReleasedEvent on GLFW_REPEAT
- Note: Camera is not supported for DirectX for the time being due to hlsl not
supporting uniforms like glsl
- Major tidying
- Moved 'RendererProgram' classes out of the 'Renderer' class
- Moved 'RenderCommand' member variable out of 'GraphicsContext' and into
the 'Renderer' class as a unique_ptr. results in 'Renderer' taking a
windowHandle for construction
- Defined new macros for max quads in 'Renderer.h'
- Added the 'Stringifier' to 'Base.h'
- Added the 'ResourceManager' to the 'LightEngine.h'
- Application now logs the current file directory
- Fixed the forward declaration in GraphicsContext
- Fixed the debug break in Base.h
- Fixed 'dxShader' not logging compile errors
- 'glVertexLayout' now takes in a shared_ptr for 'VertexBuffer'
- 'glShader' now logs the shader compilation errors properly
- 'dxVertexLayout' now takes in a shared_ptr for 'Shader"
- Modified 'dxSharedContext' members to be private and made getters for them
- 'dxRenderCommand::SwapBuffers' now throws dxException for
DXGI_ERROR_DEVICE_REMOD error
- removed the test '#error' in 'Base.h'
- changed from random color per vertex to input 'tint' from argument in 'DrawQuad'
- reverted back some window creation stuff
- Added the Debug folder
- Moved the Logger from Core to Debug
- Added Exceptions ( glException & dxException )
- Debugging the graphics is now a bit easier