Lynix
54d56abc56
WIP
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
26f5d01c86
Graphics/BakedFrameGraph: Fix command buffer destruction when skipping a framepass
2021-06-06 16:00:03 +02:00
Jérôme Leclercq
86097b331b
Renderer: Add support for device-enabled features (anisotropic filtering)
2021-06-05 19:51:48 +02:00
Jérôme Leclercq
0411271851
Utility/Mesh: Fix Recenter() method for other vertex layouts
2021-06-05 19:09:12 +02:00
Jérôme Leclercq
20e982f5f2
Audio: Don't show errors when trying to load OpenAL library
2021-06-05 19:07:23 +02:00
Jérôme Leclercq
e26c1f8e68
Graphics: Add ViewerInstance class
2021-06-05 19:06:02 +02:00
Jérôme Leclercq
743f8eeb24
Graphics/ModelInstance: Add UpdateWorldMatrix method
2021-06-05 19:05:06 +02:00
Jérôme Leclercq
bd1f5214b8
Math: Replace M_PI defines with template constexpr constants
2021-06-05 16:35:15 +02:00
Jérôme Leclercq
da664d51ba
Shader/LangWriter: Fix texture sampling output
2021-06-05 01:29:48 +02:00
Jérôme Leclercq
50bf26d92f
Shader: Add support for pow intrinsic
2021-06-05 01:29:36 +02:00
Jérôme Leclercq
52490e0cf5
VulkanRenderer: Wait for device idle before recreating the swapchain
2021-06-04 19:35:59 +02:00
Jérôme Leclercq
4b3b595a99
Minor fixes
2021-06-04 18:02:28 +02:00
Jérôme Leclercq
0dd5e92a50
Audio: Add FLAC support
2021-06-03 17:21:15 +02:00
Jérôme Leclercq
f0b26efcd3
Audio/Music: Fix Seek method
2021-06-03 17:20:09 +02:00
Jérôme Leclercq
5bc3cd8d8c
OpenGLRenderer: Add GL_EXT_texture_compression_s3tc check for DXT pixel formats
2021-06-03 17:15:12 +02:00
Jérôme Leclercq
6161bbec76
Renderer: Handle more depthstencil formats (as Depth24Stencil8 may not be supported everywhere)
2021-06-02 20:16:43 +02:00
Jérôme Leclercq
9ee3a0d6be
DeferredShading: Add bloom
2021-06-01 20:28:19 +02:00
Jérôme Leclercq
4d74cef034
Math: Remove NAZARA_MATH_ANGLE_RADIAN and functions using it
2021-06-01 17:37:40 +02:00
Jérôme Leclercq
6fe7e5b16b
Graphics/FrameGraph: Fix infinite recursion when traversing graph
2021-06-01 16:24:14 +02:00
Jérôme Leclercq
43b73da3f4
Graphics/FrameGraph: Add support for loading a previous output texture
2021-06-01 16:24:00 +02:00
Jérôme Leclercq
eb6ca428a3
Update shader binaries
2021-06-01 16:23:21 +02:00
Jérôme Leclercq
4465e230af
Shader/NZSL: Add support for array indexing
2021-06-01 16:22:41 +02:00
Jérôme Leclercq
0f3c0abb96
Shader/ShaderAst: Rename AccessMember* to Access*
2021-06-01 12:38:17 +02:00
Jérôme Leclercq
16e2f5f819
Shader: Add support for depth_write and early_fragment_tests attributes (+ FragDepth builtin)
2021-06-01 12:32:24 +02:00
Jérôme Leclercq
465837ff12
Renderer: Add support for cubemaps
2021-06-01 12:30:37 +02:00
Jérôme Leclercq
c243217dd8
Audio/minimp3Loader: Fix some warnings
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
577643d128
Audio: Remove libsndfile loader
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
312a6d3ba8
Fix libvorbisfile dependency
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
d5c27a756b
Audio: Fix AudioFormat names (U16 -> I16)
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
2d16cf81d1
Audio: Minor fixes
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
79b6b87379
Audio: Add .ogg loader (using libvorbisfile)
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
557c23a9fa
Minor stuff
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
2cd09833a4
Minor fixes
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
7ced0e5f08
Audio: Add .wav loader (using dr_wav)
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
28f1d8aa76
Audio: Minor fixes
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
d121393267
Audio: Add mp3 support + new demo
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
9d1c821a16
Remove stb from thirdparty and use xmake instead
2021-05-30 16:45:50 +02:00
Jérôme Leclercq
a90844f0dd
Remove X11 dependency properly (as it's handled by SDL and EGL)
2021-05-29 00:52:10 +02:00
Jérôme Leclercq
41baacd9ab
Fix linux compilation
2021-05-29 00:34:09 +02:00
Jérôme Leclercq
109b2a156e
OpenGLRenderer: Allow RenderPipeline without a fragment shader on OpenGL ES
2021-05-29 00:32:00 +02:00
Jérôme Leclercq
c2b61b6732
A lot of fixes
2021-05-28 22:58:40 +02:00
Jérôme Leclercq
ff505e9019
Renderer: Implement and fix front face (winding order) between Vulkan / OpenGL
2021-05-28 22:58:14 +02:00
Jérôme Leclercq
299585a7de
Renderer: Implement renderpass attachments clear for OpenGL
2021-05-28 22:55:56 +02:00
Jérôme Leclercq
58fe411750
Shader/GlslWriter: Move function forward declaration before functions using them
...
Because of some weird ass shit bug in nvidia driver if functions were forward declared before declaration of UBO they were using
2021-05-26 22:21:57 +02:00
Jérôme Leclercq
7fe60026be
OpenGLRenderer: Minor fixes
2021-05-26 22:20:10 +02:00
Jérôme Leclercq
e7a2573221
Shader: Add support for FragCoord builtin
2021-05-26 22:17:07 +02:00
Jérôme Leclercq
335bb82be1
Renderer/Texture: Add static helpers
2021-05-25 15:37:55 +02:00
Jérôme Leclercq
59cfc74ab4
Renderer: Improve code
2021-05-25 15:37:27 +02:00
Jérôme Leclercq
001c9a6a61
Audio/Music: Rework Play() (ensure music has started before return and handle exceptions in thread)
2021-05-25 12:12:15 +02:00
Jérôme Leclercq
874fb3542e
Convert all remaining enums to enum classes (!)
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
8cdd0b51cb
Upgrade Audio (part 2)
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
ac57b3fbf4
Shader/GlslWriter: Accepts mono-functions shader without specifying entry points
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
7140e322c1
Commit missing files
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
ba7c56ddfa
Upgrade Platform
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
8b0b5295f7
Upgrade Physics2D and Physics3D
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
4bcb63d776
Audio: Commit missing files
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
cce32a64d4
Upgrade Utility
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
b936946154
Upgrade NazaraAudio
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
a52103a641
Rework ResourceLoader, ResourceManager and ObjectLibrary
...
They're no longer static
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
709604c070
Shader/Spirv: Fix OpFunctionParameter type
2021-05-22 16:45:57 +02:00
Jérôme Leclercq
eab6b4a279
Update shaders
2021-05-22 13:38:29 +02:00
Jérôme Leclercq
f6fd996bf1
Shader: Add support for custom functions calls (and better handle intrinsics)
2021-05-22 13:37:54 +02:00
Jérôme Leclercq
031e52b63f
Network: Fix compilation under Linux (fix merge)
2021-05-19 20:54:10 +02:00
Jérôme Leclercq
35060ab24e
Fix minor stuff
2021-05-19 20:32:16 +02:00
Jérôme Leclercq
49a2cda0a1
VulkanRenderer: Fix descriptor pool release
2021-05-19 20:32:02 +02:00
Jérôme Leclercq
a7235ab02d
Shader: Add support for max/min intrinsic
2021-05-19 20:31:26 +02:00
Jérôme Leclercq
0339ea346f
Shader: Fix unary plus/minus on vector
2021-05-19 20:30:29 +02:00
Jérôme Leclercq
82d80a68ff
Shader: Cleanup optimizer
2021-05-18 17:25:48 +02:00
Jérôme Leclercq
a002d5c210
Shader: Add constant cast optimization
2021-05-18 17:25:37 +02:00
Jérôme Leclercq
e716b44aa3
Add tests and SDK
2021-05-17 23:08:37 +02:00
Jérôme Leclercq
26de5872eb
Merge branch 'master' into graphics-next
2021-05-17 18:58:04 +02:00
Lynix
b0b1acf497
Shader: Fix LangWriter
2021-05-17 17:43:38 +02:00
Lynix
ccccbfe0ad
Shader/SpirV: Fix UInt32 support
2021-05-16 23:14:39 +02:00
Lynix
f2000f6068
Graphics: useDedicatedRenderDevice as false will now try to select an integrated device
2021-05-16 23:14:10 +02:00
Lynix
7bf380ad48
VulkanRenderer: Fix VkValidationFeatureEnableEXT usage
2021-05-16 23:13:40 +02:00
Lynix
13feaf4aab
Renderer: RenderWindow now requires a RenderDevice
2021-05-16 23:13:00 +02:00
Lynix
61d082e61b
Shader/ShaderWrite: Add optimize bool
2021-05-16 23:08:36 +02:00
Lynix
525f24af2e
Shader/ShaderLang: Add support for Unary operators
2021-05-16 23:07:25 +02:00
Jérôme Leclercq
51c099b3ce
Renderer: Allow UploadPool to handle very big (>= 2MB) blocks
2021-05-15 15:27:17 +02:00
Jérôme Leclercq
a4052112fe
Update UnicodeData.hpp
2021-05-14 03:35:32 +02:00
Jérôme Leclercq
6ed3d2b144
Fix newton include
2021-05-14 03:35:32 +02:00
Jérôme Leclercq
223b41490b
Fix sndfile inclusion
2021-05-14 03:35:32 +02:00
Jérôme Leclercq
2641117847
Add building using xmake and cleanup thirdparty
2021-05-14 03:35:32 +02:00
Jérôme Leclercq
a18d8859d5
Update basicmaterial binary
2021-05-14 02:11:08 +02:00
Jérôme Leclercq
8840f0bba8
Shader: Fix SPIRV operand for vector / primitive division
2021-05-14 02:10:29 +02:00
Jérôme Leclercq
bb207fea4f
Shader: Fix Swizzle generation for SPIRV
2021-05-14 02:09:54 +02:00
Jérôme Leclercq
830ec6ac94
Add a few helper functions
2021-05-14 02:09:25 +02:00
Jérôme Leclercq
f280cff0a2
Renderer: Add release queue to fix deletion while use
2021-05-14 02:04:47 +02:00
Jérôme Leclercq
51ecff2912
ShaderLang: Add support for length intrinsic
2021-05-14 02:02:12 +02:00
Jérôme Leclercq
24f7b75654
Renderer: Add support for PixelFormat_RGBA32F
2021-05-14 01:57:32 +02:00
Jérôme Leclercq
bbfe06c443
Renderer: Fix UploadPool allocations references
2021-05-14 01:56:32 +02:00
Jérôme Leclercq
aeac3282e4
Renderer: Add RenderDevice::GetDeviceInfo()
2021-05-14 01:55:16 +02:00
Jérôme Leclercq
adbf1e1da0
Renderer: Add proper support for blending
2021-05-14 01:50:46 +02:00
Jérôme Leclercq
61dbd91346
Lot of small fixes/improvements
2021-05-14 01:48:47 +02:00
Jérôme Leclercq
9376cfefd2
Graphics/FrameGraph: Add support for pass name (as debug sections)
2021-05-14 01:45:45 +02:00
Jérôme Leclercq
ee690072f8
VulkanRenderer: Enable synchronization validation in debug
2021-05-05 12:06:30 +02:00
Jérôme Leclercq
961c3bf1df
Shader: Fix LangWriter generation
2021-05-05 12:06:02 +02:00
Jérôme Leclercq
7d4a084a62
Shader/Parser: Fix handling of . in rvalues + add support for swizzling
...
For example: var.field was okay but texture.Sample(uv).x wasn't
2021-05-05 12:05:46 +02:00
Jérôme Leclercq
eb67990b7b
Shader: Fix SpirV generation for Swizzle expressions
...
+ fix OpSampledImage
2021-05-05 12:04:09 +02:00
Jérôme Leclercq
bfb93bc925
VulkanRenderer: Fix VkRenderWindow subpass dependencies
2021-05-05 12:02:00 +02:00
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