Commit graph

101 commits

Author SHA1 Message Date
Light
0080f6837c Improved Build Files 2021-08-21 15:53:36 +04:30
Light
32df2e01c6 Math
- Added Math namespace
- Added Rand functions
- Maintenance
2021-08-16 16:21:03 +04:30
Light
7ec9690f52 Maintenance
- Mirror project maintenance and tidying
- General maintenance
2021-08-14 16:17:33 +04:30
Light
e02a4850e0 UserInterface Maintenance 2021-08-11 17:40:01 +04:30
Light
73492dc415 UserInterface Style
- UserInterface is now beautiful >_<
2021-08-10 17:10:16 +04:30
Light
1afc1a00a5 OpenSans
- Added OpenSans font as default ImGui font
2021-08-10 11:46:13 +04:30
Light
b39518c74c DrawComponeent, RemoveComponent
- Added DrawComponent to PropertiesPanel
- Added RemoveComponet to Entity

- Maintenance
2021-08-10 11:45:35 +04:30
Light
0f9a8ff95e Update TransformComponent
- TransformComponent now holds translation, rotation and scale instead of transform
2021-08-07 19:04:38 +04:30
Light
0e31de13b9 Update glGraphicsContext.cpp
- OpenGL debug messages now ignore source: api, type: other, id: 131185
2021-08-07 19:03:03 +04:30
Light
68ef93bd9a Force use Dedicated Graphics
- Windows builds now use dedicated graphics
2021-08-07 16:39:42 +04:30
Light
6c630a269a Fixed FlushScene
- Fixed FlushScene defaulting the frame buffer by calling EndScene
2021-08-06 08:05:06 +04:30
Light
cc41ce24d5 Fixed glVertexBuffer
- Fixed glVertexBuffer multiplying count by size of float instead of stride
      * = Fixed TintedTexture for OpenGL
2021-08-06 07:44:48 +04:30
Light
367bce3596 TintedTextureRendererProgram
- I want to die, please just kill me and end my fucking suffering....
2021-08-05 21:24:20 +04:30
Light3039
f46cf23550 Linux fix 2021-08-03 17:34:45 +04:30
Light
06c728644f SceneCamera Properties
- PropertiesPanel now support SceneCamera component
- Added perspective support to SceneCamera
2021-08-02 12:18:00 +04:30
Light
54c195dae0 PropertiesPanel
- Added PropertiesPanel
2021-08-01 16:55:26 +04:30
Light
0c8b26360a New Events, Fixes
- 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
2021-08-01 16:43:59 +04:30
Light
42f26ac59e Maintenance
- Added LIGHT_OPENGL_ENABLE_SHADER_INFO_LOG to config.h
- Some maintenance
2021-08-01 11:57:51 +04:30
Light
fb4ba5c8bc SceneHierarchyPanel
- Added Panel
- Added SceneHierarchyPanel
2021-07-31 11:03:31 +04:30
Light
8367150145 TagComponent
- Added TagComponent
2021-07-31 11:02:59 +04:30
Light
c846e48c71 NativeScript, NativeScriptComponent
- Added NativeScript
- Added NativeScriptComponent
- Minor changes to clearing back buffer's color
2021-07-31 09:37:09 +04:30
Light
aab0c7b958 CameraComponent, SceneCamera
- Added CameraComponent
- Added SceneCamera
- Renamed the previous Camera to OrthographicCamera
- Added Camera
- Renderer now takes a Camera* for projection and mat4& for view
- Scene::OnRender now takes in an optional Framebuffer to render to
- Minor tidying
2021-07-30 14:40:34 +04:30
Light
98184d358f DrawQuad Transform
- DraqQuadImpl functions now call a non-static DrawQuadFinal function with a mat4
      transform matrix
2021-07-30 12:49:48 +04:30
Light
931a3a168c Components Folder
- Created a header file for each component inside a Components folder
- Fixed entt::entity's default value being entt::entity() to entt::null
- Minor tidying for DebugTrap
2021-07-30 11:20:52 +04:30
Light
9033ceffa1 Major changes
- Major maintenance
2021-07-29 17:12:13 +04:30
Light
ec8669d3fe VertexLayout
- Added Byte and UByte types to VertexLayout
- Changed sizeof(int/float...) to sizeof(GLint, GLfloat...) in glVertexLayout
2021-07-29 09:16:30 +04:30
Light
40355ebfc2 Minor changes
- Minor fixes
- Minor maintenance
2021-07-27 11:32:01 +04:30
Light
c34f5e03f0 KeyCodes, MouseCodes
- Added nameless enums for KeyCodes and MouseCodes
- Removed InputCodes
2021-07-26 12:34:35 +04:30
Light
55869f6106 Ref, Scope
- Changed all std::unique_ptr/shared_ptr stuff to use Ref/Scope
- Fixed the Logger.h include in Base.h problem
2021-07-26 11:43:37 +04:30
Light
0360d094d2 Ref. Scope
- Added Ref<T> and Scope<T> types to replace the std::shared_ptr<T> and
      std::unique_ptr<T>, currently it is being used as an alias
2021-07-26 10:00:29 +04:30
Light
8287b89fad Scene System
- Added Scene
- Added Entity
- Added Components
      * TransformComponent
      * SpriteRendererComponent

- Minor fixes
2021-07-25 17:50:08 +04:30
Light
b54afb6046 Added EnTT
- Added EnTT
- Minor maintenance and fixes
2021-07-24 13:54:50 +04:30
Light
4abde46290 Camera ClearColor
- Camera now has a clear color
- The backbuffer is now cleared using the currently bound camera's
      clear color
2021-07-24 10:00:15 +04:30
Light
2121e0ea16 stb_image Project
- stb_image is now built inside a project as a static library
2021-07-23 15:03:47 +04:30
Light
ffc29bec77 Maintenance
- Removed change log (was horrible idea D:)
- Fixed some premake mistakes
- Fixed a typo
- Enabled MultiProcessorCompile for windows builds
2021-07-23 11:22:01 +04:30
Light
9701b08cc3 Maintenance
- ImGui ini file handling and .gitignore
- Minor maintenance
2021-07-23 10:11:20 +04:30
Light
5cc82f1558 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'
2021-07-22 13:00:41 +04:30
Light
aac2c51bd5 Input
- Added 'Input'
- Added <InputCodes>
- The 'MirrorLayer''s ImGuiWindow, "GameView" will not receive/react to
      input events if the window is not focused
2021-07-21 20:03:39 +04:30
Light
43b2f72ded Layer Improvements
- Added 'Layer::OnEvent()', 'Layer' now handles an event by itself and
      doesn't need another class to determine the event's type
- Added reverse iterators 'rend()' and 'rbegin()' to 'LayerStack'

- Removed 'LayerStack::On*()', 'LayerStack' is meant to be a data
      structure for the layers,

- 'Layer::On*Event()' are now protected and called by 'Layer::OnEvent()'

- 'Application' now handles iterating through the 'Layer's
      and calling the update/on* functions

- Fixed a typo where in 'Mirror' where the name of the 'MirrorLayer' was
      "SandboxLayer" instead of "MirrorLayer"
2021-07-21 15:14:22 +04:30
Light
2967cf5675 Failed engine/client assertion
- Separated 'FailedAssertion' into 'FailedEngineAssertion' and
      'FailedClientAssertion'
- Minor adjustment to the change log
2021-07-21 13:52:30 +04:30
Light
919764cef7 LT_BERAK
- Added the 'LT_BERAK' macro, a portable debug-trap
2021-07-21 13:34:34 +04:30
Light
58ee71e0d8 Change log
- Added Change log
2021-07-21 13:27:29 +04:30
Light
2061abadd8 Framebuffer resizing
- 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
2021-07-16 19:59:14 +04:30
Light
e8b86931b2 Update LightEngine.h 2021-07-15 16:02:41 +04:30
Light
271f3b2075 Framebuffer
- Added 'Framebuffer'
- Added an optional 'FrameBuffer' parameter to'Renderer::BeginScene'
- Added 'RenderCommand::DefaultTargetFramebuffer()'
- Added static 'GraphicsContext::GetSharedContext()'

- Fixed 'dxBlender' by changing 'DestBlendAlpha' from D3D11_BLEND_ZERO
       to D3D11_BLEND_ONE
- Fixed 'glRenderCommand::ClearBackBuffer()' by calling glClear before
      glClearColor

- 'Application::GameLoop' now updates the ui ._.
2021-07-15 15:46:28 +04:30
Light
590c319d4d Instrumentor
- 'Instrumentor' now creates a directory for the specified session path
- Added <filesystem> to <ltpch>
2021-07-15 01:10:50 +04:30
Light3039
d2bd0881d1 Linux fix
- Fixed 'Instrumentor' by including 'ostream' & 'fstream'
- Fixed 'Application' by including 'Instrumentor'
- Fixed both 'RendererProgram''s 'Advance()', should have returned true
2021-07-14 02:19:52 +04:30
Light
aaf1bbfe74 WindowResizeEvent | FlushScene
- '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'
2021-07-14 00:18:34 +04:30
Light
57616d755c WindowResizeEvent | FlushScene
- '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'
2021-07-14 00:17:30 +04:30
Light
44b135f157 Instrumentor
- 'Instrumentor' now tracks the sessionn's submit count
- 'Instrumentor::SubmitScopeProfileImpl' no longer uses a static variable
2021-07-14 00:16:10 +04:30