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