Lynix
02387b8fe3
Graphics: Add Tilemap
2022-11-25 19:28:22 +01:00
Jérôme Leclercq
082015a0c5
Fix macOS compilation ( #384 )
...
Disable X11 on macOS, I don't know why it's enabled
2022-11-19 13:37:42 +01:00
SirLynix
2946fc7f0d
Fix compilation after NZSL update
2022-11-18 21:31:06 +01:00
SirLynix
2fd2e190b9
FrameGraph: Fix texture pool
2022-11-15 18:01:51 +01:00
SirLynix
842e797cc4
Fix a bunch of warnings
2022-11-13 16:12:49 +01:00
SirLynix
ad1f3bc321
Graphics/Graphics: Add preferred depth format
2022-11-06 23:45:37 +01:00
SirLynix
ea3c363b58
Graphics/ShaderReflection: Add support for texture arrays
2022-11-06 23:15:22 +01:00
Lynix
0133a91c4d
OpenGLRenderer: Fix FBO clearing when scissor is enabled
2022-11-06 15:31:55 +01:00
SirLynix
04a8b03cf3
Graphics/TextureLoader: Add support for alpha-test and alpha-blending
2022-11-05 00:29:25 +01:00
SirLynix
fe0d70d9e1
Graphics/MaterialInstance: Add LoadFrom*
2022-11-05 00:28:33 +01:00
SirLynix
5502e51d71
Graphics: Move skinning to a separate module
2022-11-05 00:26:56 +01:00
SirLynix
1205155466
Graphics/Material: Rename CreateInstance to Instantiate
2022-11-05 00:14:16 +01:00
SirLynix
4e631da7dc
Renderer/Texture: Preserve filepath when loading image
2022-11-05 00:12:01 +01:00
SirLynix
ab154819a7
Graphics: Make use of new auto_binding
2022-10-31 22:44:19 +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
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
3f38c52455
xmake check-files -f
2022-09-08 08:58:22 +02:00
SirLynix
a8c54abdd0
Graphics: Add skinning support to DepthMaterial
2022-09-08 08:57:37 +02:00
SirLynix
99c9df5731
Graphics: Add default materials
2022-09-08 08:57:11 +02:00
SirLynix
7f7ddb415b
Graphics: Fix TextureLoader
2022-09-08 08:56:57 +02:00
SirLynix
72d908817d
Fix compilation with unity build
2022-09-07 19:28:41 +02:00
Jérôme Leclercq
5cb50928f7
Utility: Fix STBLoader
2022-09-07 15:40:14 +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
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
01f3f350fe
Core/PluginLoader: Allows loading from environment folders
2022-08-27 02:58:34 +02:00
SirLynix
999593ca51
Fix compilation
2022-08-25 12:59:01 +02:00
SirLynix
4a55d40aec
Skeleton: Improve skeleton copy performance (O(n²) => O(n))
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
3a366cc1e4
Core: Rewrite plugin system
2022-08-25 12:59:01 +02:00
SirLynix
b37af6da31
Final skeletal fixes
2022-08-25 12:59:01 +02:00
SirLynix
a9801894e8
Merge fixes
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
6f1e72b2ac
Merge fixes
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
41523f8ca8
Fix compilation
2022-08-02 08:13:17 +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
SirLynix
6004987dee
Fix compilation with last nzsl version
2022-07-27 23:15:08 +02:00
Lynix
bff356f7df
PhysicallyBasedMaterial: Fix AmbientColor/SpecularColor
2022-07-19 20:03:05 +02:00
Lynix
ad8b46db38
Rename Diffuse to BaseColor
2022-07-19 20:02:01 +02:00
Lynix
75015862dc
Fix PBR example
2022-07-18 22:34:14 +02:00
SirLynix
bcdb0f98f0
Move Cook-Torrance functions to a separate module
2022-07-18 22:04:44 +02:00
SirLynix
b2fad27618
Fix basic material and add demo
2022-07-18 22:04:44 +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
8f4c828d0c
Fix warning
2022-07-16 14:17:14 +02:00
SirLynix
6882163693
Update for latest NZSL version
2022-07-16 14:17:04 +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
63e74b4f47
Physics2D/RigidBody2D: Fix crash when moving an already moved value
2022-07-07 08:50:44 +02:00
SirLynix
3507ec570f
Network: Fix ENetPacket
2022-07-07 08:50:18 +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
2b4075dc9b
OpenGLRenderer: Fix incorrect warning on max storage buffer supported
2022-07-02 19:27:39 +02:00
SirLynix
2e894336e5
VulkanRenderer: Fix minUniformBufferOffsetAlignment limit
2022-06-28 20:21:33 +02:00
SirLynix
87cb72217e
ShaderNode: Fix compilation
2022-06-28 12:40:12 +02:00
SirLynix
4f08e7d848
Improve readability of tangent computing
2022-06-28 08:58:08 +02:00
SirLynix
cefa620b20
PhongMaterial: Move TBN computation to fragment shader
2022-06-28 08:56:43 +02:00
SirLynix
9f360f6675
Graphics: Watch dev files in debug for changes
2022-06-28 08:56:14 +02:00
SirLynix
87012a4a52
GraphicalMesh: Handle missing index buffer
2022-06-28 08:55:48 +02:00
SirLynix
093d9d344e
Renderer: Add support for storage buffers
2022-06-17 20:15:16 +02:00
SirLynix
813314b5d5
UberShader: Handle case where entry points come from imported modules
2022-06-17 19:07:40 +02:00
SirLynix
6f18a02999
Add fullscreen vertex shader module
2022-06-16 19:26:57 +02:00
SirLynix
62ba4f172b
Graphics/GraphicalMesh: Allow to update submeshes
2022-06-16 18:19:48 +02:00
SirLynix
2cc4944f58
Fix compilation
2022-06-16 18:19:19 +02:00
SirLynix
8e8bee7037
Temp fix for NZSL update
2022-06-15 20:26:14 +02:00
Jérôme Leclercq
a237102de9
Music: fix concurrent access on destruction
2022-06-07 22:47:54 +02:00
Lynix
916fecbf37
ShaderNode: Fix compilation
2022-06-07 20:59:54 +02:00
SirLynix
16922a9519
Audio/Music: Fix datarace
2022-06-07 20:18:26 +02:00
SirLynix
c7b6d83bbc
Last nzsl version update
2022-06-07 20:18:16 +02:00
SirLynix
510ef8c41e
Update shaders to new import syntax
2022-06-05 18:51:46 +02:00
SirLynix
49ba0c1ca2
Restore Widgets resources
2022-05-27 13:08:28 +02:00
Jérôme Leclercq
03e2801dbe
Split engine to packages NazaraUtils and NZSL ( #375 )
...
* Move code to NazaraUtils and NZSL packages
* Reorder includes
* Tests: Remove glslang and spirv-tools deps
* Tests: Remove glslang init
* Remove NazaraUtils tests and fix Vector4Test
* Fix Linux compilation
* Update msys2-build.yml
* Fix assimp package
* Update xmake.lua
* Update xmake.lua
* Fix shader compilation on MinGW
* Final fixes
* The final fix 2: the fix strikes back!
* Disable cache on CI
* The return of the fix™️
2022-05-25 19:36:10 +02:00
SirLynix
5544d336ab
Shader: Fix index remapping when importing a text shader in a precompiled shader
2022-05-12 23:08:21 +02:00
SirLynix
6469ab5fde
Utility: Refactor some algorithms
2022-05-12 18:15:20 +02:00
SirLynix
7c2b8e0576
Core/File: Add WriteWhole static function
2022-05-12 18:11:41 +02:00
SirLynix
a8e69882fb
Core/PluginManager: Fix plugin loading under Linux
2022-05-09 13:19:44 +02:00
SirLynix
b0ecb64f19
OpenGLRenderer: Fix loading of glSpecializeShader
2022-05-09 13:19:31 +02:00
Lynix
5f389ef0a4
Core/File: Add ReadWhole
2022-05-08 15:50:29 +02:00
Lynix
3c8b4c2587
Audio: Fix loading of OpenAL
2022-05-08 15:44:59 +02:00
Lynix
17b1c2407d
Audio/AudioSource: Add GetSampleOffsetAndLatency
2022-05-08 15:44:41 +02:00
SirLynix
41712a3f18
Minor fixes
2022-05-08 13:21:20 +02:00
SirLynix
4794073b73
Audio: Add support for AL_SOFT_source_latency
2022-05-08 13:20:55 +02:00
SirLynix
00f11a74dc
ShaderCompiler: Don't return success if compilation failed
2022-05-07 15:30:44 +02:00
SirLynix
21a38fb31b
Audio: Add some fixes and tests
2022-05-06 12:41:02 +02:00
SirLynix
81085508ec
Minor fixes
2022-05-05 20:20:44 +02:00
SirLynix
973b589b08
Shader: Fix conditional statement handling in partial compilation mode
2022-05-05 20:19:27 +02:00
SirLynix
e62969999a
ShaderCompiler: Add --log-format option
2022-05-05 20:18:34 +02:00
SirLynix
106d629342
Shader: Update SPIRV data
2022-05-05 20:17:32 +02:00
Alexandre Janniaux
f146661a76
VulkanRenderer: implement metal view
...
The metal view backing the MoltenVK compatibility wrapper is written in
Obj-C.
It would have been possible to use the Objective-C runtime in C++ but
the code is less performant (the symbol binding is done at first use
instead of the beginning of the program) and actually harder to get
right.
Note that MoltenVK is not linked to the loader, so the libMoltenVK.dylib
object must be available for loading.
2022-05-04 22:12:01 +02:00
Jérôme Leclercq
e6c74fbc5f
Physics2D/Constraint2D: Add method GetLastImpulse
2022-05-01 17:37:11 +02:00
SirLynix
13f765fc0d
Utility: Fix GIF loading
2022-04-27 18:24:00 +02:00
SirLynix
2a091d25b7
Utility: Add ImageStream and GIF support
2022-04-27 18:24:00 +02:00
SirLynix
3d15f3578b
Utility: Use UInt64 to store index/vertex instead of size_t
2022-04-23 23:12:40 +02:00
SirLynix
8cd1f2d590
Update AlgorithmUtility.cpp
2022-04-23 22:29:07 +02:00
SirLynix
0f58117b76
Fix compilation on macOS
2022-04-23 22:23:07 +02:00
SirLynix
e1d2063bf0
Audio/DummyAudioSource: Fix status after Stop() call
2022-04-23 16:43:08 +02:00
SirLynix
2389a2fe53
Platform/WindowManager: Rename to WindowBackend
2022-04-23 16:26:59 +02:00
SirLynix
e7274b24e9
Core/Color: Switch formal from RGBA8 to RGBA32F
2022-04-23 16:08:15 +02:00
SirLynix
de53c88c01
Utility/Algorithm: Use UInt64 for index count and vertex count
2022-04-23 14:07:26 +02:00
SirLynix
a10682628d
Warning fixes
2022-04-23 12:25:54 +02:00
SirLynix
1fc226dd7e
Shader/IndexRemapperVisitor: Fix small issue
2022-04-23 12:15:23 +02:00
SirLynix
947cc96923
Audio/Music: Fix Play() call after music stopped
2022-04-21 18:25:42 +02:00
SirLynix
e11644a81d
Shader/IndexRemapperVisitor: Fix unhandled cases
2022-04-20 01:02:42 +02:00
SirLynix
5a7bd44744
Graphics/MaterialPass: Fix option values in release
2022-04-19 19:16:03 +02:00
SirLynix
e5f552ef47
Shader: Fix import of non-compiled module
2022-04-19 19:15:49 +02:00
SirLynix
36e5356c22
Shader: Fix import of already compiled module
2022-04-19 18:32:17 +02:00
SirLynix
7fccfbb63e
Minor fixes
2022-04-19 18:32:16 +02:00
SirLynix
c209552f81
Math/Matrix4: Rework "transform matrix" support
2022-04-19 18:32:16 +02:00
SirLynix
02ffbcc50b
Shader: Fix scoping on unrolled for-each
2022-04-19 18:32:16 +02:00
SirLynix
b52a380839
Shader: Fix unroll duplicate identifier error with GLSL
2022-04-19 18:32:16 +02:00
SirLynix
6e47553b16
OpenGLRenderer: Fix integer vertex attribute handling
2022-04-19 18:32:16 +02:00
SirLynix
effe384c0b
Utility/MD5Mesh: Fix shader reading
2022-04-19 18:32:16 +02:00
SirLynix
cd08d97ac6
Graphics: Fix submesh rendering
2022-04-19 18:32:16 +02:00
SirLynix
138f2b88b3
Fix buffering issues
2022-04-19 13:38:44 +02:00
SirLynix
22f58fdbf5
Add stream buffering (WIP)
2022-04-09 18:22:57 +02:00
SirLynix
ca9854d06a
Graphics/FrameGraph: Fix pipeline barrier from output to input
2022-04-08 13:36:07 +02:00
SirLynix
b7493f01bf
Formats: Rename parameter to skip loader
...
From SkipNative to SkipBuiltin
2022-04-08 13:35:47 +02:00
SirLynix
f19178d904
Fix X11 polluting namespace with unity build
2022-04-08 08:49:36 +02:00
SirLynix
ad80f3e0ec
Utility: Switch static unordered_set to constexpr
2022-04-07 08:42:10 +02:00
SirLynix
447cdfddc9
Shader: Error fixes
2022-04-06 09:06:02 +02:00
SirLynix
8784ec9b47
Add shader compiler (nzslc) and use it
2022-04-06 09:04:09 +02:00
SirLynix
262c82b9e1
Shader: Use constexpr maps for static data
2022-04-05 08:41:47 +02:00
SirLynix
18edd41048
Shader: Fix dependency check of modules
2022-04-05 08:35:12 +02:00
SirLynix
7f15c66f16
Shader/EliminateUnusedPassVisitor: Handle alias declarations
2022-04-04 19:23:20 +02:00
SirLynix
68d2dfcae6
Move FieldOffsets class to Shader module and remove Utility dependency
2022-04-04 19:22:18 +02:00
SirLynix
9d526741b9
Add proper support for IndexType and uint32 indices
2022-04-04 09:02:00 +02:00
SirLynix
66ff6cfa81
Minor fixes
2022-04-04 08:17:03 +02:00
Lynix
83de0939bb
Shader: Fix validation and cast from u32 to i32
2022-04-02 21:20:01 +02:00
Lynix
5cd9f6fdcd
Minor fixes
2022-04-02 21:18:04 +02:00
SirLynix
aa43db956c
Shader: Fixes some errors and add unit tests
2022-04-02 16:07:13 +02:00
SirLynix
1c7a3a96e5
Shader/SourceLocation: Fix column index
2022-04-02 03:03:06 +02:00
SirLynix
655423f096
Shader/DependencyCheckerVisitor: Fix alias handling
2022-04-02 02:06:55 +02:00
SirLynix
81b1b9b473
Shader/DependencyCheckerVisitor: Handle aliases
2022-04-02 02:04:42 +02:00
Jérôme Leclercq
c04b650e7c
Fix compilation
2022-04-01 18:19:50 +02:00
SirLynix
7c640f5c00
Shader: Add types to error messages (and remove ID)
2022-04-01 18:19:50 +02:00
SirLynix
16cf75440b
Shader: Turn every AstError into a proper compilation error (with source info)
2022-04-01 18:19:50 +02:00
SirLynix
ac9e7207ac
Shader: Add compiler and AST errors (WIP)
...
I'm so afraid to lose all this work
2022-04-01 18:19:50 +02:00
SirLynix
35f6240786
Shader: Fix some errors
2022-04-01 18:19:50 +02:00
SirLynix
1afc599e3d
Shader: Fix compilation error when unity build is used
2022-04-01 18:19:50 +02:00
SirLynix
78f4751967
Shader: Fill SourceLocation info to AST when parsing
2022-04-01 18:19:50 +02:00
SirLynix
8429411755
Shader: Improve attribute source location
2022-04-01 18:19:50 +02:00
SirLynix
98237acb6f
Shader: Fix sourceLocation cloning
2022-04-01 18:19:50 +02:00
SirLynix
960ab64d98
Shader: Add SourceLocation members
...
TODO: Fill from Parser and use them for error throwing in SanitizeVisitor
2022-04-01 18:19:50 +02:00
SirLynix
ebad7b5e8c
Shader: Add support for error messages (WIP)
2022-04-01 18:19:50 +02:00
SirLynix
f14b10baf4
Graphics/ViewerInstance: fix typo
2022-03-31 13:35:08 +02:00
SirLynix
a4bca0f169
Shader: Add lexer tests
2022-03-31 13:34:43 +02:00
SirLynix
47f8081202
Shader: Fix external binding set attribute value
2022-03-28 09:01:52 +02:00
SirLynix
e6c49a4ee4
Renderer: Don't ignore non-existent library files
...
as they could be in PATH
2022-03-28 09:01:25 +02:00
SirLynix
7af25777dc
Shader/FilesystemModuleResolver: Don't register in case of parsing errors
2022-03-25 12:56:20 +01:00
SirLynix
83deecd8f1
Shader: Fix SPIRV shaders terminating before function last statement
2022-03-25 12:55:32 +01:00
SirLynix
8146ec251a
Shader: Add support for partial sanitization
2022-03-25 12:54:51 +01:00
Jérôme Leclercq
a54f70fd24
Shader: Fix parsing of unary/dot/indices/and/or
2022-03-21 23:11:28 +01:00
Alexandre Janniaux
5af8abbca9
VulkanRenderer: Loader: load libvulkan.dylib on MacOS
2022-03-20 19:41:31 +01:00
Alexandre Janniaux
e5ec90a6f9
SocketImpl: fix success path by setting NoError
...
Initialize the error to SocketError::NoError in case of success.
Otherwise, the error wasn't initialized in the success path for the
socket poller, and it was reaching an unknown error because of that.
2022-03-20 17:15:45 +01:00
Jérôme Leclercq
d86f61cd82
VulkanRenderer: Fix VK_EXT_debug_utils with MoltenVK
2022-03-20 14:54:38 +01:00
Jérôme Leclercq
48b87cc99b
Core/DynLib: Fix extension handling
2022-03-20 13:42:41 +01:00
Jérôme Leclercq
7621844741
Fix SDL includes
2022-03-20 13:37:27 +01:00
Jérôme Leclercq
63320fa205
macOS fixes (+ cache deps)
2022-03-20 11:29:39 +01:00
Jérôme Leclercq
a6dce6861d
macOS fixes
2022-03-20 10:02:31 +01:00
Jérôme Leclercq
0469ecb300
macOS fix
2022-03-20 09:19:50 +01:00
Jérôme Leclercq
54ca483cc7
macOS fix
2022-03-19 23:45:26 +01:00
Jérôme Leclercq
04dfd25c74
CI: Try to build NazaraCore on macOS
2022-03-19 23:29:19 +01:00
Lynix
d853741f6f
Core/StringExt: Fix out of range read
2022-03-19 17:44:39 +01:00
Lynix
cf5e4b72e1
Core/StringExt: Add overloads of EndsWith
2022-03-19 14:19:52 +01:00
Lynix
a4543b30c3
Network: Add fast peer disconnection in case of network error/unreachable host
2022-03-19 12:48:25 +01:00
Lynix
dc24ff33a4
Audio: Add sound stream test
2022-03-19 12:36:55 +01:00
Lynix
45f0825a6e
Audio: Final fixes
2022-03-19 12:16:52 +01:00
Jérôme Leclercq
82641c6653
Audio: Add dummy device (in case OpenAL fails to load) and unifiate unit tests
2022-03-18 19:03:57 +01:00
Jérôme Leclercq
615509d1ba
Add support for shader hotreloading
2022-03-17 21:36:36 +01:00
Jérôme Leclercq
667a4a0c08
Audio: Handle AudioBuffer compatibility
...
OpenAL buffers are shared between contextes
2022-03-17 18:15:53 +01:00
Jérôme Leclercq
01061380ee
Audio/AudioDevice: Improve GetListenerRotation
2022-03-17 18:15:53 +01:00
Jérôme Leclercq
6165b3a101
Audio: Rewrite audio module
2022-03-17 18:15:53 +01:00
Jérôme Leclercq
eb4629947e
Minor fixes
2022-03-16 08:25:19 +01:00
Jérôme Leclercq
19f6bdf7e0
Add Physics2D components and systems (WIP)
2022-03-16 08:24:57 +01:00
Jérôme Leclercq
801b06abfe
Shader: Fix module overwriting
2022-03-15 18:35:02 +01:00
Jérôme Leclercq
06406fc20e
Shader/FilesystemModuleResolver: Fix RegisterModuleDirectory
2022-03-15 13:20:17 +01:00
Jérôme Leclercq
0e92ef823d
Graphics: Use module name to retrieve material shaders
2022-03-15 13:14:43 +01:00
Jérôme Leclercq
0f55779a8a
Fix compilation
2022-03-15 12:44:21 +01:00
Jérôme Leclercq
79a5716110
Revert "Try to fix GCC error"
...
This reverts commit 11d5eb7d6063e6cf1da276cc5981d2d57e13f05e.
2022-03-15 12:44:21 +01:00
Jérôme Leclercq
9b1d8b5fcf
Try to fix GCC error
2022-03-15 12:44:21 +01:00
Jérôme Leclercq
56c6eff7f8
Rebase fix
2022-03-15 12:44:21 +01:00
Jérôme Leclercq
6bd9f1a9e4
Add unity build support
2022-03-15 12:44:21 +01:00
Jérôme Leclercq
0a4fd8f56d
Enable unity build on modules that support it
2022-03-15 12:44:21 +01:00
Jérôme Leclercq
bf44672354
Shader: Add support for exported functions
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
e9543b20a2
Shader: Fix function calls with OpenGL
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
e40e8eb204
Shader: Change module system (no longer based on path)
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
80f9556f8c
Shader/LangWriter: Make LangWriter able to output AST before sanitization as well
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
2f26a1d9c7
Graphics: Move LightData to a shader module and add hotreload in debug
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
5a9a55ee7e
Shader/MultiStatement: Remove sectionName
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
33554cf5a0
Shader: Remove struct and functions that aren't required
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
d29876f448
Shader/SanitizeVisitor: Minor cleanup
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
db98b86eaf
Core: Rewrite VirtualDirectory class and add more tests
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
db0c1e6e8c
Shader: Add module resolver + use modules for engine shaders
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
98bd04e35a
Shader/SanitizeVisitor: Fix an issue when double-sanitizing
...
... with differents parameters (like reducing loops to while, which introduces new variables which would take over existing var indices)
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
bf7f06ac4c
Shader: Fix shader serialization
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
39a2992791
Shader: Minor module fixes
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
05cf98477e
Shader: Add proper support for alias
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
ce93b61c91
Shader: Serialize cached expression type
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
d45ba6696f
Shader: Rename VariableExpression to VariableValueExpression
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
1401c46d44
Shader: Better fix than 3ccec0ce
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
3c290c1d0e
Shader: Fix unit tests
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
be9bdc4705
Modules are workings \o/
2022-03-14 18:30:55 +01:00
Lynix
83d26e209e
WIP2
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
012712b8d0
WIP
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
d72ac9cc73
Core/Uuid: Add FromString builder method
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
a7acf32886
Shader: Replace indices-based option keys by CRC32
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
53157875b9
Shader: Fix LangWriter not outputting const if
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
a4858d6793
Shader: Add comments to surround modules
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
4bded2182c
Minor changes
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
53728200ac
Shader: Add module ID (UUID)
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
43ac86e85c
Shader/Modules: proof of concept
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
7dab1d735f
Shader: Add AstExportVisitor
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
073f1dc434
Shader/DependencyCheckerVisitor: Update default config
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
b6cd85d6fe
Shader: Add import statement (not doing anything for now)
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
ca83f363a3
Shader: Add export attribute for structs ([export])
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
a2f4f3c802
Shader: Many fixes
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
1919bd3302
Fix compilation
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
0c3607579e
Shader/ShaderLangParser: small refactor
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
99e07e6e1e
Shader: Add module statement
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
4a8ebf869b
Minor fixes
2022-03-09 20:05:33 +01:00
Jérôme Leclercq
c741bad9a1
Utility/Font: Remove useless atlas release slot
2022-03-04 20:41:14 +01:00
Jérôme Leclercq
72b664f42c
Core: Add Uuid class
2022-03-04 20:40:41 +01:00
Jérôme Leclercq
36aea2ca0c
Shader/SanitizeVisitor: Fix sanitization of already sanitized AST with holes in indices
...
this happens when you sanitize an AST that went through a remove unused pass
2022-02-28 13:30:53 +01:00
Jérôme Leclercq
142f15d538
Fix dependency checker and add unit test
2022-02-28 13:28:59 +01:00
Jérôme Leclercq
96d87d9439
Merge fix
2022-02-27 18:54:45 +01:00
Jérôme Leclercq
bcfef75ec2
Merge branch 'master' into nzsl-modules
2022-02-27 18:44:44 +01:00
Jérôme Leclercq
6ee3899400
Shader/SanitizeVisitor: Fix variable shadowing
2022-02-27 18:43:38 +01:00
Jérôme Leclercq
0fe7f6b899
Shader/EliminateUnusedPassVisitor: Fix function call
2022-02-27 18:43:02 +01:00
Jérôme Leclercq
fbae413620
Shader/GlslWriter: Improve removal of unused code
2022-02-27 18:42:41 +01:00
Jérôme Leclercq
55a5ae0648
VulkanRenderer: Improve pixel format handling
2022-02-27 18:41:43 +01:00
Jérôme Leclercq
8a097afb1b
Graphics/FramePass: Replace render rect parameter of CommandCallback by FramePassEnvironment
2022-02-27 18:37:05 +01:00
Jérôme Leclercq
a155aa598e
Shader: Move DependencyChecker to a public class
2022-02-26 16:08:16 +01:00
Jérôme Leclercq
6611cdf72e
Minor fixes
2022-02-24 18:52:38 +01:00
Jérôme Leclercq
cb1bc956b2
Network: Fix posix implementation
2022-02-24 18:28:41 +01:00
Jérôme Leclercq
7dbaed9aa5
Network: Fix minor issues with IP address parsing and add tests
2022-02-24 12:38:08 +01:00
Jérôme Leclercq
13f2132110
Utility/GuillotineImageAtlas: Fix copy of previous data
2022-02-23 23:49:13 +01:00
Jérôme Leclercq
86cc814f1b
Utility/GuillotineImageAtlas: Add max layer size
2022-02-23 23:48:58 +01:00
Jérôme Leclercq
fe16584c8c
Minor fixes
2022-02-23 23:48:20 +01:00
Jérôme Leclercq
40a9d75bb7
spoilers...
2022-02-23 13:36:38 +01:00
Jérôme Leclercq
f38d2747b8
Minor stuff (mostly to shut up static analysis)
2022-02-23 13:20:06 +01:00
Jérôme Leclercq
1e9e05adfa
Graphics/MaterialPass: Fix shader option index
2022-02-23 13:14:30 +01:00
Jérôme Leclercq
004c0d84b1
Graphics/RenderSystem: Fix invisible graphics/lights unregistration
2022-02-23 13:10:33 +01:00
Jérôme Leclercq
9ee8196b83
Static analysis fix
2022-02-22 13:31:37 +01:00
Jérôme Leclercq
0dd8c21543
Graphics/ForwardFramePipeline: Fix scissor update
2022-02-22 13:31:22 +01:00
Jérôme Leclercq
7ece44b4f4
Shader: Rename Optimize to ConstantPropagation
2022-02-22 13:28:01 +01:00
Jérôme Leclercq
20a86312ff
Graphics/FramePipeline: Replace maps with memory pools and indices
2022-02-21 20:47:11 +01:00
Jérôme Leclercq
a1b6f51398
Minor fixes
2022-02-21 20:46:37 +01:00
Jérôme Leclercq
cc0fc53bd3
Graphics: Move scissor box from InstancedRenderable to GraphicsComponent
2022-02-21 20:44:54 +01:00
Jérôme Leclercq
29c798a683
Core/MemoryPool: Remake memory pool
2022-02-20 16:00:32 +01:00
Jérôme Leclercq
e504c4a982
Minor fixes
2022-02-18 19:37:37 +01:00
Jérôme Leclercq
3f7815175b
Shader: Add EliminateUnusedPassVisitor and use it when optimizing
2022-02-18 13:06:47 +01:00
Jérôme Leclercq
ebd1318512
OpenGLRenderer: Add shader source on compilation error
2022-02-18 13:05:19 +01:00
Jérôme Leclercq
c33ab779d1
ShaderNode: Fix compilation
2022-02-17 13:23:56 +01:00
Jérôme Leclercq
402e16bd2b
Shader: Handle type as expressions
2022-02-17 13:23:56 +01:00
Jérôme Leclercq
5ce8120a0c
Graphics: Move FramePipeline passes to separate classes
2022-02-16 18:29:27 +01:00
Jérôme Leclercq
979bf2cc80
UnitTests: Improve hash unit tests (add file test)
2022-02-10 11:56:35 +01:00
Jérôme Leclercq
97ee89afb7
Rework hashes (also fix Fletcher16 and CRC64)
2022-02-10 01:46:58 +01:00
Jérôme Leclercq
f466a7494b
Update for EnTT 3.9
2022-02-08 20:05:14 +01:00
Jérôme Leclercq
6c35b0be57
Minor fixes
2022-02-05 21:30:36 +01:00
Jérôme Leclercq
6457854e03
Minor fixes
2022-02-04 13:54:26 +01:00
Jérôme Leclercq
d113b58b5a
Graphics/RenderSystem: Fix light removal
2022-02-02 19:41:21 +01:00
Jérôme Leclercq
de7fee348a
Graphics/ForwardFramePipeline: Frustum cull lights
2022-02-02 19:39:46 +01:00
Jérôme Leclercq
109127459b
Graphics/ForwardFramePipeline: Reuse light UBO
2022-02-02 13:47:29 +01:00
Jérôme Leclercq
8a3a8547dc
Add light support (WIP)
2022-02-02 12:55:39 +01:00
Jérôme Leclercq
e6951d54a5
Shader: Switch type<subtype> to type[subtype]
2022-01-26 19:24:46 +01:00
Jérôme Leclercq
29a01e975c
Merge fix
2022-01-23 20:00:11 +01:00
Jérôme Leclercq
b8a52b93e8
Shader/SPIRV: Handle arrays properly
2022-01-23 19:59:26 +01:00
Jérôme Leclercq
2463e471cc
Shader/SPIRV: Fix issues with loops containing branches and cross product
2022-01-23 19:59:10 +01:00
Jérôme Leclercq
64efd81bf8
Shader: Handle matrix cast properly
2022-01-23 19:58:04 +01:00
Jérôme Leclercq
249aebac05
Merge branch 'master' into phong-lighting
2022-01-23 13:36:48 +01:00
Jérôme Leclercq
3c308970a1
Minor fixes
2022-01-23 01:22:16 +01:00
Jérôme Leclercq
2ebcddf9de
Core/CallOnExit: Rework to use template instead of std::function
2022-01-23 00:16:09 +01:00
Jérôme Leclercq
29786765c6
Big buffer refactor
...
Replaced RenderBuffer class, replaced AbstractBuffer by Buffer
2022-01-23 00:05:08 +01:00
Lynix
213c7d8a1e
Utility/OBJSaver: Handle case where normal and/or texcoords are not present
2022-01-21 14:57:07 +01:00
Lynix
1406c714ac
Renderer/Texture: Handle image loading error
2022-01-20 16:46:50 +01:00
Lynix
f0b6f2122d
Shader: backport struct fix from phong-lighting
2022-01-19 20:44:32 +01:00
Jérôme Leclercq
0af9a96294
Core/Color: Add Gray constant
2022-01-18 06:01:44 +01:00
Jérôme Leclercq
7976ea27b9
Add initial support for normal mapping and other light types
2022-01-18 06:01:15 +01:00
Jérôme Leclercq
b0a3941f4e
Add Phong lighting (WIP)
2022-01-11 19:47:29 +01:00
Jérôme Leclercq
756fd773a9
Shader: Add support for numerical fors
2022-01-06 20:38:55 +01:00
Jérôme Leclercq
972d5ffd3f
Regenerate global headers, unicode and spirv data
2022-01-04 16:36:28 +01:00
Jérôme Leclercq
2bdcc045cd
Shader: Replace const for with [unroll] attribute
2022-01-03 20:21:09 +01:00
Jérôme Leclercq
b6e4a9470e
Shader/Ast: Treat repeated swizzle as rvalue (cannot be assigned)
2022-01-02 22:02:46 +01:00
Jérôme Leclercq
4fe44339c5
Shader: Add support for for-each statements and improve arrays
2022-01-02 22:02:11 +01:00
Jérôme Leclercq
55784a7dfc
VulkanRenderer: Fix scissor handling
2022-01-01 23:02:09 +01:00
Jérôme Leclercq
1f15328fdd
Shader: Add initial support for arrays
2022-01-01 23:01:31 +01:00
SirLynix
89c7bbf197
Update copyright date
2022-01-01 15:30:09 +01:00
Jérôme Leclercq
d878036bfc
Shader/AstOptimizer: Reduce template complexition
2021-12-28 23:37:35 +01:00
Jérôme Leclercq
60a7cec099
Fix compilation
2021-12-28 22:15:13 +01:00
Jérôme Leclercq
101a3d70da
Shader/AstOptimizer: Add swizzle optimization
2021-12-28 20:09:04 +01:00
Jérôme Leclercq
343eac6616
Shader/Parser: Allow external and struct declarations to be conditional
2021-12-28 13:35:53 +01:00
Jérôme Leclercq
4e5def1095
Shader/AstOptimizer: Fix Vector4 cast propagation optimization
2021-12-28 11:49:41 +01:00
Jérôme Leclercq
a0f66d9e88
Shader/SPIRV: Fix multiple branch handling (by splitting)
2021-12-28 11:48:19 +01:00
Jérôme Leclercq
e21b45946f
Shader/SPIRV: Fix double termination of blocks when branching
...
Which could happen when using OpKill (discard) for example
2021-12-26 22:00:44 +01:00
Jérôme Leclercq
b43ed890d0
Fix scissor bugs (fixes Deferred Shading flare on Vulkan and widget scissor on OpenGL)
2021-12-25 20:25:39 +01:00
Jérôme Leclercq
b98fd65a01
Fix a lot of small bugs/warnings
2021-12-25 20:07:53 +01:00
Jérôme Leclercq
1080823c4d
Shader/SpirvPrinter: Handle LiteralInteger as value
2021-12-25 19:13:48 +01:00
Jérôme Leclercq
f98ea6b0ca
Shader: Add full support for scalar swizzle
2021-12-25 19:13:08 +01:00
Jérôme Leclercq
157e74b016
Shader/GlslWriter: Reorder function implementations
2021-12-25 14:02:22 +01:00
Jérôme Leclercq
d4dfe97006
Minor fixes
2021-12-23 17:39:37 +01:00
Jérôme Leclercq
a5cc915948
Shader/SPIRV: Fix structs being always decorated as block
...
They are now only decorated as blocks when used as uniform buffers, which fixes structure nesting
2021-12-23 17:36:40 +01:00
Jérôme Leclercq
ed3ee34565
Graphics/Sprite: Allow to change origin
2021-12-23 17:32:18 +01:00
Jérôme Leclercq
e2882f6595
Shader: Rename Parse function to ParseFromFile
...
to avoid ambiguous calls when passing const char*
2021-12-23 17:18:30 +01:00
Jérôme Leclercq
e497faabaf
Fix compilation
2021-12-21 14:45:53 +01:00
Jérôme Leclercq
837b72f68e
Shader: Rework Swizzle and add support for swizzle store in SPIRV
2021-12-21 14:30:47 +01:00
Jérôme Leclercq
e43a638112
Shader/SpirvData: Regenerate SPIRV data (update to 1.6.1)
2021-12-20 22:37:34 +01:00
Jérôme Leclercq
5963f4c848
Graphics/FrameGraph: Fix texture pool issue
2021-12-19 18:29:20 +01:00
Lynix
9bd411e53c
Shader/SPIRV: Add support for swizzling with one component
2021-12-18 15:51:20 +01:00
Jérôme Leclercq
a8fefeb833
Some fixes
2021-12-16 23:11:48 +01:00
Jérôme Leclercq
0f9060c45b
Shader: Add support for while loops
2021-12-16 23:10:58 +01:00
Jérôme Leclercq
07199301df
Graphics/FrameGraph: Handle invalidation and flush barriers
2021-12-16 18:29:40 +01:00
Jérôme Leclercq
38b143ce8f
VulkanRenderer: Improve ImageAspectFlags handling
2021-12-16 18:29:15 +01:00
Jérôme Leclercq
90ab0e9438
Graphics/FramePass: Add SetReadInput method
2021-12-13 23:44:34 +01:00
Jérôme Leclercq
dfa2a0040a
Graphics/FrameGraph: Add AttachmentProxy
2021-12-13 23:44:14 +01:00
Jérôme Leclercq
3185e73941
Shader: Fix handling of if/else construct
2021-12-12 23:04:37 +01:00
Jérôme Leclercq
0aec863300
Shader: Add support for exp intrinsic
2021-12-05 17:02:46 +01:00
Jérôme Leclercq
7e4a058d41
Renderer/[OpenGL|Vulkan]Renderer: Add support for RGBA16F pixelformat
2021-12-05 17:01:55 +01:00
Jérôme Leclercq
4eb96849db
Graphics/FrameGraph: Reuse textures if possible
2021-12-05 16:53:02 +01:00
Jérôme Leclercq
3b1bf480e6
Fix some warnings
2021-12-03 22:18:03 +01:00
Jérôme Leclercq
11d4ba22da
Graphics/ForwardFramePipeline: Use RenderGraph to merge viewers views
2021-12-03 22:17:24 +01:00
Jérôme Leclercq
17df8fafa4
Renderer/CommandBuffer: Add support for texture blit/copy
2021-12-03 22:15:34 +01:00
Jérôme Leclercq
61779d1cad
Graphics/Widgets: Add support for scissoring
2021-12-01 20:26:33 +01:00
Jérôme Leclercq
a483e16e15
Graphics: Fix render layer sorting
2021-12-01 20:25:55 +01:00
Jérôme Leclercq
8f897084d7
Widgets: Add support for render layer (fixes rendering)
2021-12-01 18:58:48 +01:00
Jérôme Leclercq
8b899253b1
Graphics/InstancedRenderable: Add support for render layer
2021-12-01 18:57:50 +01:00
Jérôme Leclercq
a4c0cc8c34
Widgets: Add CheckboxWidget
2021-12-01 10:47:21 +01:00
Jérôme Leclercq
26d6448076
Minor fixes
2021-12-01 10:44:28 +01:00
Jérôme Leclercq
97de5af838
Platform/SDL2: Refactor implementation
2021-12-01 10:42:01 +01:00
Jérôme Leclercq
e1a378e733
Graphics/[SpriteChain|Submesh]Renderer: Fix material pass not breaking batching
2021-12-01 10:40:47 +01:00
Jérôme Leclercq
b256ddd06b
Graphics/SlicedSprite: Handle corner removal + lower size
2021-12-01 10:38:53 +01:00
Jérôme Leclercq
b62d5f6846
Widgets: Improve default theme
2021-12-01 10:37:48 +01:00
Jérôme Leclercq
8582b94c44
Minor stuff
2021-11-30 18:18:11 +01:00
Jérôme Leclercq
f289d13101
Physics3D: Ensure RigidBody are destroyed on world destruction
2021-11-30 18:17:53 +01:00
Jérôme Leclercq
2d236afe0f
Minor fixes
2021-11-30 12:42:19 +01:00
Jérôme Leclercq
461a06ab8c
Widgets: Improve theme
...
- move simple styles classes ton their own file
- add button hovered texture
- add button hovered/pressed texture
- add label style
2021-11-30 12:42:05 +01:00
Jérôme Leclercq
b20897a2fb
Widgets/Canvas: Improve mouse owner system
2021-11-30 12:40:19 +01:00
Jérôme Leclercq
86071eae88
Widgets/TextAreaWidget: Add support for double/triple click selection
2021-11-30 12:39:53 +01:00
Jérôme Leclercq
e73489e958
Platform/Events: Replace MousebuttonDoubleClicked with clickCount in MouseButtonEvent
2021-11-30 12:38:57 +01:00
Jérôme Leclercq
f7b69e11c2
Widgets: Add widget theme (WIP)
2021-11-28 23:04:56 +01:00
Jérôme Leclercq
8299a5a4bd
Widgets/TextAreaWidget: Add Ctrl+A (select all) support
2021-11-28 20:21:21 +01:00
Jérôme Leclercq
bb93209713
Widgets/[Rich]TextAreaWidget: Add copy/cut/paste support
2021-11-28 20:21:07 +01:00
Jérôme Leclercq
a29c0b0e63
Widgets/Canvas: Add mouse owner system
2021-11-28 20:20:30 +01:00
Jérôme Leclercq
db88f0ca0d
Graphics: Add SlicedSprite class
2021-11-28 20:19:59 +01:00
Jérôme Leclercq
01cd4986cc
Minor fixes
2021-11-28 20:19:37 +01:00
Jérôme Leclercq
0c3bcf6c86
Graphics/Camera: Add render order property
2021-11-28 20:15:22 +01:00
Jérôme Leclercq
d0aad3ee1e
Platform: Add initial Clipboard support (only text is supported)
2021-11-28 20:14:15 +01:00
Jérôme Leclercq
2cdd7d0b44
Widgets: Fix issues with Y reversal
2021-11-25 23:04:01 +01:00
Jérôme Leclercq
a33a118ed3
Minor fixes
2021-11-24 22:29:09 +01:00
Jérôme Leclercq
caf1a0f1e8
Widgets: Add [Rich]TextAreaWidget
2021-11-24 22:25:39 +01:00
Jérôme Leclercq
643b1a2b15
Widgets: Add ImageWidget
2021-11-24 22:24:57 +01:00
Jérôme Leclercq
6c97f538a1
Widgets: Reimplement Hide/Show
2021-11-24 22:24:14 +01:00
Jérôme Leclercq
d2cfc5fdf5
Graphics/GraphicsComponent: Add visibility control
2021-11-24 22:07:56 +01:00
Jérôme Leclercq
c9aba016a8
Graphics/Sprite: Add [Get|Set]TextureCoords & SetTextureRect
2021-11-24 22:00:29 +01:00
Jérôme Leclercq
b8b0552a4e
Graphics: Fix blending (temporary fix until frame graph handles it)
2021-11-24 21:56:33 +01:00
Jérôme Leclercq
d475bbd4a2
VulkanRenderer/VulkanShaderModule: OCD fix
2021-11-21 19:09:30 +01:00
Jérôme Leclercq
4df0b16d19
Widgets: Fix ButtonWidget
2021-11-21 19:07:46 +01:00
Jérôme Leclercq
b12d2eeb0f
Widgets/Canvas: Fix mouse position
2021-11-21 19:07:29 +01:00
Jérôme Leclercq
d0f55df3ca
Widgets: Reuse materials to improve performance
2021-11-21 19:07:06 +01:00
Jérôme Leclercq
8f1cc79dc2
Graphics/InstancedRenderable: Add signal to tell some renderables need to be rebuild
2021-11-21 19:06:10 +01:00
Jérôme Leclercq
d040cc6767
Shader/GlslWriter: Fix gl_Position.z remapping
2021-11-21 19:04:09 +01:00
Jérôme Leclercq
1b271a29ef
Widgets/BaseWidget: Fix background position and render mask
2021-11-21 17:14:59 +01:00
Jérôme Leclercq
2a8568f2ac
Graphics/InstancedRenderable: Replace constructor AABB with UpdateAABB method
2021-11-21 17:14:39 +01:00
Lynix
57d39f7eeb
Shader/GlslWriter: Rename scaleZPosition to remapZPosition
2021-11-21 16:15:56 +01:00
Jérôme Leclercq
237602a33f
Widgets/Canvas: Add render mask parameter
2021-11-14 19:54:47 +01:00
Jérôme Leclercq
83772ab035
Graphics/UberShader: Fix stage type check
2021-11-14 19:52:52 +01:00
Jérôme Leclercq
c85263c9e7
Shader/GlslWriter: Add depth fix (from [0;1] to [-1;1]
2021-11-14 13:00:15 +01:00
Jérôme Leclercq
cf8f76baa6
Graphics/ForwardframePipeline: Fix render mask test
2021-11-13 20:08:16 +01:00
Jérôme Leclercq
ecd1e43890
Graphics: Add support for multi-viewer rendering (a bit hacky)
2021-11-13 20:08:03 +01:00
Jérôme Leclercq
342c053faa
Graphics/Camera: Add clear color per viewer
2021-11-13 20:06:34 +01:00
Jérôme Leclercq
a643d0fc3a
OpenGLRenderer: Improve error handling (fixes Windows/x86 compilation)
...
Template specialization was failing because OpenGL function type have __stdcall convention on Windows/32bits
2021-11-02 09:43:30 +01:00
Jérôme Leclercq
9946c17a23
OpenGLRenderer: Choose between OpenGL/OpenGL ES at loading
2021-11-02 09:13:12 +01:00
Lynix
d872428658
Graphics/SpriteChainRenderer: Warning fix
2021-10-30 00:52:09 +02:00
Lynix
90c738023a
OpenGLRenderer: Try to load OpenGL on desktop instead of OpenGL ES
2021-10-30 00:51:17 +02:00
Jérôme Leclercq
b2aedd394c
Minor fixes
2021-10-29 16:50:50 +02:00
Jérôme Leclercq
9e1df33440
Graphics: Add RenderMask (WIP)
2021-10-29 16:50:38 +02:00
Jérôme Leclercq
078060cfc9
Fix some issues found with WSLg
2021-10-29 14:38:56 +02:00
Jérôme Leclercq
32c204e95f
Minor fixes
2021-10-29 13:29:49 +02:00
Jérôme Leclercq
a3d9aaf1fb
Merge branch 'master' into automatic-file-fix
2021-10-28 09:57:59 +02:00
Jérôme Leclercq
a02b1952c0
Apply header order fix
2021-10-28 09:53:56 +02:00
Jérôme Leclercq
f491ee1e38
Apply inclusion fix
2021-10-27 18:09:19 +02:00
Jérôme Leclercq
38a004d1b9
XMake: Add inclusion fix
2021-10-27 18:09:12 +02:00
Jérôme Leclercq
4067116eb8
Graphics/ForwardFramePipeline: Handle material invalidation correctly
2021-10-26 20:26:13 +02:00
Jérôme Leclercq
66bbf63e87
Core/Algorithm: Add SafeCast
2021-10-26 20:26:13 +02:00
Jérôme Leclercq
73838f5f08
Minor fixes
2021-10-26 20:26:13 +02:00
Jérôme Leclercq
6bab824e4f
Graphics: Use default white texture if material has empty texture slot
2021-10-26 20:26:13 +02:00
Jérôme Leclercq
e84ec8e4ac
Proof of concept
2021-10-26 20:26:13 +02:00
Jérôme Leclercq
58485cfa79
Rework shader bindings (WIP)
2021-10-26 20:26:13 +02:00
Jérôme Leclercq
93ec196dc4
Apply header guard check
2021-10-26 15:52:46 +02:00
Jérôme Leclercq
ed7ab31933
Apply copyright fix to all files
2021-10-26 14:31:35 +02:00
Jérôme Leclercq
8d5276ddac
XMake: update SPIRV and Unicode data parsers
2021-10-26 11:14:20 +02:00
Jérôme Leclercq
14fb2b83ae
Minor fixes
2021-10-25 15:48:49 +02:00
Jérôme Leclercq
cb716e5da5
Fix OpenGL version check
2021-10-24 15:25:17 +02:00
Jérôme Leclercq
6162a805e4
OpenGLRenderer: Fix buffer destruction not removing VAOs referencing it
2021-10-19 14:48:53 +02:00
Jérôme Leclercq
7e65f4b544
Graphics: Fix warning
2021-10-19 14:34:35 +02:00
Lynix
c3999d708f
Graphics: Add DistanceAsSortKey function
2021-10-18 16:46:03 +02:00
Lynix
9740db8fe2
Improve MinGW support
2021-10-16 17:45:43 +02:00
Jérôme Leclercq
a66f6faed1
Add widgets (WIP)
2021-10-04 09:25:45 +02:00
Jérôme Leclercq
68708c54f7
Minor stuff
2021-10-04 09:24:42 +02:00
Jérôme Leclercq
0442db1c53
Shader: Add support for compound operators
2021-09-24 15:39:03 +02:00
Jérôme Leclercq
ea49f56530
Shader/LangParser: OCD fix
2021-09-23 17:49:36 +02:00
Jérôme Leclercq
3ad05614f9
Graphics: Use debug regions inside render pass to fix an issue with OpenGL context switch
2021-09-23 17:49:15 +02:00
Jérôme Leclercq
aa2021dc49
Graphics/GuillotineTextureAtlas: Handle texture instantiation failure (happens if size is too big)
2021-09-21 17:40:43 +02:00
Jérôme Leclercq
7ab4d91900
OpenGLRenderer: Implement texture blit/copy if glCopyImageSubData is not supported
2021-09-21 17:39:24 +02:00
Jérôme Leclercq
4933a389a2
OpenGLRenderer: Improve/fix Framebuffer handling
2021-09-21 17:37:03 +02:00
Jérôme Leclercq
78358337f3
OpenGLRenderer: Improve OpenGL wrapper
2021-09-21 16:34:34 +02:00
Jérôme Leclercq
74534236ef
Graphics: Fix some warnings
2021-09-13 23:35:46 +02:00
Jérôme Leclercq
7f6b61df53
Graphics/SpriteChainRenderer: Improve copy
2021-09-13 23:35:31 +02:00
Jérôme Leclercq
db85372778
Renderer/Texture: Add Copy method (wip)
2021-09-13 23:34:51 +02:00
Jérôme Leclercq
72f2a5b531
Graphics: Add initial support for transparency
2021-09-08 19:08:44 +02:00
Jérôme Leclercq
75f927b414
Utility: Handle vertex color loading
2021-09-08 19:07:59 +02:00
Jérôme Leclercq
099f182126
Graphics/SpriteChainRenderer: Fix single sprite data over multiple vertex buffers
2021-09-07 19:12:25 +02:00
Jérôme Leclercq
ece18bf472
Implement back text rendering (WIP)
2021-09-07 18:45:10 +02:00
Jérôme Leclercq
879b2f7aa6
Renderer/Texture: Implement Update of a region + inherit AbstractImage
2021-09-07 18:42:53 +02:00
Jérôme Leclercq
b6745b2906
Renderer: Fix A8, L8 and LA8 support for both OpenGL and Vulkan
2021-09-07 17:39:12 +02:00
Jérôme Leclercq
7a78e7be8c
Fix compilation
2021-09-06 09:45:30 +02:00
Jérôme Leclercq
abdcd63058
Graphics: Add support for draw call data (texture overlay)
2021-09-05 18:26:12 +02:00
Jérôme Leclercq
26e5a41dce
Graphics/SpriteChainRenderer: Reuse vertex buffers and memory
2021-09-05 16:04:10 +02:00
Jérôme Leclercq
938d965e06
Graphics: Add SpriteChainRenderer
2021-09-05 15:50:17 +02:00
Jérôme Leclercq
a18d505ae2
VulkanRenderer: Some fixes
2021-09-05 15:49:36 +02:00