SirLynix
6df919eb70
Renderer/WindowSwapchain: Don't create swapchain on minimized window
...
This is mainly to prepare for Android "windows" where the window is considered minimized when app is in the background (and thus has no ANativeWindow to render to)
2023-02-26 13:45:18 +01:00
SirLynix
421e684344
OpenGLRenderer: Fix FboFramebuffer making context switches
...
When a window was created and rendered onto, FBO rendering was made on the device reference context which required a context switch.
This has been fixed with OpenGLFboFramebuffer managing a per-context framebuffer and creating one when needed
2023-02-26 13:43:21 +01:00
SirLynix
2e8ea0e887
Graphics/TextSprite: Fix outline showing up over glyphs
2023-02-22 19:12:15 +01:00
SirLynix
5833ce573d
Graphics: Switch glyph atlases to R8 instead of A8
...
A8 can't be supported efficiently on API lacking texture swizzle support (DX, WebGL, WebGPU), so we swizzle in the shader instead
2023-02-22 19:11:41 +01:00
SirLynix
b38f9dc79b
Core/Log: Pass string_view by value instead of ref
2023-02-22 19:04:07 +01:00
SirLynix
e96204a2ab
Graphics/AbstractViewer: Set virtual destructor
2023-02-15 16:33:02 +01:00
SirLynix
dd97832430
Core/AppFilesystemComponent: Add MountDefaultDirectories
2023-02-08 12:19:01 +01:00
Jérôme Leclercq
20f70533c0
Fix wasm ci ( #391 )
...
* Update wasm-build.yml
* Set embed_rendererbackends with wasm
* wasm fixes
* Fix CI
* Update wasm-build.yml
* More wasm fixes
* Final fixes
2023-02-05 15:03:48 +01:00
SirLynix
5a57aca66a
Last changes
2023-02-02 20:34:25 +01:00
SirLynix
292ca60592
WIP
2023-02-02 20:34:25 +01:00
SirLynix
5b3703347f
OpenGLRenderer: Use a single context with WebGL
2023-02-02 20:34:25 +01:00
SirLynix
ea5c5240fc
Improve emscripten support
2023-02-02 20:34:25 +01:00
REMqb
7cb90782de
~ fix post rebase & dirty fix avoid deleting shaders before linking them
2023-02-02 20:34:25 +01:00
REMqb
f172330aaf
~ WIP port emscripen (WebGL)
2023-02-02 20:34:25 +01:00
SirLynix
304bf35c08
Core/AppFilesystemComponent: Add Open method
2023-02-02 18:30:36 +01:00
SirLynix
3d2aa94ac4
Core/AppFilesystemComponent: Rename GetOrLoad to Load
2023-02-02 18:30:24 +01:00
SirLynix
35172f5028
Fix some warnings
2023-02-02 13:28:36 +01:00
SirLynix
88a0bf95ca
Utility/ImageStream: Use Time class instead of UInt64 for frametime
2023-02-02 13:27:21 +01:00
SirLynix
6508b84e5c
Platform/AppWindowingComponent: Fix missing initialization of "quit on last window closed"
2023-02-02 13:10:18 +01:00
SirLynix
eb74c6ed07
Restore plugin prefix
2023-01-29 21:59:24 +01:00
SirLynix
8bc953240d
Core/FilesystemComponent: Add a way to fix indices accross DLL boundaries
2023-01-29 18:13:35 +01:00
SirLynix
3f200edeb6
Graphics: Set default render mask for LightComponent and GraphicsComponent
2023-01-29 11:38:08 +01:00
SirLynix
4a91f3d470
Renderer: Make WindowSwapchain a RenderTarget
...
To make it easier to handle window re-creation
2023-01-29 10:38:35 +01:00
SirLynix
97fa4d98be
Rework EnTT integration
...
- Update EnTT to 3.11.1
- Moved EnTT wrapper to EnTTWorld, inheriting EntityWorld
- AppEntitySystemComponent can now handles multiple EntityWorld
- Headers relying on EnTT are now automatically included if NAZARA_ENTT is defined
- Renamed SystemGraph to EnttSystemGraph (as it depends on it for now)
2023-01-28 19:28:43 +01:00
SirLynix
d27ca55943
Core/AppFilesystemComponent: Add support for default resource parameters
2023-01-28 11:27:49 +01:00
SirLynix
ca0c4a5db7
Core: Add AppFilesystemComponent
2023-01-22 18:00:26 +01:00
SirLynix
f98cbcd00a
Copyright year update
2023-01-22 17:41:18 +01:00
SirLynix
2b7ff9274c
Core/Application: Add updaters
2023-01-22 12:37:58 +01:00
SirLynix
a71d4885f9
Core/Application: Accept module configuration
2023-01-22 12:37:58 +01:00
SirLynix
d3c05c9ade
Update globalheaders and fix includes/header guards
2023-01-22 12:37:58 +01:00
SirLynix
da9eb14ebe
Handle windows and EnTT with application components
2023-01-22 12:37:58 +01:00
SirLynix
18851c9185
Replace RenderWindow with swapchains
2023-01-22 12:37:58 +01:00
Lynix
8db1c04568
Make Application template and responsible for modules init
2023-01-22 12:37:58 +01:00
SirLynix
04bfa97579
Add Application base classes (WIP)
2023-01-22 12:37:58 +01:00
SirLynix
ba3f26d074
Minor fixes
2023-01-21 19:10:51 +01:00
SirLynix
a1480fc2db
Graphics: Fix text atlas resizing
2023-01-21 19:10:40 +01:00
Lynix
cc1246dcac
VulkanRenderer: Fix 32bits compilation
2023-01-02 22:11:00 +01:00
SirLynix
a8b6d9cb42
Renderer/RenderFrame: Use FunctionRef instead of std::function to avoid allocations
2023-01-01 19:48:51 +01:00
Jérôme Leclercq
dd421a6385
Replace float/UInt64 durations by a more precise Time class ( #388 )
...
Improve Clock class with atomic RestartIfOver method and allows to choose required precision
2022-12-29 21:31:46 +01:00
SirLynix
2243d0b1a7
Move free operator overloads inside Nz namespace
2022-12-29 12:15:22 +01:00
SirLynix
763bef3fdd
Core: Make Uuid constexpr
2022-12-29 12:13:18 +01:00
SirLynix
9a553e5e9d
Core: Make Color constexpr
2022-12-29 12:13:00 +01:00
SirLynix
fe8715f1fb
Renderer: Working compute implementation
2022-12-25 19:19:16 +01:00
SirLynix
4605eed0da
Add compute demo (WIP) + fixes creation of compute pipelines
2022-12-25 19:19:16 +01:00
SirLynix
9578ba3ef5
Add initial support for compute pipelines
2022-12-25 19:19:16 +01:00
SirLynix
e4064997d8
Renderer: Split OpenGL and OpenGL ES in two RenderAPI enums
2022-12-25 16:11:28 +01:00
SirLynix
46fe1c550c
Fixes unit tests
2022-12-18 17:08:03 +01:00
SirLynix
5ca7b398c2
More Math cleanup
2022-12-18 16:33:05 +01:00
SirLynix
627b7a1972
Graphics/Light: Fix warning in release
2022-12-18 15:04:01 +01:00
SirLynix
3c86b84e13
Graphics: Rework tilemap class (and fix its AABB)
2022-12-18 14:57:40 +01:00
SirLynix
830eee78a8
Math: Rework Box and Rect classes
2022-12-18 14:57:14 +01:00
SirLynix
d4422c4102
Graphics: Add origin to all sprite-based renderables (and made it a factor)
2022-12-17 14:48:50 +01:00
Jérôme Leclercq
0537be3201
Graphics/Sprite: Fix SetTextureRect
2022-12-14 09:53:23 +01:00
SirLynix
8b101114d1
Minor fixes
2022-12-08 19:20:54 +01:00
SirLynix
f8238a6e6c
Graphics: Implement point-light shadow-mapping
2022-12-08 18:17:13 +01:00
SirLynix
39f206d60e
Fix rebase error
2022-12-08 18:17:13 +01:00
SirLynix
5a57976b4b
Graphics/FrameGraph: Add support for cubemap and slice rendering
2022-12-08 18:17:13 +01:00
SirLynix
4ae3f51174
VulkanRenderer: Fix views and arrays support
2022-12-08 18:17:13 +01:00
SirLynix
56acbb2694
Renderer: Improve texture view support (and support emulation for OGL)
2022-12-08 18:17:13 +01:00
SirLynix
08ea4c87a7
Improve texture view support
2022-12-08 18:17:13 +01:00
SirLynix
42f8cdb151
Add initial support for texture views
2022-12-08 18:17:13 +01:00
SirLynix
902dee6121
Renderer/TextureInfo: Separate layerCount from size
2022-12-08 18:17:13 +01:00
SirLynix
1768f20365
Graphics: Move shadow-mapping related code to LightShadow classes
2022-12-08 18:17:13 +01:00
SirLynix
ec3bc45544
Graphics/LightComponent: Replace AttachLight with AddLight
2022-12-08 18:17:13 +01:00
SirLynix
d7eab778fb
Graphics/FrameGraph: Add FramePassAttachmentSize enum instead of boolean
2022-12-08 18:17:13 +01:00
SirLynix
f580ba523d
Graphics: Send shadow map res to shader
2022-12-08 18:17:13 +01:00
SirLynix
3623f4ccc4
Add support for moving shadow-casting lights
2022-12-08 18:17:13 +01:00
SirLynix
a5d4b8f28d
Renderer/DebugDrawer: Add support for Frustum
2022-12-08 18:17:13 +01:00
SirLynix
6ef4c14772
Renderer: Change binding members order
2022-12-08 18:17:13 +01:00
SirLynix
e990a320cc
WIP
2022-12-08 18:17:13 +01:00
SirLynix
4a10c1f8fe
Add shadow mapping (wip)
2022-12-08 18:17:13 +01:00
SirLynix
b79718404c
Fix OpenAL extensions functions
2022-12-06 12:54:22 +01:00
Jérôme Leclercq
346fbdda05
Remove wrongly committed file
2022-12-06 09:14:15 +01:00
SirLynix
75bbc5df09
Minor fixes
2022-12-06 09:07:18 +01:00
SirLynix
f2c83df8ff
OpenGLRenderer: Print GL call and parameters on failure
2022-12-06 07:53:32 +01:00
SirLynix
ccf77ac459
OpenGLRenderer: Setup draw buffers only once
2022-12-06 07:49:41 +01:00
SirLynix
2dd0e7d9c8
Audio: Add an option to directly link OpenAL
2022-12-06 07:48:03 +01:00
SirLynix
98cf8b3d33
Fix compilation
2022-12-03 11:48:58 +01:00
SirLynix
77642cf431
Renderer: Implement and use debug names
2022-12-02 22:46:43 +01:00
Lynix
02387b8fe3
Graphics: Add Tilemap
2022-11-25 19:28:22 +01:00
SirLynix
85b7e06ae8
Fix some additional warnings
2022-11-19 13:44:33 +01:00
SirLynix
5ca2cf9320
Fix a bunch of warnings
2022-11-19 11:02:16 +01:00
SirLynix
842e797cc4
Fix a bunch of warnings
2022-11-13 16:12:49 +01:00
SirLynix
640d877761
Forgot this file
2022-11-07 02:16:47 +01:00
SirLynix
ad1f3bc321
Graphics/Graphics: Add preferred depth format
2022-11-06 23:45:37 +01:00
Lynix
0133a91c4d
OpenGLRenderer: Fix FBO clearing when scissor is enabled
2022-11-06 15:31:55 +01:00
SirLynix
45d4195527
Math/Box|Rect: Fix Intersect method with zero-sized boxes
2022-11-05 00:49:38 +01:00
SirLynix
fe0d70d9e1
Graphics/MaterialInstance: Add LoadFrom*
2022-11-05 00:28:33 +01:00
SirLynix
1205155466
Graphics/Material: Rename CreateInstance to Instantiate
2022-11-05 00:14:16 +01:00
SirLynix
6b8be23fa0
Switch index/vertex count to UInt32
2022-10-31 19:54:25 +01:00
Jérôme Leclercq
dc6ce8427c
Refactor material system ( #382 )
2022-10-31 19:53:41 +01:00
SirLynix
364d1bafb4
Math: Add support for Turn angles
2022-09-26 19:09:30 +02:00
SirLynix
6372f9cad8
Fix compilation
2022-09-24 16:02:32 +02:00
SirLynix
6d0b53b39e
Core: Rework HardwareInfo
2022-09-24 15:52:29 +02:00
SirLynix
9cd7976a91
Remove "MemoryManager" and very old code
2022-09-24 14:25:52 +02:00
SirLynix
6bf4ccaae1
Core/ParameterList: Rework Parameter getter using Result
2022-09-09 13:47:06 +02:00
SirLynix
e063c7b45e
Network/ENet: Add DisconnectTimeout event
2022-09-09 12:56:50 +02:00
SirLynix
99c9df5731
Graphics: Add default materials
2022-09-08 08:57:11 +02:00
SirLynix
fbdc1faf8c
Graphics: Add TextureLoader
2022-09-07 13:31:21 +02:00
SirLynix
47cb878f9d
Major ResourceLoader rework (using Nz::Result)
2022-09-07 13:31:04 +02:00
SirLynix
131faa4fbd
OpenGLRenderer: Take advantage of glClipControl if available
2022-09-06 13:01:44 +02:00
SirLynix
359c176b03
Network/ENetHost: Expose AllocatePacket
2022-09-01 20:21:27 +02:00
SirLynix
25f44a624a
Fix compilation
2022-08-30 19:45:05 +02:00
SirLynix
04d2f4a6c2
Graphics/MaterialPipeline: Rework GetRenderPipeline
...
Decrease the need for memory allocations in most cases (especially for sprites)
2022-08-30 19:29:23 +02:00
SirLynix
017a6c7af3
Graphics: Use memory pools for render elements
2022-08-30 19:27:52 +02:00
SirLynix
7949c57f16
Utility: Add a better way to attach objects to joints
2022-08-30 18:31:04 +02:00
Lynix
45c947faf1
Core/PoolByteStream: Fix pool returning on Reset
2022-08-28 17:54:49 +02:00
SirLynix
50ed8b4028
Add initial support for skeletal entities / components
2022-08-27 03:07:48 +02:00
SirLynix
642d043fd8
Fix MinGW compilation
2022-08-25 12:59:01 +02:00
SirLynix
9e56592211
Skeleton: Fix method name
2022-08-25 12:59:01 +02:00
SirLynix
133caac5b5
Minor fixes
2022-08-25 12:59:01 +02:00
SirLynix
8d39441bd1
Utility/Skeleton: Add GetRootJoint method
2022-08-25 12:59:01 +02:00
SirLynix
7ada266917
Graphics: Add PredefinedSkeletalData
2022-08-25 12:59:01 +02:00
SirLynix
987c23c3ef
Fix link issues
2022-08-25 12:59:01 +02:00
SirLynix
3a366cc1e4
Core: Rewrite plugin system
2022-08-25 12:59:01 +02:00
SirLynix
d60fce169a
Fix merge
2022-08-25 12:59:01 +02:00
SirLynix
b8ea79c40e
Commit current work
2022-08-25 12:59:01 +02:00
SirLynix
a7ab2fbaf4
Utility: Replace Skin* by SkinLinearBlend function
2022-08-25 12:59:01 +02:00
SirLynix
e5e3026005
Push current work
2022-08-25 12:59:01 +02:00
SirLynix
104f60f3e7
Add support for GPU skinning (WIP)
2022-08-25 12:59:01 +02:00
SirLynix
507a4f16be
Fix compilation
2022-08-17 20:22:49 +02:00
SirLynix
c669c68533
Minor fixes
2022-08-17 20:13:00 +02:00
SirLynix
f1549b934c
Graphics: Add DebugDrawer support
2022-08-17 20:12:49 +02:00
SirLynix
4a5f866754
Renderer: Add DebugDrawer
2022-08-17 20:11:06 +02:00
SirLynix
099528758c
OpenGLRenderer: Fix explicit texture/block binding (fixes GLSL ES 3.0 support)
2022-08-12 23:01:58 +02:00
SirLynix
a108e6ce65
VulkanRenderer: Update headers and VMA
2022-08-10 00:24:13 +02:00
SirLynix
117f7c2a4b
Renderer: Allow to enable or disable API validation layers using config
2022-08-10 00:04:46 +02:00
SirLynix
38e32025e9
Add a way to embed renderer backends code into NazaraRenderer
2022-08-07 20:19:04 +02:00
SirLynix
09d21b4a45
Fix usage from C++20
2022-08-03 20:11:25 +02:00
SirLynix
27dab13484
Fix BoxLayout
2022-08-02 08:13:17 +02:00
SirLynix
caa9d4c11e
Remove ProgressBarWidget for now
2022-08-02 08:13:17 +02:00
SirLynix
e51695274c
Widgets: Fix ScrollAreaWidget
2022-08-02 08:13:17 +02:00
SirLynix
0fcf24f336
Widgets: Rework event dispatching
2022-08-02 08:13:17 +02:00
SirLynix
05c78da22a
WIP
2022-08-02 08:13:17 +02:00
Lynix
c728e0cf5d
Add initial support for PBR material data
2022-07-19 20:02:40 +02:00
Lynix
ad8b46db38
Rename Diffuse to BaseColor
2022-07-19 20:02:01 +02:00
SirLynix
ccd7885213
Fix compilation
2022-07-18 22:04:44 +02:00
SirLynix
3e21b4bea6
Add PBR rendering (WIP)
2022-07-18 22:04:44 +02:00
SirLynix
96599d1116
Graphics: Add LinearSlicedSprite class
2022-07-12 08:45:02 +02:00
SirLynix
6203d5f0d1
Graphics/SlicedSprite: Fix GetTopLeftCorner linking
2022-07-12 08:44:43 +02:00
SirLynix
3507ec570f
Network: Fix ENetPacket
2022-07-07 08:50:18 +02:00
SirLynix
2229dfd6e5
Core/VirtualDirectory: Handle physical directories as virtual directories
2022-07-07 08:50:03 +02:00
SirLynix
e7f4714747
Core/SystemGraph: Fix GetSystem
2022-07-07 08:45:02 +02:00
SirLynix
1b678defae
Add system graph (wip)
2022-07-02 19:45:50 +02:00
SirLynix
4d24be2ae9
Utility/NodeComponent: Use entt::handle for SetParent
2022-07-02 19:45:33 +02:00
SirLynix
d5f70279a1
Utility: Add velocity component and system
2022-07-02 19:43:58 +02:00
SirLynix
99b4397d78
Core: Add Lifetime component and system
2022-07-02 19:43:02 +02:00
SirLynix
a61ebb7806
OpenGLRenderer: enable GL_TEXTURE_CUBE_MAP_SEAMLESS on OpenGL
...
to match other API behavior
2022-07-02 19:28:20 +02:00
SirLynix
093d9d344e
Renderer: Add support for storage buffers
2022-06-17 20:15:16 +02:00
SirLynix
6f18a02999
Add fullscreen vertex shader module
2022-06-16 19:26:57 +02:00