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
Jérôme Leclercq
6f87a01fb2
Graphics: Improve WorldInstance handling
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
3ef3580ee7
Physics3D: Fix movement
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
1ac0b2e11a
Utility/Node: Implement movement
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
b13c5c950a
OpenGLRenderer: Implement face filling
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
dfa46ebaa5
Fix shader generation unit tests
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
298beaedc0
Graphics/BasicMaterial: Add IsAlphaTestEnabled()
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
3cd9172f7a
Graphics: Make use of shader binding sets
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
f22b501e25
Add initial support for shader binding sets (WIP)
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
815a7b0c62
Replace const ShaderAst::StatementPtr& by ShaderAst::Statement& in input
2021-06-16 16:50:00 +02:00
Lynix
54d56abc56
WIP
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
b85cb174ce
Reverse Y axis (+Y is now up)
2021-06-06 15:59:25 +02:00
Jérôme Leclercq
86097b331b
Renderer: Add support for device-enabled features (anisotropic filtering)
2021-06-05 19:51:48 +02:00
Jérôme Leclercq
e26c1f8e68
Graphics: Add ViewerInstance class
2021-06-05 19:06:02 +02:00
Jérôme Leclercq
743f8eeb24
Graphics/ModelInstance: Add UpdateWorldMatrix method
2021-06-05 19:05:06 +02:00
Jérôme Leclercq
bd1f5214b8
Math: Replace M_PI defines with template constexpr constants
2021-06-05 16:35:15 +02:00
Jérôme Leclercq
fde60dab95
Add missing include
2021-06-05 01:38:49 +02:00
Jérôme Leclercq
50bf26d92f
Shader: Add support for pow intrinsic
2021-06-05 01:29:36 +02:00
Jérôme Leclercq
ee2ceaa701
Update Context.hpp
2021-06-04 19:41:35 +02:00
Jérôme Leclercq
4b3b595a99
Minor fixes
2021-06-04 18:02:28 +02:00
Jérôme Leclercq
5bc3cd8d8c
OpenGLRenderer: Add GL_EXT_texture_compression_s3tc check for DXT pixel formats
2021-06-03 17:15:12 +02:00
Jérôme Leclercq
6161bbec76
Renderer: Handle more depthstencil formats (as Depth24Stencil8 may not be supported everywhere)
2021-06-02 20:16:43 +02:00
Jérôme Leclercq
9ee3a0d6be
DeferredShading: Add bloom
2021-06-01 20:28:19 +02:00
Jérôme Leclercq
12e9edd2d7
Math/Algorithm: Fix missing implementation of Clamp for Angles
2021-06-01 18:04:18 +02:00
Jérôme Leclercq
b6094bf1dd
Math/Matrix4: Update projection matrix formula
2021-06-01 17:39:15 +02:00
Jérôme Leclercq
4d74cef034
Math: Remove NAZARA_MATH_ANGLE_RADIAN and functions using it
2021-06-01 17:37:40 +02:00
Jérôme Leclercq
4465e230af
Shader/NZSL: Add support for array indexing
2021-06-01 16:22:41 +02:00
Jérôme Leclercq
0f3c0abb96
Shader/ShaderAst: Rename AccessMember* to Access*
2021-06-01 12:38:17 +02:00
Jérôme Leclercq
16e2f5f819
Shader: Add support for depth_write and early_fragment_tests attributes (+ FragDepth builtin)
2021-06-01 12:32:24 +02:00
Jérôme Leclercq
465837ff12
Renderer: Add support for cubemaps
2021-06-01 12:30:37 +02:00
Jérôme Leclercq
d5c27a756b
Audio: Fix AudioFormat names (U16 -> I16)
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
28f1d8aa76
Audio: Minor fixes
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
318cc6d3ff
Fix Linux compilation
2021-05-29 13:20:54 +02:00
Jérôme Leclercq
2f8a82ed05
Shader/ShaderBuild: Fix ambiguity for AccessMember
2021-05-29 00:56:04 +02:00
Jérôme Leclercq
a90844f0dd
Remove X11 dependency properly (as it's handled by SDL and EGL)
2021-05-29 00:52:10 +02:00
Jérôme Leclercq
109b2a156e
OpenGLRenderer: Allow RenderPipeline without a fragment shader on OpenGL ES
2021-05-29 00:32:00 +02:00
Jérôme Leclercq
ff505e9019
Renderer: Implement and fix front face (winding order) between Vulkan / OpenGL
2021-05-28 22:58:14 +02:00
Jérôme Leclercq
299585a7de
Renderer: Implement renderpass attachments clear for OpenGL
2021-05-28 22:55:56 +02:00
Jérôme Leclercq
58fe411750
Shader/GlslWriter: Move function forward declaration before functions using them
...
Because of some weird ass shit bug in nvidia driver if functions were forward declared before declaration of UBO they were using
2021-05-26 22:21:57 +02:00
Jérôme Leclercq
948f0517ea
OpenGLRenderer/Program: Add query methods
2021-05-26 22:20:50 +02:00
Jérôme Leclercq
7fe60026be
OpenGLRenderer: Minor fixes
2021-05-26 22:20:10 +02:00
Jérôme Leclercq
e7a2573221
Shader: Add support for FragCoord builtin
2021-05-26 22:17:07 +02:00
Jérôme Leclercq
335bb82be1
Renderer/Texture: Add static helpers
2021-05-25 15:37:55 +02:00
Jérôme Leclercq
59cfc74ab4
Renderer: Improve code
2021-05-25 15:37:27 +02:00
Jérôme Leclercq
001c9a6a61
Audio/Music: Rework Play() (ensure music has started before return and handle exceptions in thread)
2021-05-25 12:12:15 +02:00
Jérôme Leclercq
874fb3542e
Convert all remaining enums to enum classes (!)
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
8cdd0b51cb
Upgrade Audio (part 2)
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
7140e322c1
Commit missing files
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
ba7c56ddfa
Upgrade Platform
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
8b0b5295f7
Upgrade Physics2D and Physics3D
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
4bcb63d776
Audio: Commit missing files
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
f0192c3b98
Core/ResourceLoader: Fix stream reset in case of error
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
cce32a64d4
Upgrade Utility
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
b936946154
Upgrade NazaraAudio
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
a52103a641
Rework ResourceLoader, ResourceManager and ObjectLibrary
...
They're no longer static
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
f6fd996bf1
Shader: Add support for custom functions calls (and better handle intrinsics)
2021-05-22 13:37:54 +02:00
Jérôme Leclercq
49a2cda0a1
VulkanRenderer: Fix descriptor pool release
2021-05-19 20:32:02 +02:00
Jérôme Leclercq
a7235ab02d
Shader: Add support for max/min intrinsic
2021-05-19 20:31:26 +02:00
Jérôme Leclercq
a002d5c210
Shader: Add constant cast optimization
2021-05-18 17:25:37 +02:00
Jérôme Leclercq
e716b44aa3
Add tests and SDK
2021-05-17 23:08:37 +02:00
Jérôme Leclercq
26de5872eb
Merge branch 'master' into graphics-next
2021-05-17 18:58:04 +02:00
Lynix
ccccbfe0ad
Shader/SpirV: Fix UInt32 support
2021-05-16 23:14:39 +02:00
Lynix
13feaf4aab
Renderer: RenderWindow now requires a RenderDevice
2021-05-16 23:13:00 +02:00
Lynix
61d082e61b
Shader/ShaderWrite: Add optimize bool
2021-05-16 23:08:36 +02:00
Lynix
525f24af2e
Shader/ShaderLang: Add support for Unary operators
2021-05-16 23:07:25 +02:00
Jérôme Leclercq
cb881612cc
Renderer: OCD fix
2021-05-15 15:27:37 +02:00
Jérôme Leclercq
51c099b3ce
Renderer: Allow UploadPool to handle very big (>= 2MB) blocks
2021-05-15 15:27:17 +02:00
Jérôme Leclercq
572dc56b10
Update global headers
2021-05-14 03:35:32 +02:00
Jérôme Leclercq
2641117847
Add building using xmake and cleanup thirdparty
2021-05-14 03:35:32 +02:00
Jérôme Leclercq
830ec6ac94
Add a few helper functions
2021-05-14 02:09:25 +02:00
Jérôme Leclercq
f280cff0a2
Renderer: Add release queue to fix deletion while use
2021-05-14 02:04:47 +02:00
Jérôme Leclercq
51ecff2912
ShaderLang: Add support for length intrinsic
2021-05-14 02:02:12 +02:00
Jérôme Leclercq
24f7b75654
Renderer: Add support for PixelFormat_RGBA32F
2021-05-14 01:57:32 +02:00
Jérôme Leclercq
bbfe06c443
Renderer: Fix UploadPool allocations references
2021-05-14 01:56:32 +02:00
Jérôme Leclercq
aeac3282e4
Renderer: Add RenderDevice::GetDeviceInfo()
2021-05-14 01:55:16 +02:00
Jérôme Leclercq
adbf1e1da0
Renderer: Add proper support for blending
2021-05-14 01:50:46 +02:00
Jérôme Leclercq
61dbd91346
Lot of small fixes/improvements
2021-05-14 01:48:47 +02:00
Jérôme Leclercq
9376cfefd2
Graphics/FrameGraph: Add support for pass name (as debug sections)
2021-05-14 01:45:45 +02:00
Jérôme Leclercq
10aa7231b6
Renderer: Fix MRT support
2021-05-05 12:01:20 +02:00
Jérôme Leclercq
55c2dd8485
Add FrameGraph (WIP)
2021-05-02 13:58:35 +02:00
Jérôme Leclercq
377129586b
Renderer: Rename some TextureLayout entry
2021-05-02 13:57:24 +02:00
Jérôme Leclercq
8028044966
Fix Linux compilation
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
044195b209
Minor fixes
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
2238bbfa0c
Shader: Add AstReflect
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
500ccda85a
Shader: StatementPtr& => const StatementPtr&
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
1a8599ba29
Shader: Add sanitization of identifiers (fixes GLSL generation)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
3a7f5c2630
Shader: Fix optimization
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
87ce2edc6e
Shader: Add initial support for options (WIP)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
9fd4249a87
Shader: compilation fixes
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
d335d44d6a
Shader: Cleanup and rename AST files
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
afe3a0ea93
Shader: Merge AstScopedVisitor, AstValidator and TransformVisitor to SanitizeVisitor
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
8515c9cea1
Shader: Improve ShaderAstCloner
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
0bb9c37a38
Shader/Lang: [[attribute]] => [attribute]
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
54c34869a4
Fix Shader unit tests
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
3e704b9ea6
Shader: Minor fixes
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
0860a0689f
Shader/GlslWriter: Improve GLSL readability
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
a90937eb4f
Update ShaderNode
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
4bca87b1cb
Shader: Add IsExpression/IsStatement
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
b234134abc
Shader/ShaderLang: Add type inference for variable declaration
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
0f15387c6c
Shader: Add ShaderAst::Clone free function
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
aababb205f
Shader: Move attribute parsing to parser, simplifying writer code
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
bca1561f73
Shader/GlslWriter: Improve GLSL output
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
3499c1f92f
Shader: Remove the need of layout(std140) in external block
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
ea99c6a19e
Shader: First working version on both Vulkan & OpenGL (ES)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
f93a5bbdc1
Shader: Rework scope handling
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
feffcfa6e5
VulkanRenderer: Fix handling of shader modules
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
09df5f389e
Shader: Add SpirvDecoder
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
e4aabf309e
Renderer: Replace ShaderStage by ShaderModule (a module can handle multiple stages)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
c1d1838336
ShaderLang: Proof of concept (add support for a lot of things)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
9d8ce8f2cd
Shader: Add support for function attributes (entry)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
593d80c80e
SpirV grammar parser: Add result id operand and version info
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
da81a5b871
Shader: Add attribute parsing
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
8135f22b2f
Shader: Add attribute and square bracket tokens (first step for attribute support)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
3f74ee4d66
Shader: Rework Parser internals
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
48b93a9dea
Shader: Fix SPIRV generation
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
fed7370e77
Rework shader AST (WIP)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
b320b5b44e
Shader: Add function parameters and return handling
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
9a0f201433
Initial shaderlang commit
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
6d6391ca46
Fix compilation
...
I forgot master was still in C++14
2021-03-30 17:48:32 +02:00
Jérôme Leclercq
48ab2a4b04
ObjectHandle: Fix handling of <T>
2021-03-19 09:55:36 +01:00
Jérôme Leclercq
d59423afca
Renderer: Rename some TextureUsage
2021-02-24 23:50:12 +01:00
Jérôme Leclercq
b291f8a21c
Renderer: Implement TextureUsage
2021-02-20 19:25:25 +01:00
Jérôme Leclercq
311cfeaf3c
OpenGLRenderer: Fix Y flipping for FBOs
2021-02-20 19:23:29 +01:00
Jérôme Leclercq
fb3468854f
Renderer: Implement Framebuffers
2021-02-20 19:22:08 +01:00
Jérôme Leclercq
3ef74d6e1d
OpenGLRenderer: Use glTexStorage2D instead of glTexImage2D
2021-02-20 19:14:13 +01:00
Jérôme Leclercq
f7442982a4
OpenGLRenderer: Implement debug region data
2021-02-20 19:10:32 +01:00
Jérôme Leclercq
8f9f943e2c
OpenGLRenderer: Implement primitive mode
2021-02-20 18:56:54 +01:00
Jérôme Leclercq
ac3db8a8bf
Utility/PixelFormat: Add preliminary support for SRGB formats (WIP)
2021-02-20 18:01:03 +01:00
Jérôme Leclercq
7c5b1844d3
Core/Flag: Improve code
2021-02-19 14:51:21 +01:00
Jérôme Leclercq
32569eef5e
Add SpirV masks and update grammar
2021-02-19 14:47:24 +01:00
Jérôme Leclercq
32dcc11258
Core/Flags: Add AutoFlag property to disable automatic bit shifting
2021-02-19 14:45:37 +01:00
Jérôme Leclercq
080fd9c7eb
Minor fixes
2021-02-15 18:17:30 +01:00
Jérôme Leclercq
a6b5246633
OpenGLRenderer: Fix clear values
2021-02-15 18:17:10 +01:00
Jérôme Leclercq
08c2f711b0
Graphics/Material: Add UpdateBuffers
2021-02-15 18:16:19 +01:00
Jérôme Leclercq
d058a127e1
Renderer/RenderPass: Implement RenderPass correctly
2021-02-15 18:14:47 +01:00
Jérôme Leclercq
2ef772cec7
Merge branch 'nazara-next' into graphics-next
2021-01-28 16:37:46 +01:00
Jérôme Leclercq
5eedd3c0bc
Renderers: Fix UploadPool
2021-01-28 15:59:18 +01:00
Jérôme Leclercq
41c921bcf6
Function order
2021-01-27 18:53:02 +01:00
Jérôme Leclercq
b9151d8a7a
Graphics: Improve TextureSampler handling
2021-01-27 18:50:49 +01:00
Jérôme Leclercq
78c3f57333
Regenerate global headers
2021-01-27 16:45:11 +01:00
Jérôme Leclercq
a9e9ef2524
Graphics: Add GraphicalMesh and Model classes
2021-01-27 16:45:00 +01:00
Jérôme Leclercq
a1e0ae3f38
Utility/IndexBuffer: Fix GetStride() method for big meshes
2021-01-27 16:44:06 +01:00
Jérôme Leclercq
e3e5c4ba8f
Graphics: Add ModelInstance class
2021-01-22 23:32:32 +01:00
Jérôme Leclercq
19783f7755
Graphics/Material: Rework UBO handling
2021-01-22 23:31:54 +01:00
Jérôme Leclercq
a0d5750ec8
Graphics: Add GetViewerDataUBO
2021-01-22 23:27:11 +01:00
Jérôme Leclercq
a6ff64106e
Minor stuff
2021-01-22 23:23:28 +01:00
Jérôme Leclercq
c76d6505b0
Renderer/ShaderBinder: Make Update take a pointer and size
2021-01-22 23:15:31 +01:00
Jérôme Leclercq
e6ada6846d
Graphics: Fix PredefinedViewerData size
2021-01-22 18:04:58 +01:00
Jérôme Leclercq
a037eef4c9
Shader: Remove ShaderNode::GetExpressionType (replaced by visitor) and minor stuff
2021-01-14 22:01:53 +01:00
Jérôme Leclercq
00ac6e8a0a
Shader: Add ShaderAstOptimizer
2021-01-14 22:01:05 +01:00
Jérôme Leclercq
acb998f67e
ShaderAst: Add NoOp node
2021-01-14 21:58:06 +01:00
Jérôme Leclercq
a9f2e05b57
Fix typo in enum
2021-01-14 21:56:55 +01:00
Jérôme Leclercq
4d63d6e022
Shader: Add basic support for Branch node in spir-v
2021-01-04 10:27:08 +01:00
Jérôme Leclercq
44bc86d082
Shader/SpirvWriter: Rename MergeBlocks to MergeSections
...
to avoid confusion with SpirV blocks
2021-01-03 11:11:54 +01:00
Jérôme Leclercq
079834ca6a
Graphics/UberShader: Fix inline keyword
2021-01-03 10:52:02 +01:00
Jérôme Leclercq
a801754f6e
Remove Material::EnableAlphaTest (superseded by conditions)
2021-01-03 10:48:47 +01:00
Jérôme Leclercq
f327932738
Commit current work
...
Reworked conditions, added uber-shaders, comparison nodes, fixed Discard
2021-01-02 21:15:59 +01:00
Jérôme Leclercq
ed72d668d9
Shader: Add Discard node
2020-12-30 20:05:16 +01:00
Jérôme Leclercq
a1c15a8c16
Math: Add SetBit and TestBit
2020-12-30 18:14:41 +01:00
ImperatorS79
143d7d391a
Remove Value for size_t and correctly fix the problem
2020-11-21 20:21:26 +01:00
ImperatorS79
4bf49876c6
Build Nazara on macos up to Nazara_network (not included
2020-11-21 20:05:19 +01:00
Jérôme Leclercq
960817a1f1
Add conditional expression/statement support for shaders
2020-11-19 13:56:54 +01:00
Jérôme Leclercq
8e6b4cc673
Graphics/Model: Fix copy constructor
2020-11-01 17:40:12 +01:00
Jérôme Leclercq
8027ae9abe
Graphics: Fix PredefinedShaderBinding enum
2020-10-31 16:27:35 +01:00
Jérôme Leclercq
89609570f4
Graphics: WIP (almost working)
2020-10-30 23:08:48 +01:00
Jérôme Leclercq
73e86407b3
Fix some warnings
2020-10-30 23:08:27 +01:00
Jérôme Leclercq
40f3072ff9
Renderer: Add RenderPipeline::GetPipelineInfo
2020-10-30 23:07:21 +01:00
Jérôme Leclercq
b62130dab9
VulkanRenderer: Fix physical device bullshit
...
Keep a single list instead of many
2020-10-30 23:06:56 +01:00
Jérôme Leclercq
009e5a0466
Renderer: Rename ShaderStageImpl to ShaderStage
2020-10-30 23:06:15 +01:00
Jérôme Leclercq
0d779077c1
Core/Algorithm: Add AccessByOffset functions
2020-10-30 23:04:22 +01:00
Jérôme Leclercq
d243e7bcd2
OpenGLRenderer: Move error to string to Utils
2020-09-26 20:43:55 +02:00
Jérôme Leclercq
3b2e375382
WIP
2020-09-26 20:04:05 +02:00
Jérôme Leclercq
6007d8b4ad
Fix FileLogger noexcept attribute
2020-09-26 11:51:47 +02:00
Jérôme Leclercq
65337c6a38
Fix a lot of warnings and some errors
2020-09-26 11:44:09 +02:00
Jérôme Leclercq
2b6a463a45
Remove Nz::String and Nz::StringStream
2020-09-25 19:31:01 +02:00
Lynix
79c53061e0
Shader: Add type functions
2020-09-22 21:50:07 +02:00
Lynix
9c2c62b063
Shader/ShaderAst: Add some noexcept specifiers
2020-09-22 21:24:51 +02:00
Jérôme Leclercq
f15709c8a3
Renderer: Replace unique_ptr by shared_ptr
2020-09-20 15:56:58 +02:00
Jérôme Leclercq
95c9ad0fd8
Add graphics module base
2020-09-20 14:52:44 +02:00
Jérôme Leclercq
790815e9ee
Merge branch 'master' into nazara-next
2020-09-17 20:28:11 +02:00
Jérôme Leclercq
3f6f18859c
Fix compilation
2020-09-17 20:25:15 +02:00
Jérôme Leclercq
37418d482e
Renderer: Allow to set a preferred render api using configuration
2020-09-17 20:11:10 +02:00
Jérôme Leclercq
36d3c51eeb
Add module configurations
2020-09-17 20:10:39 +02:00
Jérôme Leclercq
98e20ecbb7
Last modules fixes
2020-09-17 18:54:33 +02:00
Jérôme Leclercq
631aeb77a2
Update global headers
2020-09-11 13:50:19 +02:00
Jérôme Leclercq
fd1d416510
Rename Module to ModuleBase
2020-09-11 13:39:18 +02:00
Jérôme Leclercq
a7fac3beb8
Rework modules
2020-09-10 20:12:09 +02:00
Jérôme Leclercq
0cadaecbd2
Fix that clang warning
2020-09-07 16:21:43 +02:00
Jérôme Leclercq
193deb6c04
Fix some minor stuff
2020-09-06 17:09:39 +02:00
Jérôme Leclercq
67b0d70b7c
Upgrade to Newton 3.14 and make it a thirdparty lib
2020-09-06 17:09:19 +02:00
Jérôme Leclercq
385927b05a
Fix minor stuff
2020-09-04 16:14:11 +02:00
Jérôme Leclercq
53e5aa924f
VulkanRenderer/Swapchain: Rename Buffer to Image
2020-09-04 15:58:07 +02:00
Jérôme Leclercq
69dda85e45
Vulkan: Refactor function list headers
2020-09-04 15:21:46 +02:00
Jérôme Leclercq
5f9025c23c
Fix VulkanRenderer compilation under Linux ( 🖕 X.h)
2020-09-04 15:13:18 +02:00
Jérôme Leclercq
951642ecb4
Fix some warnings
2020-09-03 16:33:49 +02:00
Jérôme Leclercq
0255541b44
Replace EGL symbol loader
2020-09-03 16:33:37 +02:00
Jérôme Leclercq
0609a10c25
OpenGLRenderer: Get rid of std::function by using function indexes
2020-09-03 13:54:44 +02:00
Jérôme Leclercq
6848ff8b34
OpenGLRenderer: Add debug wrapper (which handle OpenGL errors)
2020-09-03 13:39:34 +02:00
Jérôme Leclercq
d622a75d73
Add BufferUsage_Dynamic
...
Since OpenGL screams in performance warning because of a GL_STATIC_DRAW buffer being updated from another buffer
2020-09-02 17:19:52 +02:00
Jérôme Leclercq
d05df45cb6
Fix EGL context sharing
...
It seems contexts must be part of the same display to be shared, and that using default display with window isn't an issue on Windows/X11
2020-09-02 15:40:57 +02:00
Jérôme Leclercq
bc2f18c852
OpenGLRenderer: Try to fix EGLContext sharing with X11
2020-09-01 20:10:09 +02:00
Jérôme Leclercq
d7586aaef7
Oopsie
2020-09-01 19:28:54 +02:00
Jérôme Leclercq
c7b0d103e1
OpenGLRenderer: remove opengl32 dependency on Linux
2020-09-01 19:28:10 +02:00
Jérôme Leclercq
7ea0b223ec
Linux fixes
2020-09-01 19:18:27 +02:00
Jérôme Leclercq
ae34533595
Minor fixes
2020-09-01 18:47:08 +02:00
Jérôme Leclercq
7d2673eabd
Shader: Fix shader serialization
2020-09-01 18:46:57 +02:00
Jérôme Leclercq
ef737a8ecd
Add basic EGL support
2020-09-01 18:46:35 +02:00
Jérôme Leclercq
09f85e8244
Moar fix
2020-08-28 16:00:11 +02:00
Jérôme Leclercq
35dccd822c
Remove useless Wrapper.hpp headers
2020-08-28 15:52:42 +02:00
Jérôme Leclercq
ea8f34c45e
Rename WGL folder from Win32 to WGL
2020-08-28 15:52:31 +02:00
Jérôme Leclercq
8d873a8307
Fix a lot of small errors/warnings
2020-08-28 15:42:19 +02:00
Jérôme Leclercq
0ff0425045
Some more fixes, hopefully GCC will stop shitting itself now
2020-08-27 23:22:13 +02:00
Jérôme Leclercq
3fe70476bb
Workaround some GCC bug
2020-08-27 22:58:44 +02:00
Jérôme Leclercq
36120b9501
Compilation fixes
2020-08-27 20:24:27 +02:00
Jérôme Leclercq
c87affe276
Fix redefinition of type
2020-08-27 20:12:54 +02:00
Jérôme Leclercq
b2a7e620e0
Merge branch 'master' into nazara-next
2020-08-27 20:12:36 +02:00
Jérôme Leclercq
056b78c2f7
Fix 32bits compilation
2020-08-27 20:09:51 +02:00
Jérôme Leclercq
df51526841
Fix some compilation errors
2020-08-27 20:02:20 +02:00
Jérôme Leclercq
2a875c8bdc
Remove Graphics module and fix compilation
2020-08-27 19:43:31 +02:00
Jérôme Leclercq
9d16559f55
Core/Bitset: Fix crash when resizing to zero
2020-08-27 19:25:43 +02:00
Jérôme Leclercq
a28635ec70
Merge pull request #326 from DigitalPulseSoftware/vulkan
...
Add OpenGL / Vulkan renderers
2020-08-27 18:38:21 +02:00
Jérôme Leclercq
51ec9741df
OpenGLRenderer: Handle resize/minimize
2020-08-27 18:32:22 +02:00
Jérôme Leclercq
7c9dcdfbe4
Allocate command buffers from pools
2020-08-27 18:31:26 +02:00
Jérôme Leclercq
cbdac32f5f
VulkanRenderer: Handle window resize
2020-08-27 16:16:33 +02:00
Jérôme Leclercq
982d28cace
Fix infinite loop
2020-08-25 12:34:43 +02:00
Jérôme Leclercq
9b313dac2e
Quality of life improvements
2020-08-24 17:14:01 +02:00
Jérôme Leclercq
ba777ebbca
Shader/SpirvPrinter: Add settings
2020-08-24 16:49:14 +02:00
Jérôme Leclercq
77b66620c9
Refactor SpirV classes
...
SpirvStatementVisitor was merged with SpirvExpressionLoad
SpirvExpressionLoadAccessMember was renamed SpirvExpressionLoad
2020-08-23 21:56:30 +02:00
Jérôme Leclercq
93de44d293
Big SpirVWriter refactor
2020-08-23 18:32:28 +02:00
Jérôme Leclercq
66a14721cb
Shader/Spirv: Put types and constants in the same section
2020-08-21 22:51:11 +02:00
Jérôme Leclercq
cd23c01ace
Shader: AccessMember can now access nested fields
2020-08-21 22:50:30 +02:00
Jérôme Leclercq
9df219e402
Add SpirvConstantCache
...
And unsigned int types for shaders
2020-08-20 01:05:16 +02:00
Jérôme Leclercq
0b507708f4
Shader/SpirvWriter: Split section to another class + improve variadic parameters support
2020-08-18 00:00:05 +02:00
Jérôme Leclercq
73e88a2573
Add Spir-V header/source generator
2020-08-17 23:59:08 +02:00
Jérôme Leclercq
581a5344e6
OpenGLRenderer: Add wglSwapIntervalEXT
2020-08-11 00:15:34 +02:00
Jérôme Leclercq
1a12e18a36
Fix copyright dates and some defines
2020-08-11 00:01:49 +02:00
Jérôme Leclercq
837a6585a1
Split shader generation to a new module
2020-08-11 00:00:36 +02:00
Jérôme Leclercq
d4f60c174e
OpenGLRenderer: Flip screenspace
2020-08-09 18:40:59 +02:00
Jérôme Leclercq
ac7b523bc7
OpenGLRenderer: Fix textures
2020-08-09 18:38:58 +02:00
Jérôme Leclercq
0da2ee6c99
First rendering using Spir-V generated shaders \o/
2020-08-09 00:24:07 +02:00
Jérôme Leclercq
3829f0a002
ShaderAstCloner: Improve code readability
2020-08-05 16:28:41 +02:00
Jérôme Leclercq
d6d452d43d
Add ShaderAstCloner
2020-08-05 15:30:23 +02:00
Jérôme Leclercq
74fb01af28
Rename a few classes
2020-08-04 15:31:47 +02:00
Jérôme Leclercq
7a5f91f740
SpivWriter WIP
...
We have debug label, annotations, types and constants. The big part missing is instructions
2020-08-04 01:35:30 +02:00
Jérôme Leclercq
7fd3264d08
Add FieldOffsets class
2020-08-04 01:33:52 +02:00
Jérôme Leclercq
7736312c2f
ShaderNodes: Replace union by std::variant
2020-08-04 01:33:31 +02:00
Lynix
50bd150345
WIP
2020-08-02 20:42:51 +02:00
Lynix
10860ed562
Improve code
2020-07-31 12:36:37 +02:00
Lynix
2271432748
Renderer/ShaderValidator: Use ShaderVarVisitor instead of switch
2020-07-29 14:39:34 +02:00
Lynix
a02dd3bf05
Renderer: Add ShaderRecursiveVisitor
2020-07-29 14:31:54 +02:00
Jérôme Leclercq
251810ca99
WIP SpirvWriter
2020-07-29 11:22:52 +02:00
Jérôme Leclercq
59add283cf
Add shader type
2020-07-27 18:52:58 +02:00
Lynix
aff617f147
Network: Replace some String by std::string
2020-07-25 14:32:53 +02:00
Jérôme Leclercq
063b7dd602
Renderer/GlslWriter: Add parenthesis where required (wip)
2020-07-22 14:48:15 +02:00
Jérôme Leclercq
086f76fb97
Renderer/ShaderNodes: Add support for accessing struct fields
2020-07-19 21:05:46 +02:00
Jérôme Leclercq
1d2fb88198
Renderer: Rename enums
...
ExpressionType => BasicType
ShaderAst::Type => ShaderExpressionType
2020-07-16 18:34:58 +02:00
Jérôme Leclercq
fbba281d14
Renderer: Add support for struct and UBO
2020-07-14 21:59:49 +02:00
Jérôme Leclercq
b076a517c6
Merge branch 'vulkan' into shader-nodes
2020-07-08 22:38:24 +02:00
Lynix
4f671873c1
Renderer: Add NazaraBinary shader "language" and handle it in OpenGLRenderer
2020-06-18 20:05:22 +02:00
Lynix
74acf440fc
Minor fixes
2020-06-18 20:04:25 +02:00
Lynix
691de5b5c4
Renderer/ShaderSerialize: Use ByteStream instead of ByteArray
2020-06-18 20:03:56 +02:00
Lynix
66a98b234f
Renderer/GlslWriter: Add environment
2020-06-18 20:03:22 +02:00
Lynix
736ca1c409
Renderer/ShaderAst: Add serialization
2020-06-17 20:09:21 +02:00
Lynix
40ade49767
Update global headers
2020-06-17 16:00:16 +02:00
Lynix
f38bfdde8a
ShaderAst: Big refactor + add binding/location support
2020-06-17 16:00:03 +02:00
Lynix
2258a4f87f
Add ShaderValidator
2020-06-06 16:44:17 +02:00
Lynix
8467c79021
Renderer: Add shader serialization
2020-06-05 19:47:29 +02:00
Lynix
de1c64253e
Fix missing files
2020-06-04 18:31:43 +02:00
Lynix
25562a5856
Renderer/ShaderAst: Add BinaryFunc
2020-06-04 18:29:50 +02:00
Lynix
52c24e76db
SDK/Physics2D: Fix entity rotation not being taken into account for static physics
2020-06-02 17:06:01 +02:00
Lynix
8c2bfd296f
Core/StringExt: Prevent empty match call
2020-06-01 16:16:11 +02:00
Lynix
effd1b4552
ShaderNode: Handle vector component count at runtime
2020-05-31 18:39:28 +02:00
Lynix
4f9380da11
More Linux fixes
2020-05-27 21:01:14 +02:00
Lynix
7ed0543ad2
Add NAZARA_PLATFORM_GLX back
2020-05-27 20:52:04 +02:00
Lynix
2efb6baaa6
Linux fix
2020-05-27 20:43:42 +02:00
Lynix
3fc4de26e3
ShaderGraph: Improve GLSL generation by introducing DeclareVariable statement
2020-05-27 20:08:41 +02:00
Lynix
e4348349da
Merge branch 'vulkan' into shader-nodes
2020-05-27 20:04:37 +02:00
Lynix
e0e7435c55
Merge fixes
2020-05-27 20:03:46 +02:00
Lynix
68208f5426
Merge branch 'master' into vulkan
2020-05-27 19:48:22 +02:00
Lynix
81f03f04e5
Revert Renderer to its pre-SDL state
2020-05-27 19:42:53 +02:00
Lynix
2d189dc85e
Fix WindowHandles
2020-05-27 18:55:03 +02:00
Lynix
b0c72a6101
Replace platform backends by SDL
2020-05-27 17:47:52 +02:00
Lynix
c071f52d8f
Platform/Mouse: Add SetRelativeMouseMode
2020-05-27 17:08:49 +02:00
Jérôme Leclercq
1425f99edf
Merge branch 'master' into SDL2
2020-05-27 11:11:21 +02:00
Lynix
d96bc9db6e
ShaderNode: Add automatic variables
2020-05-26 20:30:24 +02:00
Lynix
b1b9030359
Math/Vector[I]: Replace implicit pointer conversion by [] operator overload
2020-05-26 16:03:57 +02:00
Lynix
3b440254da
Math/Vector[I]: Set method: Replace array by pointer
2020-05-26 15:58:15 +02:00
Lynix
8fa456bdf5
Renderer: Remake backend selection
2020-05-23 22:07:22 +02:00
Lynix
e23eb74802
Renderer/ShaderAst: Add Sample2D
2020-05-19 20:06:11 +02:00
ImperatorS79
db0b2ba27b
Fix warning -Wreorder on linux in SimpleTextDrawer
2020-05-18 10:37:49 +02:00
Lynix
6a23d51147
OpenGL: Implement commands buffers
2020-05-11 14:12:13 +02:00
Lynix
fe5b70ae1c
OpenGL: Implement VAOs
2020-05-11 14:10:36 +02:00
Lynix
332278dded
OpenGL: Random stuff I forgot
2020-05-11 14:05:40 +02:00
Lynix
2ea03fe05f
OpenGL: Implement Framebuffers
2020-05-11 14:03:54 +02:00
Lynix
3cf53c4d9a
OpenGL: Implement RenderPipeline
2020-05-11 14:01:17 +02:00
Lynix
49c68e581a
OpenGL: Fix TextureSampler mipmap issue
2020-05-11 13:58:12 +02:00
Lynix
6073d8f592
OpenGL: Implement UploadPool
2020-05-11 13:57:11 +02:00
Lynix
eba0571f03
OpenGL: Implement program wrapper
2020-04-26 18:22:31 +02:00
Lynix
b7a7c84a89
Minor fixes
2020-04-26 18:22:07 +02:00
Lynix
32157503e8
OpenGL: Implement RenderPipelineLayout
2020-04-26 18:21:38 +02:00
Lynix
0b05feb7e3
OpenGL: Implement buffers
2020-04-26 18:20:36 +02:00