Jérôme Leclercq
63320fa205
macOS fixes (+ cache deps)
2022-03-20 11:29:39 +01:00
Jérôme Leclercq
bd4cf8e264
macOS fixes
2022-03-20 10:52:19 +01:00
Jérôme Leclercq
a6dce6861d
macOS fixes
2022-03-20 10:02:31 +01:00
Jérôme Leclercq
04dfd25c74
CI: Try to build NazaraCore on macOS
2022-03-19 23:29:19 +01:00
Jérôme Leclercq
021fd9d031
macOS fix
2022-03-19 20:01:49 +01:00
Lynix
cf5e4b72e1
Core/StringExt: Add overloads of EndsWith
2022-03-19 14:19: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
19f6bdf7e0
Add Physics2D components and systems (WIP)
2022-03-16 08:24:57 +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
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
6bd9f1a9e4
Add unity build support
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
1c4ce75aa0
Fix compilation
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
b92a9f8a1c
Core/VirtualDirectory: Fix physical path traversal
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
3d4271706a
Core/VirtualDirectory: Fix some bugs and add more tests
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
bfaa428b39
Fix compilation
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
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
Lynix
8dcce73738
Fix after rebase
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
505d996c88
Core: Add constexpr CRC32 function
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
acf1b30355
Shader/AstCompare: Fix missing ConditionalStatement compare
2022-03-06 13:19:19 +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
Lynix
1e606f3043
Fix compilation after merge
2022-02-27 20:18:36 +01:00
Lynix
4c226eda0c
Merge branch 'master' into nzsl-modules
2022-02-27 20:12:30 +01:00
Lynix
1c986b7431
Fix compilation
2022-02-27 20:04:52 +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
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
28531f5118
Minor changes
2022-02-25 19:36:54 +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
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
ad544a595d
Core/MemoryPool: Add iterator
2022-02-21 20:45:25 +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
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
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
de7fee348a
Graphics/ForwardFramePipeline: Frustum cull lights
2022-02-02 19:39:46 +01:00
Jérôme Leclercq
5945a7145c
Fix MinGW compilation error
2022-02-02 13:48:39 +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
97356349fe
Utility/FieldOffsets: Add GetLayout method
2022-01-23 19:59:44 +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
89e9e41357
Core/SparsePtr: Use template type for +/- and +=/-=
2022-01-23 13:27:39 +01:00
Jérôme Leclercq
bba5d7a803
Fix compilation (6000th commit!)
2022-01-23 10:18:00 +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
Jérôme Leclercq
b3ff5767f7
Graphics/Sprite: Fix AABB
2022-01-21 21:44:21 +01:00
Lynix
b917738ed4
Core/ResourceSaver: Remove leading point (".obj" => "obj")
2022-01-20 16:51:07 +01:00
Jérôme Leclercq
0af9a96294
Core/Color: Add Gray constant
2022-01-18 06:01:44 +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
4fe44339c5
Shader: Add support for for-each statements and improve arrays
2022-01-02 22:02:11 +01:00
Jérôme Leclercq
aac6e38da2
Core/Algorithm: Improve SafeCast to handle references
2022-01-02 21:59:58 +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
d1841356bf
Core/Algorithm: Improve AccessByOffset check and add error message
2021-12-29 14:35:26 +01:00
Jérôme Leclercq
101a3d70da
Shader/AstOptimizer: Add swizzle optimization
2021-12-28 20:09:04 +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
feb1774eb2
Update Algorithm.inl
2021-12-25 20:25:43 +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
f98ea6b0ca
Shader: Add full support for scalar swizzle
2021-12-25 19:13:08 +01:00
Jérôme Leclercq
8ad01f9e6e
Core/Algorithm: Rewrite SafeCast
2021-12-25 18:37:07 +01:00
Jérôme Leclercq
f798901c23
UnitTests: Use glslang to validate GLSL shaders
2021-12-24 14:54:35 +01:00
Jérôme Leclercq
b53d2a0560
Rework shader module unit tests
2021-12-23 17:39:24 +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
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
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
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
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
84bc04cee7
Fix compilation
2021-12-01 20:35:18 +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
653c9e0028
Graphics/GraphicsComponent: Make renderMask a mandatory parameter
2021-12-01 18:58:25 +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
45e5baf194
Graphics: Rename MaterialPassFlag::Transparent by MaterialPassFlag::SortByDistance
2021-12-01 10:41:15 +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
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
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
b6d366c89d
Graphics/Sprite: Reverse vertices
2021-11-24 22:29:47 +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
4df0b16d19
Widgets: Fix ButtonWidget
2021-11-21 19:07:46 +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
a1b5e5b4f4
Math/Vector3: Fix ToString()
2021-11-21 19:06:33 +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
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
8c3a0a9200
Graphics/Camera: Update default values (according to projecting type)
2021-11-14 19:54:30 +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
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
5d849129fd
Graphics: Remove CullingList (fixes MinGW compilation)
2021-10-30 00:51:54 +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
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
66206868cd
XMake: Add automatic header order fix
2021-10-28 09:53:43 +02:00
Jérôme Leclercq
f491ee1e38
Apply inclusion fix
2021-10-27 18:09:19 +02:00
Jérôme Leclercq
7d279dce4b
OCD fix
2021-10-26 20:27:08 +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
6162a805e4
OpenGLRenderer: Fix buffer destruction not removing VAOs referencing it
2021-10-19 14:48:53 +02:00
Lynix
c3999d708f
Graphics: Add DistanceAsSortKey function
2021-10-18 16:46:03 +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
601ed047ba
Fix some initialization order
2021-09-24 15:24:21 +02:00
Jérôme Leclercq
ea49f56530
Shader/LangParser: OCD fix
2021-09-23 17:49:36 +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
c6763bc623
Graphics/Camera: Fix Orthographic projection matrix
2021-09-08 19:08:21 +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
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
Jérôme Leclercq
732bb89a86
Graphics/UberShader: Add config callback
2021-09-05 15:46:59 +02:00
Jérôme Leclercq
b6c3988bbe
Renderer: Implement firstIndex on DrawIndexed command for OpenGL
2021-09-05 15:46:00 +02:00
Jérôme Leclercq
02a12d9328
Handle shader options of any type
2021-09-03 19:33:41 +02:00
Jérôme Leclercq
120d8f5427
Renderer/RenderWindow: Remove Display and GetImpl methods
2021-08-27 15:39:23 +02:00
Jérôme Leclercq
2b9d8becea
Math: Rework Frustum class
2021-08-23 18:43:34 +02:00
ImperatorS79
b2ae2261e4
Update Prerequisites.hpp
2021-08-21 17:22:58 +02:00
ImperatorS79
befcab7e4e
Enable mingw's clang
2021-08-21 17:22:58 +02:00
Jérôme Leclercq
0179ef4d65
Graphics: Improve frustum culling (do it once per viewer)
2021-08-21 01:42:53 +02:00
Jérôme Leclercq
8546631f62
Add frustum culling (WIP)
2021-08-19 23:26:34 +02:00
Jérôme Leclercq
8db8533300
Fixes a lot of warnings and move math enums to enum classes
2021-08-19 20:27:20 +02:00
Jérôme Leclercq
a2a0e6bd54
Graphics: Add DepthMaterial
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
7aafcfaae9
Minor stuff
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
f5dac32020
Minor stuff
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
ac08afe9f1
Shader: Add missing ! and != parsing
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
a5b71f33b9
Shader: Fix support of conditional functions
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
c8e7fa5063
Graphics: Fix RenderElement missing export
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
3ce072c8e0
Regenerate global headers
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
793952eb67
Graphics: Add Camera class
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
9a311da2c8
Graphics: Add MaterialPassRegistry
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
5b1123b971
Graphics: Fix WorldInstance removal while being in use
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
289472dc9f
Graphics/ForwardFramePipeline: Minor fixes
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
3de0edec6f
Graphics/RenderQueue: Remake it with a naive implementation
...
The idea is to improve it in the future, after profiling
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
08921b36a6
Graphics: Add RenderElement and ElementRenderer (WIP)
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
e4a38d45bd
Renderer/CommandBufferBuilder: Take const AbstractBuffer* to match others methods
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
7e0137f367
Core/Flags: Fix std::hash include
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
7fb5109dfa
Graphics/FrameGraph: Make use of RenderPassCache
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
7e4f624ca7
Renderer: Add RenderPassCache
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
8846eb4309
Regenerate global headers
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
b5045a2c59
Graphics: Add Material and made use of passes (WIP)
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
f61deabe92
Graphics/BakedFrameGraph: Don't release in flight resources
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
40ecdda3cd
VulkanRenderer: Handle VulkanRenderPass destruction
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
1c77a5e549
Core/Flags: Add std::hash specialization
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
5669b5bc60
Graphics: Rename Material to MaterialPass
2021-08-19 18:47:11 +02:00
Lynix
2ee3957822
Renderer: Add NAZARA_REQUEST_DEDICATED_GPU macro
2021-08-04 15:58:24 +02:00
Jérôme Leclercq
90df17d45a
Graphics/Material(Pipeline): Remove leftovers attributes
2021-07-13 14:38:09 +02:00
Jérôme Leclercq
99876d935d
Graphics/Material: Fix IsDepthClampEnabled method
2021-07-13 12:04:19 +02:00
Jérôme Leclercq
863fb3ea7e
Shader: Fix optimization issues
...
Moving the unique_ptrs but failing to optimize the expression could cause issues
Also the constant query callback defaulted to ConstantValue (without const ref), thanks auto.
2021-07-11 11:17:48 +02:00
Jérôme Leclercq
ae364934bb
Graphics/CameraComponent: Add remaining features
2021-07-10 14:27:38 +02:00
Jérôme Leclercq
488ccf9648
Renderer/RenderTarget: Add OnRenderTargetRelease signal
2021-07-10 14:25:49 +02:00
Jérôme Leclercq
c6611fcb9f
Renderer/RenderTarget: Add size method and signal
2021-07-10 11:49:35 +02:00
Jérôme Leclercq
c72dfc8004
Graphics: Add forceDisableFeatures config
2021-07-09 12:37:11 +02:00
Jérôme Leclercq
681cf31b66
OpenGLRenderer: Disable notification messages
2021-07-09 12:36:00 +02:00
Jérôme Leclercq
56776c19c4
OpenGLRenderer: Fix device features not being correctly reported
2021-07-09 12:35:35 +02:00
Jérôme Leclercq
552dfbc01e
Renderer: Add pipeline and texture sampler info validation
2021-07-09 12:34:38 +02:00
Jérôme Leclercq
8458301a64
Add support for depth clamping
2021-07-09 00:22:08 +02:00
Jérôme Leclercq
3a3279246f
OpenGLRenderer: Enable GL_ARB_gl_spirv and GL_ARB_texture_filter_anisotropic with OpenGL 4.6
2021-07-09 00:01:33 +02:00
Jérôme Leclercq
996b5ef85c
Shader: Rename ConstantIndexExpression to ConstantExpression
2021-07-08 15:24:22 +02:00
Jérôme Leclercq
3a31c77524
Shader: Rename ConstantExpression to ConstantValueExpression
2021-07-08 15:22:08 +02:00
Jérôme Leclercq
a895e553d4
Graphics: rework ubershaders to prevent duplicate shaders modules
...
Also rename all remaining conditions to options
2021-07-08 14:52:39 +02:00
Jérôme Leclercq
d3e0d8a39f
Shader: Replace select_opt by const_select
2021-07-08 10:53:11 +02:00
Jérôme Leclercq
5aa63831e8
Remove Nazara SDK
2021-07-07 22:56:50 +02:00
Jérôme Leclercq
309fd547e1
Fix compilation errors and warnings
2021-07-07 22:38:24 +02:00
Jérôme Leclercq
1f6937ab1b
Shader: Implement const if and const values
2021-07-07 22:38:24 +02:00
Jérôme Leclercq
72edff30c7
Shader: Add support for logical and/or
2021-07-07 22:38:24 +02:00
Jérôme Leclercq
f9af35b489
Shader: Attribute can now have expressions as values and struct fields can be conditionally supported
2021-07-07 22:38:24 +02:00
Jérôme Leclercq
ae73f68d8c
Shader: Fix variable shadowing with GLSL
2021-07-06 11:43:47 +02:00
Jérôme Leclercq
4ac5fe7cba
Graphics: Add RenderSystem and frame pipeline
2021-07-06 11:04:22 +02:00
Jérôme Leclercq
7cd772a254
Core/TypeList: Add Apply, Empty and Size operations
2021-07-06 11:00:53 +02:00
Jérôme Leclercq
f9b453bd2b
Shader: Add support for branching and discard statements
2021-07-03 19:13:22 +02:00
Jérôme Leclercq
f2bb1a839c
Math/Matrix4: Remove implicit conversion to pointer
2021-07-03 18:20:00 +02:00
Jérôme Leclercq
ffb28a9044
Physics3D/RigidBody3D: Remove transform callback
2021-07-03 16:34:51 +02:00
Jérôme Leclercq
1c482bbde6
Graphics/BakedFrameGraph: Handle resize in a better way
2021-07-03 13:57:18 +02:00
Jérôme Leclercq
f14db3f5e9
Renderer: Expose RenderTarget and framebuffers indices
2021-07-03 13:52:29 +02:00
Jérôme Leclercq
d88c4ecb5b
Renderer/Framebuffer: Add GetType (and rework backend internals)
2021-06-22 17:30:08 +02:00
Jérôme Leclercq
c188d0616a
OpenGLRenderer: Implement AttachmentLoadOp::Discard using glInvalidateFramebuffer
2021-06-22 17:26:40 +02:00
Jérôme Leclercq
8eb1eb71ba
Merge branch 'nazara-next' of https://github.com/DigitalPulseSoftware/NazaraEngine into nazara-next
2021-06-20 14:13:21 +02:00
Jérôme Leclercq
dae8f328ad
Renderer: Increase allocation pool blocks size
2021-06-20 14:08:38 +02:00
Jérôme Leclercq
de6be67ea6
Utility/Mesh: Add Build static method
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
e073e1a44d
Graphics/Material: Add PrimitiveMode support
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
fe06cc210d
Physics3D/Collider3D: Add GenerateMesh method
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
dbe4abefb8
Math: Add PidController class
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
0eda2d0721
Improve global header generation to take ECS into account
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
c1a9a22177
Add initial ECS support
2021-06-20 14:06:28 +02:00