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
Lynix
494801282d
Minor fixes
2020-04-26 16:29:39 +02:00
Lynix
e9f0b01e02
OpenGLRenderer: Implement TextureSampler (and texture units)
2020-04-26 16:29:31 +02:00
Lynix
cbd81e3abf
Vulkan: Fix DeviceObject not destroying previous object
2020-04-26 16:26:24 +02:00
Lynix
1c23949608
OpenGLRenderer: Use generic DeviceObject
2020-04-26 16:26:08 +02:00
Lynix
b4b15f826d
OpenGL: Implement textures
2020-04-19 15:33:56 +02:00
Lynix
349e915e10
OpenGL: Link contexts to device
2020-04-19 15:33:36 +02:00
Lynix
bd6924d66d
OpenGL: Handle Spir-V
2020-04-19 15:31:48 +02:00
Lynix
f63d045676
OpenGL: Better handling for activation/desactivation
2020-04-19 15:28:59 +02:00
Lynix
d62e99091f
OpenGL: Implement debug callback
2020-04-19 15:19:16 +02:00
Lynix
a842e89881
Fix some missing files
2020-04-19 01:38:52 +02:00
Lynix
506099fcd7
OpenGL: Implement ShaderStage
2020-04-19 01:38:38 +02:00
Lynix
9dd208c3cf
OpenGL: Fix contexts & loaders
2020-04-19 01:38:19 +02:00
Lynix
4dc8920a73
Implement some classes
2020-04-19 01:37:56 +02:00
Lynix
5c3eb31d4a
OpenGL: Implement device
2020-04-19 01:36:44 +02:00
Lynix
0fa095e8f7
OpenGL: Rework contexts
2020-04-19 01:35:19 +02:00
Lynix
3b24d020e8
Minor stuff
2020-04-19 01:24:37 +02:00
Lynix
fca3d855bd
Core: Add MovableValue
2020-04-19 01:23:26 +02:00
Lynix
68760209c1
Add OpenGLRenderer (WIP)
2020-04-15 19:38:11 +02:00
Lynix
b58b35c322
Core: Add SplitString(Ext)
2020-04-15 19:37:41 +02:00
Lynix
dd74e5ecc1
Includes fix
2020-04-13 16:29:15 +02:00
Lynix
e905c3a004
Move Vulkan debug callback to module
2020-04-13 15:12:58 +02:00
Lynix
7447875753
Vulkan/Surface: Remove MIR support
2020-04-13 15:12:19 +02:00
Lynix
75241ed8f0
VkRenderWindow: Default to RGBA8 if supported
2020-04-13 15:11:35 +02:00
Lynix
b2d3605cf4
Fix includes
2020-04-10 17:36:43 +02:00
Lynix
d9a08640d6
Vulkan: Add renderpass and framebuffers
2020-04-10 17:36:05 +02:00
Lynix
9507c56fc9
PixelFormat rename
...
PixelFormatInfo => PixelFormatDescription
PixelFormat => PixelFormatInfo
PixelFormatType => PixelFormat
2020-04-10 14:19:36 +02:00
Lynix
87f1209327
Vulkan: Refactor command buffer and introduce command pool
2020-04-07 21:10:16 +02:00
Lynix
ac8b908079
Vulkan: Replace ShaderBinding& by ShaderBindingPtr
2020-04-06 21:13:59 +02:00
Lynix
f443bec6bc
Add command buffers (WIP)
2020-04-02 21:07:01 +02:00
Lynix
cf396b0792
Add support for VK_EXT_debug_utils
2020-03-26 23:34:58 +01:00
Lynix
15b95ca4a1
Minor and forgotten stuff
2020-03-26 21:20:00 +01:00
Lynix
1dc0ed8e94
Add ShaderBinding
2020-03-26 21:19:46 +01:00
Lynix
874130efd4
Implement Texture and TextureSampler
2020-03-26 21:18:35 +01:00
Lynix
b73d3e8f04
Add and make use of Vulkan Memory Allocator
2020-03-26 21:15:49 +01:00
Lynix
509c392e05
Implement UploadPool to efficiently update UBOs
2020-03-26 21:13:06 +01:00
Lynix
e53e15d1aa
Split CommandBuffer into Auto and normal variants
2020-03-26 21:09:58 +01:00
Lynix
d892e8eaff
Add support for Vulkan 1.1 & 1.2
2020-03-26 20:42:57 +01:00
REMqb
96ea792656
~ Formatting
2020-03-21 12:42:50 +01:00
Lynix
da5d8bc4c2
Bypass MSVC parser regression
2020-03-20 20:56:15 +01:00
Lynix
42d58bd77c
Vulkan: Add physical device extension listing
2020-03-18 13:58:30 +01:00
Lynix
07fa581525
Cleanup device creation/selection
2020-03-18 13:48:53 +01:00
Lynix
4ede9f1cfe
Add texture in demo
2020-03-18 13:48:05 +01:00
Lynix
9cc206b33e
Minor C++ fixes
2020-03-17 17:13:27 +01:00
Lynix
5fde1e335b
VulkanBuffer: Use WaitIdle instead of a fence (same effect)
2020-03-15 13:26:36 +01:00
Lynix
6fd1f70a6d
QueueHandle: Fix submit overloads
2020-03-15 13:26:20 +01:00
Lynix
7cce08ecfd
VulkanRenderer/QueueHandle: Add overloads able to take multiple wait/signal semaphores
2020-03-14 17:35:03 +01:00
Lynix
74adef0aec
OCD fix
2020-03-14 17:34:21 +01:00
Lynix
cee47f366f
Rename Vk::Queue to Vk::QueueHandle
2020-03-14 17:33:50 +01:00
Lynix
0ace9a5e8d
Fix instance destruction
2020-03-13 18:45:56 +01:00
Lynix
b774a879b6
Rework buffers synchronization
2020-03-13 18:44:49 +01:00
Lynix
63547fcd4e
Replace DeviceHandle by references
...
and keep device alive until Vulkan is freed
2020-03-13 18:38:26 +01:00
Lynix
4cf24cde7d
VertexDeclaration: Add check for duplicates
2020-03-08 18:10:23 +01:00
Lynix
28cf4ed6e3
Make Vk::Device store a reference to Vk::PhysicalDevice info
2020-03-08 18:10:12 +01:00
Lynix
0e27c2315f
Move Vulkan functions list to external files
2020-03-08 18:09:45 +01:00
Lynix
f830dbf6d4
Fix compilation
2020-03-05 22:35:12 +01:00
Lynix
c1a01c4183
Remove useless inline
2020-03-05 22:35:00 +01:00
Lynix
2b3241f354
Add RenderPipelineLayout
2020-03-05 20:35:31 +01:00
Lynix
c23b6dfa01
Copyright year update
...
I can't wait to see the conflicts this will cause
2020-03-05 17:27:26 +01:00
Lynix
74275292bf
Some cleanup
2020-03-05 17:24:55 +01:00
Lynix
9515f1c807
Improve synchronization based on vulkan-tutorial
...
https://vulkan-tutorial.com/Drawing_a_triangle/Drawing/Rendering_and_presentation
2020-03-04 20:13:37 +01:00
Lynix
7ba9a33d35
Add Fence objects (+ use them for sync)
2020-03-04 18:50:41 +01:00
Lynix
7bf734cdd4
Improve pipeline building
2020-03-03 22:26:57 +01:00
Lynix
d5c75926c6
WIP (VertexDeclaration)
2020-03-03 01:04:24 +01:00
Lynix
287be5d9b6
WIP
2020-03-01 20:31:48 +01:00
Lynix
7180a8d94e
WIP
2020-03-01 20:31:41 +01:00
Lynix
af28ea02a8
Vulkan usage fixes
2020-02-29 23:28:59 +01:00
Lynix
5d449095bf
Renderer: Add ShaderStage class
2020-02-29 23:28:21 +01:00
Lynix
798425ce10
Some work on render pipelines
2020-02-27 23:12:29 +01:00
Lynix
c05ea4095a
Begin work on RenderPipeline
2020-02-25 22:56:08 +01:00
Lynix
7bbba14ba0
Fix merge
2020-02-25 20:22:46 +01:00
Lynix
cb66dddd45
Merge branch 'nazara-next' into vulkan
2020-02-25 19:15:07 +01:00
Lynix
269190bb75
Core/Bitset: Make use of if constexpr
2020-02-24 18:49:43 +01:00
Lynix
b6b3ac9f31
Move SDK include and source to base
2020-02-24 18:23:30 +01:00
Lynix
eb8800f812
Remove Lua and Noise modules
2020-02-24 17:52:06 +01:00
Lynix
79f732ee8a
VulkanRenderer: Replace ObjectHandle by std::shared_ptr/raw pointers
2020-02-23 12:02:15 +01:00
Lynix
3fc67b3598
Core/FileLogger: Drop noexcept specifier for movement
...
Since fstream doesn't have it
2020-02-23 02:20:48 +01:00
Lynix
364122f582
SparsePtr: Make pointer conversion explicit
2020-02-23 02:06:48 +01:00
Lynix
0c008236ba
Minor fixes + update vulkan include
2020-02-23 01:28:16 +01:00
Lynix
8b5f9d68c3
Fix missing includes
2020-02-23 00:49:38 +01:00
Lynix
8be2342f25
Merge branch 'master' into vulkan
2020-02-23 00:46:48 +01:00
Lynix
3d22321109
Big f***ing cleanup part 1
2020-02-23 00:42:22 +01:00
Lynix
e35caebdcf
Core: Add ByteArrayPool and PoolByteStream classes
2020-02-04 11:42:05 +01:00
Lynix
518b8697de
Network/ENetHost: Add AllowsIncomingConnections method
2020-02-01 16:36:05 +01:00
Lynix
8c7301f649
Utility/RichTextDrawer: Add character & line spacing offsets
2020-01-26 16:57:56 +01:00
Lynix
977044f59e
Utility/SimpleTextDrawer: Replace line spacing factor by line spacing offset
2020-01-26 16:19:06 +01:00
Lynix
11d51872fa
Utility/SimpleTextDrawer: Add character spacing offset
2020-01-26 16:18:28 +01:00
Lynix
b50691d71e
Update Core.hpp
2020-01-25 19:15:30 +01:00
Lynix
151b8eb425
Fix previous commit
2020-01-25 19:15:25 +01:00
Lynix
6b825a084c
Utility/SimpleTextDrawer: Add line spacing factor
2020-01-25 19:08:36 +01:00
Lynix
548ede4613
Utility/*TextDrawer: Use float internally
...
+ some fixes
2020-01-25 19:07:20 +01:00
Lynix
59d80dbe6d
Utility/SimpleTextDrawer: Fix a lot of minor bugs
...
+ add .inl
2020-01-25 15:25:10 +01:00
Lynix
db78c9c948
Renderer/Texture: Remove Image constructor
2020-01-09 22:42:28 +01:00
Lynix
df2a029f30
Physics2D/Collider2D: Add support for neighbors vertices
2020-01-01 17:25:22 +01:00
Lynix
f371cbb386
Fix EmptyStream open mode
2019-12-29 16:36:23 +01:00
Lynix
35cf05e3bc
Core: Add EmptyStream class
2019-12-29 16:25:40 +01:00
Lynix
0b825680de
Network/ENetPeer: Reduce memory usage
2019-12-29 11:56:13 +01:00
Lynix
24cb8f6845
Add ENet::GetTotalPacketReceived
2019-12-29 11:54:00 +01:00
Lynix
56243f5a12
Nazara/Network: Add GetTotalByte[Received|Sent]
2019-12-28 17:31:21 +01:00
Lynix
57b37c3d2c
Minor fixes
2019-12-28 15:06:31 +01:00
Lynix
fcfcc94c49
Fix RichTextDrawer ignoring max line width
2019-12-28 12:03:41 +01:00
Lynix
ba405aaa5f
Fix some missing override
2019-12-28 11:44:13 +01:00
Lynix
97418bfe04
RichText: Add support for outline color/thickness
2019-12-28 11:43:48 +01:00
Lynix
e6c0f864f3
Fix reorder warning
2019-12-22 22:12:41 +01:00
Lynix
2a7ffffd84
Fix warning
2019-12-22 17:01:46 +01:00
Lynix
e282b842b4
Add Node::SetScale(Vector2) to prevent a bug
2019-12-22 17:01:05 +01:00
Lynix
dba9bb8b47
Math: Add Rect(u)i64 using
2019-12-22 17:00:48 +01:00
Lynix
3b43f57192
Added physics function to control sleeping behavior
2019-12-19 21:33:56 +01:00
REMqb
ef791e2f3c
~ WIP input IME
2019-12-19 19:59:43 +01:00
Lynix
ec0eed9eff
Core/HandledObject: Add OnHandledObjectDestruction signal
2019-12-15 15:41:41 +01:00
Lynix
3760c8b5c4
Utility/Node: Fix negative scaling not affecting rotation
2019-12-13 17:23:01 +01:00
Lynix
1dbe71474d
Utility/Node: Get[Position|Rotation|Scale) now defaults to local space
2019-12-12 09:58:08 +01:00
Lynix
bcc10a1ee2
Math/Matrix4: Add Decompose
2019-12-10 09:49:52 +01:00
Lynix
be8e89b228
Math: Remove all Set(class) methods
2019-12-10 09:49:40 +01:00
Lynix
ef030ddaac
Rework constraint2D
2019-12-08 18:56:21 +01:00
Lynix
ae996ae09d
Oopsie
2019-11-09 15:34:25 +01:00
Lynix
57958056d6
Core/Flags: Add Set method
2019-11-09 13:53:29 +01:00
Lynix
a4bff0968b
Core/Flags: Add Clear methods
2019-11-09 13:37:40 +01:00
Jérôme Leclercq
9161886cc8
Update Flags.inl
2019-10-15 22:12:31 +02:00
Lynix
9576e2794d
Core/Flags: Fix bitfield type selection
2019-10-15 18:09:34 +02:00
Lynix
7b9dad59fe
Oopsie
2019-09-29 16:43:56 +02:00
Lynix
31e6bfe43a
Core/Stack[Array|Vector]: Are now default-initializable and movable
2019-09-29 16:41:26 +02:00
Lynix
5fce345b3e
Core/StackVector: Fix resize check
2019-09-28 17:36:19 +02:00
Lynix
89243a39b5
Holy shit i'm stupid
2019-09-28 16:55:11 +02:00
Lynix
acc2c072ba
Core/StackVector: Fix erase method (+ add tests)
2019-09-25 16:17:07 +02:00
Lynix
3c7addc262
Utility/RichTextDrawer: Fixes block removal not adjusting glyph indexes
...
+ Add HasBlocks method
2019-09-25 09:36:57 +02:00
Lynix
8e4df4cadc
SDK: Add RichTextAreaWidget (WIP)
2019-09-25 09:36:57 +02:00
Lynix
451b3de69c
Utility: RichTextDrawer now works (WIP)
2019-09-25 09:36:57 +02:00
Lynix
5504dd59fb
Utility/RichTextDrawer: Update header
2019-09-25 09:36:57 +02:00
Lynix
8013bd5d3b
Add current work
...
Former-commit-id: 7f1e46e484edbbfd120a7a67ea1c36bee460e517
2019-09-25 09:36:57 +02:00
Lynix
724972e889
Core/TypeTag: Add Type helper typedef
2019-09-01 11:15:02 +02:00
Lynix
55e3e05f0c
Improve line wrap
...
It will now try to separate at word separations
2019-07-06 19:32:11 +02:00
Lynix
0ec1480024
Add line wrapping
2019-07-05 23:12:12 +02:00
Lynix
37c16dc202
Platform/Event: Add x/y mouse position to MouseWheelEvent
2019-07-05 22:17:22 +02:00
Lynix
dcfd2ad8f9
Physics2D/PhysWorld2D: Add RaycastQuery and RegionQuery overloads taking a callback
2019-05-27 22:42:37 +02:00
Lynix
ab5188c57d
Add scancode and virtual key and fix some sdl stuff on Windows
2019-05-19 16:34:29 +02:00
Apjue
1244ef1303
Fix french comment
2019-04-26 21:51:43 +02:00
Apjue
aec88aafa2
Fix Nazara version & fake tab
2019-04-26 21:47:24 +02:00
Lynix
79b0bd644c
Add text outlines!
2019-04-16 01:46:26 +02:00
Lynix
e61faae089
Physics2D/PhysWorld2D: Fix multiple calls to RegisterCallbacks with the same collision id
2019-04-15 16:25:40 +02:00
Lynix
8c7d886f73
Math/Algorithm: Reenable constexpr
2019-04-15 14:16:57 +02:00
Lynix
0582cbfc26
Utility: Replace UInt32 by TextStyleFlags
2019-04-13 13:09:53 +02:00
Jérôme Leclercq
e665ea5373
Graphics/Material: Fix Configure resetting textures
2019-04-12 15:29:15 +02:00
REMqb
848f05a420
~ Initial SDL2 implementation
...
Limitation
- Dependent projects need to set NAZARA_PLATFORM_SDL2 if nazara has been build with SDL2 since OpenGL.hpp (and maybe some other headers) exposes platform details
- SDL2 window doesn't supports async window since the API isn't fitting for now
- Contexts parameters can't be changed until we close all the SDL windows (SDL limitation)
2019-04-03 21:17:06 +02:00
Lynix
0ca823f9a6
Graphics: Remove sprite limit
2019-03-31 16:31:02 +02:00
Jérôme Leclercq
03e2bfb833
Merge pull request #201 from DigitalPulseSoftware/physics2d-position-offset
...
Add possibility to set a position offset to Physics2D bodies
2019-03-28 00:03:41 +01:00
Lynix
b2da8d6c91
Fix compilation
2019-03-27 23:13:14 +01:00
Lynix
23887cc519
Merge branch 'master' into physics2d-position-offset
2019-03-26 20:33:40 +01:00
Lynix
11e98918ab
Physics2D/Collider2D: Add ForEachPolygon method
2019-03-26 19:03:56 +01:00
Lynix
ce43b633b9
Physics3D/Collider3D: Update ForEachPolygon signature
2019-03-26 19:02:27 +01:00
Lynix
3beeeebc1d
Physics2D/RigidBody: Add position offset
2019-03-26 18:59:18 +01:00
Jérôme Leclercq
ffc58e9806
Fix compilation
2019-03-20 17:18:45 +01:00
Jérôme Leclercq
853e01c192
Enet fixes ( #200 )
...
* Network/ENet: Fix UnreliableFragment flag
* Network/ENet: Match libenet new behavior on DisconnectLater
2019-03-20 17:12:34 +01:00
Lynix
bdb5a4b3bd
Core/Signal: Implement copy constructor/copy assignation operator
2019-03-17 18:06:05 +01:00
Lynix
439a62a7f8
Physics2D: Automatically compute center of mass
2019-03-17 15:56:38 +01:00
Lynix
b6c1bfb5d0
Math/Vector4: Fixed missing implementation
2019-03-16 15:43:37 +01:00
Lynix
c2a44f7616
Math: Added Vector[2|3|4](u)i64 typedefs
2019-03-16 15:40:52 +01:00
Lynix
23b2f0a48d
Platform/Window: Make PushEvent public
2019-03-10 15:50:16 +01:00
Lynix
90609476e9
Platform/Event: Change mouse absolute position from unsigned to signed
...
Fixes cases where mouse is out of the window by either up or left sides
2019-03-06 21:17:01 +01:00
Alexandre Janniaux
5343b581ad
Warnings: fix opengl redefined name ( #196 )
...
* opengl: use official include names
* thirdparty: rename GL3 into GL
2019-02-13 01:05:07 +01:00
larnin
b002a054df
Fix tilemap multimaterial ( #197 )
2019-02-13 01:03:47 +01:00
Lynix
662ccbd5d0
Physics2D/RigidBody2D: Add possibility to setup a custom velocity function
2019-01-19 02:31:29 +01:00
Lynix
40cd8a7987
Physics2D/RigidBody2D: Add ForEachArbiter method
2019-01-19 02:29:27 +01:00
Lynix
9be8d0eae4
Add RigidBody2D::GetBodies
2019-01-19 02:25:45 +01:00
Lynix
ecd42704a6
Remove MSVC-specific fix
2019-01-19 02:21:29 +01:00
Lynix
0740ee456a
Lua/LuaCoroutine: Fixed movement assignation operator
2018-12-19 22:08:50 +01:00
Lynix
a3fd69a453
Lua/LuaState: Add RawEqual function
2018-11-14 23:54:31 +01:00
Jérôme Leclercq
ed46c87781
Refactor the way resources are loaded ( #191 )
...
* WIP
* WIP
* Font works
* WIP: Only Music remains
* Looks like it's working
* Fix oopsie
* Core/ObjectRef: Add cast functions
* Update ChangeLog.md
* Audio/SoundStream: Make sound stream thread-safe
2018-10-28 01:53:11 +02:00
Lynix
a292e47673
Network/ENetPeer: Fix return type of GettotalPacket[Lost|Sent]
2018-10-24 20:26:50 +02:00
Lynix
4e9d4c10da
Network: Add accessors to ENetHost/ENetPeer
2018-10-21 13:52:14 +02:00
Jérôme Leclercq
5e45983953
Math/Angle: Fix compilation & warning on GCC < 8
2018-10-12 17:09:39 +02:00
Jérôme Leclercq
4c4822eef9
Core/ObjectHandle: Remade object handle system
2018-10-12 15:46:40 +02:00
Lynix
3933d5007d
Physics2D/RigidBody2D: AddTorque now takes a RadianAnglesf instead of a float
2018-10-11 00:08:26 +02:00
Lynix
d2b1d51ecb
Math/Angle: Replace conversion constructors by conversion operators
2018-10-11 00:07:50 +02:00
Lynix
6653be6f2c
Math/Angle: Make use of ToRadians()
2018-10-10 23:12:45 +02:00
Lynix
fb11fe1ecf
Math/Angle: Rename angle field to value
2018-10-10 23:12:27 +02:00