Jérôme Leclercq
10aa7231b6
Renderer: Fix MRT support
2021-05-05 12:01:20 +02:00
Jérôme Leclercq
990193ebb4
Minor fixes
2021-05-02 13:58:56 +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
f85d11e55b
Fix Graphics module compilation
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
0cc392b78f
Shader/SpirvWriter: Fix Image not registering Float as a dependent type
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
8359d46711
Graphics fixes
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
5bdbb866b5
Shader: Add LangWriter (outputs NZSL)
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
e7a9fd95ea
ShaderNode fixes
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
fce336bfc9
Shader: Fix struct attributes handling
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
85ce6a4f43
Shader: Fix struct nesting
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
b234134abc
Shader/ShaderLang: Add type inference for variable declaration
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
854bb16320
VulkanRenderer: Fix OpEntryPoint parsing
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
a318b28cd6
Shader: Improve SpirvPrinter output
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
f694eb767f
Shader: Fix return type not being properly registered
2021-04-20 18:18:27 +02:00
Jérôme Leclercq
5598487e87
ShaderLang: Improve lexer
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
57adfa09de
VulkanRenderer: Fix Depth24Stencil8 format
2021-02-20 19:25:38 +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
36be581d9a
Shader/SpirV: Fix missing OpSelectionMerge before branching
2021-02-19 14:51:06 +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
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
b9151d8a7a
Graphics: Improve TextureSampler handling
2021-01-27 18:50:49 +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
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
d52be87fd5
OpenGLRenderer: Fix Draw[Indexed]Data states
2021-01-22 23:18:35 +01:00
Jérôme Leclercq
dbcb4a61d0
OpenGLRenderer: Fix context not being shared on OpenGL ES
2021-01-22 23:17:55 +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
711199fe51
Shader/ShaderAstOptimizer: Fix branch optimization
2021-01-15 19:19:19 +01:00
Jérôme Leclercq
bb18ca13ca
Fix shader generation
2021-01-15 19:19:05 +01:00
Jérôme Leclercq
96d7b9424b
Renderer: Handle null textures in shader binding
2021-01-14 22:03:01 +01:00
Jérôme Leclercq
c8f4e53244
ShaderNode: Add code output window
2021-01-14 22:02:34 +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
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
ImperatorS79
9a613c6fd6
Fix ShaderNodes on macos
2020-11-27 14:44:19 +01:00
ImperatorS79
f05ed5781b
IP_MTU missing on macos
2020-11-22 13:32:17 +01:00
ImperatorS79
d4cd0581e4
Update SocketImpl.cpp
2020-11-21 21:35:51 +01:00
ImperatorS79
255812c80e
Fix missing MSG_NOSIGNAL and TCP_KEEPIDLE on macos
2020-11-21 21:29:23 +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
bd9d30407c
Fix SDL2 cursor
2020-11-17 17:44:31 +01:00
Jérôme Leclercq
7526923a8d
Platform: Fix space not generating a text event
2020-11-17 17:43:42 +01:00
Jérôme Leclercq
af55ecc2a5
Fix SDL2 crash when creating cursor
...
Enfoiré de REMqb
2020-11-12 16:28:33 +01:00
Jérôme Leclercq
f52c43df49
Network: Fix TcpClient::PollConnection on Linux
2020-10-31 17:33:56 +01:00
Jérôme Leclercq
ad88561245
Graphics: Fix MaterialPipeline::GetRenderPipeline
2020-10-31 16:29:02 +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
e5cd461bae
ShaderNode: Fix possible crash with incompatible types
2020-10-30 23:08:03 +01:00
Jérôme Leclercq
5ca9776755
ShaderNode: Fix missing "add texture" button
2020-10-30 23:07:42 +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
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
abf58857d7
Core/StringExt: Make PointerToString portable
2020-09-26 12:22:49 +02:00
Jérôme Leclercq
9291ef6299
Disable OpenGL overriding with MSVC / x86
...
Seems like a bug with MSVC when targetting 32bits targets
2020-09-26 11:50:37 +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
d665af1f9d
Shader/SpirV: Fix sampler storage class
2020-09-22 21:50:56 +02:00
Lynix
79c53061e0
Shader: Add type functions
2020-09-22 21:50:07 +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
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
7a7a67cd40
Update OpenGLVaoCache.cpp
2020-09-17 18:54:41 +02:00
Jérôme Leclercq
98e20ecbb7
Last modules fixes
2020-09-17 18:54:33 +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
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
1e29790831
Physics2D/RigidBody2D: Fix velocity func not being copied
2020-09-05 12:56:35 +02:00
Jérôme Leclercq
385927b05a
Fix minor stuff
2020-09-04 16:14:11 +02:00
Jérôme Leclercq
33e60a97b6
VulkanRenderer: Fix case where swapchain has more image than requested
2020-09-04 15:59:01 +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
55ac0ccdf6
Restore Vulkan renderer
2020-09-04 15:25:49 +02:00
Jérôme Leclercq
f8dc5a5516
OpenGLRenderer: Default to WGL on Windows
2020-09-04 15:23:14 +02:00
Jérôme Leclercq
ab0cc800e3
Remove VMA dependency from OpenGLRenderer
2020-09-04 15:22:05 +02:00
Jérôme Leclercq
e0a4d27c2e
Fix some warnings
2020-09-04 15:21:53 +02:00
Jérôme Leclercq
69dda85e45
Vulkan: Refactor function list headers
2020-09-04 15:21:46 +02:00
Jérôme Leclercq
d98cddcfe0
Remove no longer used code
2020-09-04 14:19:11 +02:00
Jérôme Leclercq
a8b9a8c56d
Workaround MSVC bug
2020-09-04 14:18:57 +02:00
Jérôme Leclercq
3082620ef9
Remove useless code
2020-09-03 16:33:56 +02:00
Jérôme Leclercq
0255541b44
Replace EGL symbol loader
2020-09-03 16:33:37 +02:00
Jérôme Leclercq
addcd52552
Try to get around MSVC bug
2020-09-03 15:47:43 +02:00
Jérôme Leclercq
58efffc51f
Improve code a bit
...
Prevent converting back and forth the same function pointer
2020-09-03 13:58:45 +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
df33262ab4
OpenGLRenderer: Fix context activation
2020-09-03 13:18:09 +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
b85a734e6e
Utility/OBJParser: Make OBJ meshes order deterministic
2020-09-02 16:30:31 +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
f4186fdeac
Fix context sharing
2020-09-01 20:01:36 +02:00
Jérôme Leclercq
c4e63a582c
OpenGLRenderer: initial support for X11
2020-09-01 19:49:50 +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
e6c2302927
Renderer: Add prefix for Linux
2020-09-01 19:24:30 +02:00
Jérôme Leclercq
424e6437c1
VulkanRenderer: Enable Wayland/XLib support
2020-09-01 19:20:59 +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
4dc0005c6f
VulkanRenderer: Fix standard validation layers
2020-08-28 15:53:03 +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
4aee707bb4
Some more fixes
2020-08-27 21:43:19 +02:00
Jérôme Leclercq
36120b9501
Compilation fixes
2020-08-27 20:24:27 +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
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
2873eaefaa
SDK: Remove deprecated LuaBinding
2020-08-27 19:26:14 +02:00
Jérôme Leclercq
94523980fa
Fix Audio & Physics compilation
2020-08-27 19:26:04 +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
63f259b907
SpirvAstVisitor: Add safety assert
2020-08-24 16:49:59 +02:00
Jérôme Leclercq
f5fa211609
ShaderAstCloner: Fix Swizzle case
2020-08-24 16:49:38 +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
608b80981d
Fix OpenGL & Vulkan renderers
2020-08-11 00:13:00 +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
0313f2d0a6
Enable GL_DEBUG_OUTPUT
2020-08-09 18:43:44 +02:00
Jérôme Leclercq
d9b34b4ba8
OpenGLRenderer: Handle GL_DEBUG_SEVERITY_NOTIFICATION
2020-08-09 18:41:28 +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
c6c301c9f5
ShaderNode: Fix BufferField remaining bugs
2020-07-22 14:47:57 +02:00
Jérôme Leclercq
7b1d712560
ShaderNode: Fix struct members serialization
2020-07-22 14:47:13 +02:00
Jérôme Leclercq
471194ec16
ShaderNode: Add PositionOutputValue
2020-07-22 14:47:00 +02:00
Jérôme Leclercq
5a350ee76b
ShaderNode: Add Mat4x4 type and nodes
2020-07-22 14:46:44 +02:00
Jérôme Leclercq
b441bab218
Renderer/ShaderNodes: Fix BinOp expression type
2020-07-22 14:45:40 +02:00
Jérôme Leclercq
db945d11fb
Renderer/GlslWriter: Fix generation bugs
2020-07-22 14:45:19 +02:00
Jérôme Leclercq
f66758f99b
Renderer/ShaderSerializer: Fix AccessMember
2020-07-22 14:44:49 +02:00
Jérôme Leclercq
5ce67f434b
Finish BufferField
2020-07-20 20:41:22 +02:00
Jérôme Leclercq
042eb067a0
Move and rename functions
2020-07-20 11:21:31 +02:00
Jérôme Leclercq
405c020125
Set some struct in default scene for testing
2020-07-19 21:08:53 +02:00
Jérôme Leclercq
3c1c61fb5e
Improve code
2020-07-19 21:08:43 +02:00
Jérôme Leclercq
e342c88e64
ShaderNodes/InputValue: Fix output type when using Float1
2020-07-19 21:08:25 +02:00
Jérôme Leclercq
5258f0b61a
ShaderNodes: Add BufferField node
2020-07-19 21:08:21 +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
c7a8091e68
ShaderNode: Add buffers and structs
2020-07-14 22:00:17 +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
cd01facd01
GlslWriter: Handle OpenGL ES precision qualifier
2020-07-08 22:52:33 +02:00
Jérôme Leclercq
b076a517c6
Merge branch 'vulkan' into shader-nodes
2020-07-08 22:38:24 +02:00
ImperatorS79
ee93680083
Fix arrayLayers not being correctly computed in VulkanTexture.cpp for ImageType_2D_array
2020-07-08 22:32:50 +02:00
Jérôme Leclercq
5164294bec
ShaderNodes: Add TextureEdit dialog
2020-07-04 22:52:17 +02:00
Jérôme Leclercq
33d94c05f3
ShaderNodes: Use PreviewValues instead of QImage
2020-07-03 22:53:00 +02:00
Jérôme Leclercq
83cf358d02
Physics2D/RigidBody2D: Fix EnableSimulation
2020-07-03 16:27:14 +02:00
Lynix
4f671873c1
Renderer: Add NazaraBinary shader "language" and handle it in OpenGLRenderer
2020-06-18 20:05:22 +02:00
Lynix
58e59be267
ShaderNode: Add compile to binary action
2020-06-18 20:04:39 +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
bc490a2fe5
Renderer/GlslWriter: Fix double identifier bug
2020-06-18 20:03:33 +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
0ff10bf1e2
Improve GLSL output when using intrinsic
2020-06-17 16:07:58 +02:00
Lynix
f38bfdde8a
ShaderAst: Big refactor + add binding/location support
2020-06-17 16:00:03 +02:00
Lynix
463b540739
ShaderEditor: Add VecFloatMul
2020-06-16 17:46:03 +02:00
Lynix
80527dec3e
ShaderEditor: Add VecDot
2020-06-16 17:45:36 +02:00
Lynix
d3db22ce22
ShaderEditor/VecBinOp: Add component check
2020-06-16 17:45:21 +02:00
Lynix
9b911ac4bc
Renderer/ShaderAst: Minor fixes relative to float/vec multiplication
2020-06-16 17:44:54 +02:00
Lynix
90abb52e4e
ShaderEditor: Fixes
2020-06-16 17:44:20 +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
0888589716
ShaderNode: Add save/load
2020-06-04 18:31:35 +02:00
Lynix
5790b502f7
ShaderNode: Add VecDiv
2020-06-04 18:30:54 +02:00
Lynix
725ecc7606
ShaderNode: Add FloatValue
2020-06-04 18:30:40 +02:00
Lynix
25562a5856
Renderer/ShaderAst: Add BinaryFunc
2020-06-04 18:29:50 +02:00
Lynix
41b50eeac3
Fix compilation
2020-06-03 19:09:51 +02:00
Lynix
1b4199c0a7
Platform/SDL2: Don't SDL_PumpEvents when not owning Windows
...
This is a temporary fix
2020-06-02 16:40:08 +02:00
Lynix
a73251f2df
OpenGLRenderer: Fix version parsing
...
OpenGL ES 3.0 implementations don't seem to follow the spec, use GL_MAJOR_VERSION and GL_MINOR_VERSION instead
2020-06-01 17:11:34 +02:00
Lynix
8f04412a3f
OpenGLRenderer: Fix GLES context creation
...
core profile bit has not meaning to OpenGL ES
2020-06-01 16:17:04 +02:00
Lynix
960a5c2d05
OpenGLRenderer: Fix extension loading
2020-06-01 16:16:41 +02:00
Lynix
effd1b4552
ShaderNode: Handle vector component count at runtime
2020-05-31 18:39:28 +02:00
Lynix
2ecc624fe4
ShaderNode: Add custom output support
2020-05-30 14:31:11 +02:00
Lynix
0a0dce4109
ShaderNode: Add possibility to set variable name (+ force variables)
2020-05-29 18:22:58 +02:00
Lynix
eabb8a630d
ShaderNode: Extract texture from SampleTexture
...
Add TextureData and TextureValue node
2020-05-28 10:50:38 +02:00
Lynix
6ff670f13f
ShaderNode: Move VecData to DataTypes folder
2020-05-28 10:47:49 +02:00
Lynix
2db78f5b10
Seriously
2020-05-28 00:22:54 +02:00
Lynix
bc7ffb6ff3
ShaderNode: Add preview size option
2020-05-28 00:11:34 +02:00
Lynix
0ec927b82e
ShaderNode/NodeEditor: Replace QVBoxLayout by QFormLayout
2020-05-28 00:11:16 +02:00
Lynix
f8779915d3
Update OpenGL.cpp
2020-05-28 00:10:40 +02:00
Lynix
0f36131d9d
Remove dependency to xcb_image
2020-05-28 00:00:48 +02:00
Lynix
a1d7bc49c2
Update ScopedXCB.cpp
2020-05-27 23:45:31 +02:00
Lynix
85a5e8eedd
Fix compilation
2020-05-27 22:57:32 +02:00
Lynix
89504de465
More commits for science
2020-05-27 21:24:56 +02:00
Lynix
3f5b041a81
Add some GLX files back
2020-05-27 21:16:59 +02:00
Lynix
4f9380da11
More Linux fixes
2020-05-27 21:01:14 +02:00
Lynix
1734b8e5db
SDL fixes
2020-05-27 20:37:20 +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
1d033aabfd
ShaderNode: Fix useless variables generation
2020-05-27 10:00:52 +02:00
Lynix
d96bc9db6e
ShaderNode: Add automatic variables
2020-05-26 20:30:24 +02:00
Lynix
09e08255fb
ShaderAst: Add node editor window
2020-05-26 19:22:31 +02:00
Lynix
b1b9030359
Math/Vector[I]: Replace implicit pointer conversion by [] operator overload
2020-05-26 16:03:57 +02:00
Lynix
460222e71e
ShaderNode: Make #include explicit
2020-05-25 14:40:46 +02:00
Lynix
1165093b4e
Replace some insert by emplace
2020-05-23 22:08:12 +02:00
Lynix
8fa456bdf5
Renderer: Remake backend selection
2020-05-23 22:07:22 +02:00
Lynix
fdeff2e9d0
ShaderAst: Fix SwizzleOp::GetExpressionType
2020-05-23 22:05:37 +02:00
Lynix
93e76a17c7
ShaderNode: Add preview / cast / texture sampling
2020-05-23 22:04:10 +02:00
Lynix
206724c911
ShaderNode: Add inputs
2020-05-22 23:50:46 +02:00
Lynix
5169e0fe83
ShaderNode: Add captions
2020-05-22 19:21:56 +02:00
Lynix
33c8fe2562
ShaderNode: Add texture support
2020-05-22 15:39:10 +02:00
Lynix
effaa9b88f
Update ShaderNode
2020-05-19 20:06:32 +02:00
Lynix
e23eb74802
Renderer/ShaderAst: Add Sample2D
2020-05-19 20:06:11 +02:00
Lynix
c26f3b9b71
Add shadernode (big WIP)
2020-05-18 19:55:12 +02:00
Lynix
8c0d34313e
GlslWriter: Fix bug
2020-05-18 19:55:00 +02:00
Jérôme Leclercq
8d8f44f4b9
Make Windows implementation DPI-Aware (+ fix issue with window position) ( #322 )
...
* WindowImpl : Fix windows centering on desktop
* WindowImpl : Make nazara DPI aware
* Refactor dpi stuff
* Minor aesthetic stuff
* More minor stuff
Co-authored-by: HardCPP <hardcpp@gmail.com>
2020-05-18 17:04:52 +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
34804189d8
OpenGL: Set GL_TEXTURE_MAX_LEVEL
2020-05-11 14:01:57 +02:00
Lynix
51009cd745
OpenGL: Switch to SRGB formats
2020-05-11 14:01:45 +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
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
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
3b24d020e8
Minor stuff
2020-04-19 01:24:37 +02:00
Lynix
68760209c1
Add OpenGLRenderer (WIP)
2020-04-15 19:38:11 +02:00
Lynix
ebb271a089
Renderer: Fix crash when choosing another renderer
2020-04-15 19:38:01 +02:00
Lynix
e905c3a004
Move Vulkan debug callback to module
2020-04-13 15:12:58 +02:00
Lynix
75241ed8f0
VkRenderWindow: Default to RGBA8 if supported
2020-04-13 15:11:35 +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
f6d21d066e
Vulkan: Improve RenderWindow subpass dependencies
2020-04-06 21:14:18 +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
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
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
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
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
2b3241f354
Add RenderPipelineLayout
2020-03-05 20:35:31 +01:00
Lynix
4941de61da
Spaaaace
2020-03-05 17:28:16 +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
9f4037e461
Reverse front face
2020-03-04 18:55: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
286461c482
Make use of Nazara uniform buffer
2020-03-01 12:49:49 +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
2944d73586
Fix instance extensions/layers query
2020-02-27 23:12:05 +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
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
7c1857ba1e
Fix missing include
2020-02-23 11:36:50 +01:00
Lynix
6fd31d1c71
[Posix] Moar fixes
2020-02-23 11:29:54 +01:00
Lynix
a51e77fe83
[Posix] Fix compilation
2020-02-23 11:14:41 +01:00
Lynix
6ec2f3e56e
More Linux fixes
2020-02-23 02:49:32 +01:00
Lynix
3857025253
*darth vader yelling noooooo gif*
2020-02-23 02:38:06 +01:00
Lynix
97a62a4817
StringExt: Fix some template mistakes
2020-02-23 02:35:09 +01:00
Lynix
9ac5aadc9d
I swear I fixed that
2020-02-23 02:29:47 +01:00
Lynix
f084c30d70
Posix fixes
2020-02-23 02:26:36 +01:00
Lynix
8ace61ce7d
DynLib: Posix fixes
2020-02-23 02:17:27 +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
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
369e21cafb
Align fix
2020-02-04 11:42:11 +01:00
Lynix
e35caebdcf
Core: Add ByteArrayPool and PoolByteStream classes
2020-02-04 11:42:05 +01:00
Lynix
d435826651
Forgot this
2020-01-26 17:30:32 +01:00
Lynix
63c9cf7b18
Remove useless cast
2020-01-26 17:29:42 +01:00
Lynix
468b63bef5
Aw shit, forgot a lot of things
2020-01-26 17:13:52 +01:00
Lynix
8c7301f649
Utility/RichTextDrawer: Add character & line spacing offsets
2020-01-26 16:57:56 +01:00
Lynix
11d51872fa
Utility/SimpleTextDrawer: Add character spacing offset
2020-01-26 16:18:28 +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
d3ad92f063
Update default font (Sansation => OpenSans)
...
Sansation was too sci-fi...
2020-01-18 16:31:57 +01:00
Lynix
db78c9c948
Renderer/Texture: Remove Image constructor
2020-01-09 22:42:28 +01:00
Lynix
16d0345502
Update default font (Cabin => Sansation)
2020-01-06 18:26:39 +01:00
Lynix
c73d08af9b
Core/Thread: Make use of SetThreadDescription if possible (win32)
2020-01-06 15:35:48 +01:00
Lynix
b3af14f65a
Utility/OBJLoader: Fix OBJ uvs
2020-01-04 12:15:54 +01:00
Lynix
df2a029f30
Physics2D/Collider2D: Add support for neighbors vertices
2020-01-01 17:25:22 +01:00
Lynix
35cf05e3bc
Core: Add EmptyStream class
2019-12-29 16:25:40 +01:00
Lynix
0bcd8769fe
Nazara/Network: ENetHost::GetTotalReceivedPackets now returns the number of commands received
2019-12-29 11:55:07 +01:00
Lynix
24cb8f6845
Add ENet::GetTotalPacketReceived
2019-12-29 11:54:00 +01:00
Lynix
2dcf154553
Oops²
2019-12-28 17:32:37 +01:00
Lynix
56243f5a12
Nazara/Network: Add GetTotalByte[Received|Sent]
2019-12-28 17:31:21 +01:00
Lynix
9f8e83087a
Oops
2019-12-28 17:19:40 +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
97418bfe04
RichText: Add support for outline color/thickness
2019-12-28 11:43:48 +01:00
Lynix
a69d7a2e89
Make String::Number locale-independent
2019-12-25 16:26:53 +01:00
Lynix
6920c7c3f7
Fix skybox background looking like crap
2019-12-23 19:45:52 +01:00
Lynix
e282b842b4
Add Node::SetScale(Vector2) to prevent a bug
2019-12-22 17:01:05 +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
7e6dcdf740
Wait wat
2019-12-13 17:25:00 +01:00
Lynix
3760c8b5c4
Utility/Node: Fix negative scaling not affecting rotation
2019-12-13 17:23:01 +01:00
Lynix
be8e89b228
Math: Remove all Set(class) methods
2019-12-10 09:49:40 +01:00
Lynix
c668d02747
Nazara/Lua: Fix my dumb ass
2019-10-22 14:29:29 +02:00
Lynix
62023c6af7
Physics2D/RigidBody2D: Fix body type not being copied
2019-10-15 09:34:55 +02:00
Lynix
76812510a1
Core/GuillotineBinPack: Prevent heap allocation when calling Insert with multiple rectangles
2019-09-25 16:18:23 +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
6bc99a6d5e
Utility/SimpleTextDrawer: Fix reserve
2019-09-25 09:36:57 +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
c23248c564
PhysWorld2D: Fix possible stack overflow when using wildcard collision handler
2019-06-16 15:40:24 +02:00
Lynix
dcfd2ad8f9
Physics2D/PhysWorld2D: Add RaycastQuery and RegionQuery overloads taking a callback
2019-05-27 22:42:37 +02:00
REMqb
350a1cf09f
~ Fix linux build
...
~ Fix dopler example
2019-05-19 17:17: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
Jérôme Leclercq
278ff26795
Forgot to fix this for Linux too
2019-04-24 14:29:55 +02:00
Jérôme Leclercq
408d37a27a
Network/IpAddress: Fix problem with some IPv6
2019-04-24 13:46:02 +02:00
Lynix
57264a5650
SimpleTextDrawer: Don't regenerate glyphs on outline color update
2019-04-22 17:05:15 +02:00
Lynix
79b0bd644c
Add text outlines!
2019-04-16 01:46:26 +02:00
Lynix
8a8c233840
Oops
2019-04-15 16:26:30 +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
080b76a23c
Utility/Font: Fix bold not working since last commit
2019-04-13 13:39:19 +02:00
Lynix
0582cbfc26
Utility: Replace UInt32 by TextStyleFlags
2019-04-13 13:09:53 +02:00
Lynix
713a70dd10
Renderer/TextureSampler: Set default texture sampler to Clamp
2019-04-06 15:09:05 +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
3efb54ea3c
Physics2D/RigidBody2D: Fix SetPosition
2019-04-03 21:14:17 +02:00
Lynix
0ca823f9a6
Graphics: Remove sprite limit
2019-03-31 16:31:02 +02:00
Lynix
23887cc519
Merge branch 'master' into physics2d-position-offset
2019-03-26 20:33:40 +01:00
Lynix
c05d39ed28
Fix some indentation shit
2019-03-26 19:09:46 +01:00
Lynix
1f5a82d178
Physics2D/Collider2D: Fix CircleCollider2D center of mass
2019-03-26 19:04:13 +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
439a62a7f8
Physics2D: Automatically compute center of mass
2019-03-17 15:56:38 +01:00
Lynix
cdf9611080
Graphics/TileMap: Fix material index rendering
2019-03-10 18:13:03 +01:00
Lynix
4bf92457c5
Platform: Fix cursor disappearing on Windows in some cases
2019-03-10 15:56:42 +01:00
Lynix
23b2f0a48d
Platform/Window: Make PushEvent public
2019-03-10 15:50:16 +01:00
Lynix
ec3cb12451
Platform/Cursor: Fixed SystemCursor_Move on Windows
2019-03-10 15:12:20 +01:00
Lynix
8c91d6a77d
Platform/Window: Fix SetCursor always changing cursor
2019-03-10 15:11:16 +01:00
larnin
a18dbf6bc4
Fix empty tilemap ( #198 )
...
* Fix empty tilemap
* Yay
2019-02-13 01:02:57 +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
bc625b5c8b
Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
2019-01-19 02:17:21 +01:00
Alexandre Janniaux
c152d2b62b
unicode: silence shadow variable warnings ( #194 )
2019-01-14 22:09:03 +01:00
Lynix
cd54cf641b
Alignment fix
2018-12-19 22:22:30 +01:00
Jérôme Leclercq
beed59b94c
Physics2D/RigidBody2D: Fix potential crash if closestDistance is passed as nullptr
2018-11-16 17:42:59 +01:00
Lynix
a3fd69a453
Lua/LuaState: Add RawEqual function
2018-11-14 23:54:31 +01:00
Lynix
c4cf6d2f53
Graphics/BasicRenderQueue: Extends maximum layer count to 65535
2018-10-29 22:06:09 +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
f3febe5d34
Network/ENetHost: Comment out warning in case of error
2018-10-21 13:53:06 +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
fb11fe1ecf
Math/Angle: Rename angle field to value
2018-10-10 23:12:27 +02:00
Lynix
30348525d7
Physics2D: Expose elasticity/friction/surface velocity
2018-10-09 23:22:28 +02:00
Lynix
dc6fbfc90f
Replace floating point angle by Angle class instance
2018-10-09 23:20:53 +02:00
Lynix
34787d6766
Network/SocketImpl: Fix linux build
2018-10-01 23:10:25 +02:00
Lynix
aa9bec6e5e
Network/TcpClient: Revert to previous behavior on failure
2018-10-01 23:05:14 +02:00
Lynix
67c56b2aba
Network/TcpClient: Add PollForConnected
2018-10-01 23:04:53 +02:00
Lynix
dad2dbae1c
Network/TcpClient: WaitForConnected now returns new socket state
2018-10-01 22:38:20 +02:00
Lynix
13a515c1b5
Network/TcpClient: WaitForConnected now closes the socket on failure
2018-10-01 22:19:49 +02:00
Jérôme Leclercq
706a06b506
Increase NetPacket size from UInt16 to UInt32
2018-09-25 15:51:45 +02:00
Lynix
d99ae411c6
Renderer/OpenGL: Fix glUniformMatrix4dv not being loaded
2018-09-09 13:56:29 +02:00
Jérôme Leclercq
56873b92b0
Network/Socket: Fix Connect (timeout) on Windows/Linux
2018-08-30 13:03:50 +02:00
Jérôme Leclercq
d0e33225b7
Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
2018-08-30 12:10:36 +02:00
Jérôme Leclercq
28c6bd7af7
Network: Log internal errors
2018-08-30 12:10:33 +02:00
Lynix
b8e25502f5
Physics2D/RigidBody2D: Fix useless copy
2018-08-29 20:55:19 +02:00
Lynix
e62afabd71
Physics2D/Collider2D: Fix CompoundCollider2D filters
2018-08-29 20:54:57 +02:00
Lynix
a3a4ed89b8
Graphics/Material: Fix reflection mode not being copied
2018-08-25 22:41:05 +02:00
Lynix
933cb64488
Physics2D/Collider2D: Allow to prevent individual colliders properties override
2018-08-24 16:30:03 +02:00
Lynix
b9e36f36e2
Graphics/TileMap: Fix sprite data corruption with multiple materials
2018-08-23 17:46:18 +02:00
Faymoon
beca6e7dd5
little fixes ( #183 )
...
* Update
* Add: [Get/Set]AngularDaming for standardization
* Fix: Name error
* Add: [Get/Set][AngularDamping/MomentOfInertia] in PhysicsComponent2D
* Forgot in last commit
* Add: param coordSys in [PhysicsComponent2D/RigidBody2D]::SetMassCenter
* Add: Some forgotten inline
* Fix little error
* Fix: Indentation before case
* Move and Change GetCenterOfGravity
* Rename m_world into m_physWorld
* Rename GetWorld int GetPhysWorld
* Update: PhysicsSystem2D became an interface of PhysWorld2D
* Update Collison/PhysicsComponent because GetWorld was renamed
* Update tests
* Update: Make the interface usable with Entity instead of PhysicsComponent
* Update: Make GetPhysWorld private
* Update PhysicsSystem2D.hpp
* Update: indent
* Remove: useless blank line
* update order(?)
* Update PhysicsSystem2D.hpp
* Add calls to GetPhysWorld to attempt a nullptr value
* update include
* little fix
* add some missing inline
2018-08-14 18:44:41 +02:00
Lynix
72e365efb1
Fix compilation on Linux
2018-08-03 20:32:49 +02:00
Lynix
39d1d31639
Core: Integrated Unicode data
2018-08-03 20:24:56 +02:00
Jérôme Leclercq
b92e23fcd6
Physics2D: Add Arbiter2D
2018-08-02 15:42:14 +02:00
Faymoon
2f3f02b2fc
Update Physics2D Component and Body ( #178 )
...
* Update
* Add: [Get/Set]AngularDaming for standardization
* Fix: Name error
* Add: [Get/Set][AngularDamping/MomentOfInertia] in PhysicsComponent2D
* Forgot in last commit
* Add: param coordSys in [PhysicsComponent2D/RigidBody2D]::SetMassCenter
* Add: Some forgotten inline
* Fix little error
* Fix: Indentation before case
* Move and Change GetCenterOfGravity
2018-08-02 11:25:57 +02:00
S6066
4a09de7e0b
String::FindLast/FindWord: Fix bug where index wouldn't be used ( #177 )
...
* String::FindLast/FindWord: Fix bug where index wouldn't be used
* Log change
2018-08-01 23:12:02 +02:00
Lynix
271f7202ed
Core/Unicode: Fix letters category
2018-07-31 19:49:51 +02:00
Jérôme Leclercq
6dfc866a4d
Network/ENetPeer: Fix enet stuff
2018-07-17 09:56:30 +02:00
Lynix
01ccca433d
Physics/PhysWorld3D: Add [Get|Set]ThreadCount
2018-07-15 16:46:01 +02:00
Jérôme Leclercq
a870954762
Network/ENetPeer: Fix reliable sequence number wrap error
2018-07-09 18:06:08 +02:00
Jérôme Leclercq
7da0fffe07
Core: Add StackVector class
2018-07-02 17:56:27 +02:00
Jérôme Leclercq
2fcea6b79f
Core/StackArray: Moved StackArray class to its own header
2018-07-02 17:53:49 +02:00
Jérôme Leclercq
8cdc36c948
Graphics/Material: Add parameter for vertex color
2018-06-15 14:15:23 +02:00
Jérôme Leclercq
41e2d3e448
Graphics/Material: Add EnableVertexColor temporary
2018-06-15 14:13:18 +02:00
Lynix
a4aad3caac
Merge branch 'master' into vulkan
2018-06-12 19:08:02 +02:00
Lynix
d7a2e9aad1
Merge branch 'ubo' into vulkan
2018-06-12 19:07:58 +02:00
Jérôme Leclercq
b2185f2138
Physics2D/RigidBody2D: Add ClosestPointQuery method
2018-06-12 15:11:16 +02:00
Jérôme Leclercq
56b23a2f27
Network/SocketPoller: Wait() now returns the number of active sockets, and optionally the last error
...
It will also ignore the EINTR error on Linux
2018-06-12 14:31:49 +02:00
Jérôme Leclercq
15f84dc712
Noexcept all the things!
2018-06-12 11:37:44 +02:00
Lynix
843e5545b6
Graphics/BasicRenderQueue: Fix billboards not registering their layer
2018-06-06 21:40:13 +02:00
Lynix
e9f0bdeb25
Graphics/ForwardRenderTechnique: Optimize sprite rendering
2018-06-06 21:38:40 +02:00
Lynix
e4eae425b2
Add support for Uniform Buffer to Utility/Renderer
2018-06-06 20:18:42 +02:00
Lynix
bc2f6f67cc
Graphics/InstancedRenderable: Add Clone method
2018-06-06 19:36:46 +02:00
Jérôme Leclercq
550176e198
Core/SerializationContext: Replaced currentBitPos and currentByte by [read|write][BitPos][Byte] to handle properly bit reading/writing
2018-05-31 16:10:58 +02:00
Jérôme Leclercq
33fb70b65b
Network: Fix SocketPoller error handling
2018-05-31 16:08:46 +02:00
Lynix
db0e3267da
Graphics/AbstractViewer: Add ProjectDepth method
2018-05-29 23:55:51 +02:00
Lynix
e46aa6772e
Graphics/AbstractViewer: Fix Unproject code
2018-05-29 21:05:03 +02:00
Lynix
af34567ae7
Graphics/AbstractViewer: Add Project/Unproject methods
2018-05-27 21:45:06 +02:00
Lynix
b782fd8431
Graphics/Model: add ModelLibrary, ModelManager, ModelSaver
2018-05-27 14:15:29 +02:00
Lynix
3e82413604
Oops
2018-05-21 19:41:11 +02:00
Lynix
f2c16f916a
Lua/LuaState: Add error handling methods
2018-05-21 19:31:19 +02:00
Lynix
8b6311de63
Lua/LuaState: Add Load methods
2018-05-13 14:42:27 +02:00
Jérôme Leclercq
70e0787b93
Utility/OBJLoader: Add index buffer optimization back
...
Fixes incorrect removal from d94baf133b
2018-05-03 14:41:32 +02:00
Jérôme Leclercq
41857a69ca
Utility/OBJLoader: Remove debug line...
2018-05-03 14:38:32 +02:00
Jérôme Leclercq
d53c245c78
Graphics/Model: Fix model not invalidating their bounding volume when their mesh AABB got updated
2018-05-03 13:32:53 +02:00
Jérôme Leclercq
d94baf133b
Utility/Mesh: Refactor Mesh & Submeshes
2018-05-03 13:32:17 +02:00
Jérôme Leclercq
95f137816a
Physics2D/PhysWorld2D: Add invStepCount argument to pre/post steps callbacks
2018-04-30 14:55:28 +02:00
HardCPP
232a371fa5
Add normalLength parameter to the DebugDrawer::DrawNormals ( #163 )
2018-04-30 14:49:44 +02:00
Lynix
43bb487801
Merge branch 'master' into vulkan
2018-04-26 22:48:49 +02:00
Lynix
8695e11436
Fix whitespace
2018-04-26 22:45:24 +02:00
Lynix
7244f1681c
Utility: Fix MD5/MTL/OBJ file parsing
2018-04-21 00:29:53 +02:00
Lynix
52f80a68cb
Renderer/OpenGL: Enable GL_TEXTURE_CUBE_MAP_SEAMLESS
2018-04-21 00:28:57 +02:00
Lynix
7f9eb3771f
Core/Stream: Fix infinite loop
2018-04-18 20:20:23 +02:00
Lynix
cb8f0417a7
Core/Stream: Fix ReadLine behavior towards empty lines
2018-04-18 20:14:56 +02:00
Lynix
d68346ca17
Utility/SimpleTextDrawer: Fix line bounds
2018-04-15 02:42:12 +02:00
Lynix
9f95a6122b
Graphics/MaterialPipeline: Disable depth sorting for Translucent2D pipeline
2018-04-15 02:35:51 +02:00
Lynix
347f8cc986
Utility/Font: Fix handling of whitespace glyphs
2018-04-15 02:34:21 +02:00
Lynix
bf0b8e9c76
Graphics: Fix clear being parasited by scissor operations
2018-04-15 02:31:51 +02:00
Lynix
19f17fa059
Graphics: Add 2D & cubemap white textures
2018-04-13 00:00:36 +02:00
Jérôme Leclercq
2da086b7df
New Render queues ( #161 )
...
* Add new render queues proof of concept + scissoring support (WIP)
* Graphics: Adapt basic sprites rendering to new render queue system
* Graphics: Fix layers when rendering sprites
* Graphics/RenderQueue: Fix sprite default overlay
* Graphics: Enable scissor test by default
* SDK/Widgets: Enable scissoring on widgets
* Graphics: Handle almost everything with the new renderqueues system
Todo:
- Billboard rendering
- Proper model rendering
* Graphics/RenderQueue: Billboard drawing now works (WIP)
At 1/4 of previous code performances due to individually process of billboards
* Add new render queues proof of concept + scissoring support (WIP)
* Graphics: Adapt basic sprites rendering to new render queue system
* Graphics: Fix layers when rendering sprites
* Graphics/RenderQueue: Fix sprite default overlay
* Graphics: Enable scissor test by default
* SDK/Widgets: Enable scissoring on widgets
* Graphics: Handle almost everything with the new renderqueues system
Todo:
- Billboard rendering
- Proper model rendering
* Graphics/RenderQueue: Billboard drawing now works (WIP)
At 1/4 of previous code performances due to individually process of billboards
* Graphics/RenderQueues: Add full support for billboards
* Graphics/RenderQueue: Cleanup and improve billboard rendering
* Graphics/RenderQueue: Fix model drawing
* Examples/Particles: Fix lighting on space station
* Graphics: Cleanup forward render queue/technique
* Fix compilation under Linux
* Graphics/ForwardRenderTechnique: Fix case when scissoring is enabled on material but disabled on element
* Add support for Deferred Shading
* SDK/Widgets: Fix widget rendering
* Graphics: Remove legacy code from render queues
* Graphics: Fix some objects sometimes not showing up due to broken scissor box
* Fix compilation error
* Sdk/GraphicsGraphics: Fix bounding volume
* SDK/World: Fix self-assignation
* Update changelog for render queues
2018-04-11 19:36:52 +02:00
Jérôme Leclercq
dae2b6f5a6
Fix an oopsie
2018-04-10 16:22:18 +02:00
Jérôme Leclercq
938aa79ffc
Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
2018-04-10 16:13:00 +02:00
Jérôme Leclercq
d6392c33ad
Core/Directory: Fix GetResultSize and IsResultDirectory methods on Posix
2018-04-10 16:12:15 +02:00
Lynix
42a263ed6a
Graphics/Billboard: Fix bounding volume
2018-04-09 20:33:40 +02:00
Lynix
c9904e7d20
Audio/Sound: Fix copy constructor not copying looping state
2018-04-08 18:50:42 +02:00
Lynix
3c4c0fab66
Audio: Make Music, Sound, SoundEmitter movable
2018-04-08 17:51:25 +02:00
Lynix
05a5c4c42e
Utility/OBJLoader: Add support for emissive/normal maps by using custom keywords
2018-04-04 21:30:59 +02:00
Lynix
e8e3c29f37
Refactor IpAddressImpl.cpp (Windows) + update changelog
2018-04-02 16:30:39 +02:00
Lynix
63ee3ca8d4
Network/Socket: Fix IPv6 decoding on posix
2018-04-01 21:56:45 +02:00
Lynix
c869967928
Network/Socket: Fix dual-stack support
2018-04-01 21:34:50 +02:00
Lynix
a5400f07c9
Network/Socket: Fix IPv6 encoding
2018-04-01 21:30:07 +02:00
Lynix
df510aeb78
Network/Socket: Fix broadcast & dual-stack on Posix
2018-04-01 21:01:13 +02:00