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 |