Commit graph

69 commits

Author SHA1 Message Date
4f74522979
fix: build 2025-07-04 22:11:26 +03:30
Light
acbed604bb Style: Rename *.h -> *.hpp 2022-03-08 21:19:19 +03:30
Light
dcedb1799c Style: Rename LT_* Log macros to LOG 2022-03-07 21:57:00 +03:30
Light
b1e60d08b7 Edit(Mirror): AssetBrowserPanel
- Renamed ContentBrowserPanel -> AssetBrowserPanel
- AssetBrowserPanel now shows directory/txt/image files
      with image buttons
2022-03-07 20:01:44 +03:30
Light
ffabc974aa Lets GOOOO 2022-03-04 22:40:20 +03:30
Light
102dec99e0 ltpch
- Added target_precompile_headers to CMakeLists
- Removed #include "ltpch.h" from every .cpp file
2021-10-07 14:51:17 +03:30
Light
74a6035c32 Scene Serialization
- Scenes can now be serialized and de-serialized into .yaml files
- Added yaml-cpp as Dependency
2021-10-05 13:44:32 +03:30
Light
33b28acd7b FileManager
- Added File utilities
     * 'FileManager'
     * 'BasicFileHandle'
     * 'ImageFileHandle'
- Moved 'ResourceManager' from 'GraphicsContext' to  'Application'
- Added static 'Quit' function to 'Application'
2021-10-02 08:51:54 +03:30
Light
b24c94a718 Fixed Windows 2021-09-24 17:20:19 +03:30
Light
eb00566953 Implemented ShaderConductor into Shaders
- glShader now uses ShaderConductor and compiles from .hlsl files
- Added Shader::Stage enum
- Removed .glsl files
- Improvements to CMakeLists files
- Maintenance
2021-09-13 12:17:26 +04:30
Light
ed486713d0 Converted from premake5 to CMake 2021-09-09 19:46:02 +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
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
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
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
c846e48c71 NativeScript, NativeScriptComponent
- Added NativeScript
- Added NativeScriptComponent
- Minor changes to clearing back buffer's color
2021-07-31 09:37:09 +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
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
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
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
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
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
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
cd30d0bba1 Instrumentpr
- Added Instrumentor
      * Instrumentor (class)
      * InstrumentorTimer (class, used statically)
      * ScopeProfileResult (struct)

- Tidy
      * wWindow::wWindow
2021-07-12 15:20:47 +04:30
Light3039
3363239c8d Linux fix
* Fixed lWindow
      # Fixed the key and mouse button events
      # Decleared the 'PollEvents' function
      # Decleared the 'OnEvent' function

* Fixed GraphicsContext (typo)
      # Changed the GraphicsContext::OpenGL to GraphicsAPI::OpenGL

* Fixed 'QuadRendererProgram' (linux)
      # Removed 'QuadRendererVertex''s forward decleration

* Fixed 'TextureRendererProgram' (linux)
      # Removed 'TextureRendererProgram''s forward decleration

* Added __builtin_trap on 'LT_*_ASSERT's for linux platforms
2021-07-12 11:32:07 +04:30
Light
a3f0693655 Blender
- Added 'Blender' (gl, dx)
2021-07-09 11:56:31 +04:30
Light
91a0c92fe7 - ConstantBuffers
- Added ConstantBuffers
- Updated GLAD to have GL_ARB_shading_language_420pack extensions
2021-07-05 14:36:36 +04:30
Light
b8ca0099cb Camera
- 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
2021-07-05 01:59:18 +04:30
Light
2ab97d3863 Major Maintenance
- 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
2021-07-01 19:25:46 +04:30
Light
7872e42c76 dxTexture
- Added dxTexture
- Added hlsl to TextureShader.h
2021-06-29 14:21:05 +04:30
Light
c9352407e1 Textures
- Added Texture and glTexture class ( no dx implementation yet )
- Added TextureRendererProgram to Renderer
- Added LoadTexture to ResourceManager
- Added TextureShader
- Added awesomeface.png
- Removed unused shader files from Sandbox/res
- Fixed gladLoadGLLoader call in glGraphicsContext
- Enabled alpha blending in glGraphicsContext
- Added stb_image library
2021-06-29 11:01:11 +04:30
Light3039
8ece539976 lWindow class
- Added window class for linux
2021-06-27 12:05:46 +04:30
Light
3c2e7d6bb1 Minor fixes
- 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
2021-06-26 15:59:26 +04:30
Light3039
a682523076 Initial Linux Support 2021-06-26 13:09:11 +04:30
Light
0801ced371 dx-OnWindowResize
- Added dxGraphicsContext::OnWindowResize
2021-06-21 18:09:28 +04:30
Light
f8b35c9572 Maintanance
- Some tidying
- dxGraphicsContext's constructor been split up into multiple Setup functions.
2021-06-21 18:08:25 +04:30
Light
0fc1896854 Handle DEVICE_REMOVED
- Added DXGI_ERROR_DEVICE_REMOVED handling in dxRenderCommand::SwapBuffers
2021-06-21 17:04:51 +04:30
Light
fcfe73923d Major changes
- Major tidying
- Some fixes
-
2021-06-19 15:12:42 +04:30
Light
21e4432c60 Maintenance
- Some tidying
- Minor fixes
2021-06-15 22:17:28 +04:30
Light
31560897cd Debug
- Added the Debug folder
- Moved the Logger from Core to Debug
- Added Exceptions ( glException & dxException )
- Debugging the graphics is now a bit easier
2021-06-15 11:10:04 +04:30