Jérôme Leclercq
52ec5d88f0
Graphics/FrameGraph: Fix depth stencil input not being taken into account for graph dependency
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
b5045a2c59
Graphics: Add Material and made use of passes (WIP)
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
f61deabe92
Graphics/BakedFrameGraph: Don't release in flight resources
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
5669b5bc60
Graphics: Rename Material to MaterialPass
2021-08-19 18:47:11 +02:00
Jérôme Leclercq
90df17d45a
Graphics/Material(Pipeline): Remove leftovers attributes
2021-07-13 14:38:09 +02:00
Jérôme Leclercq
ae364934bb
Graphics/CameraComponent: Add remaining features
2021-07-10 14:27:38 +02:00
Jérôme Leclercq
c72dfc8004
Graphics: Add forceDisableFeatures config
2021-07-09 12:37:11 +02:00
Jérôme Leclercq
8458301a64
Add support for depth clamping
2021-07-09 00:22:08 +02:00
Jérôme Leclercq
a895e553d4
Graphics: rework ubershaders to prevent duplicate shaders modules
...
Also rename all remaining conditions to options
2021-07-08 14:52:39 +02:00
Jérôme Leclercq
1b4ab7e625
Graphics/BasicMaterial: Improve shader
2021-07-08 11:37:33 +02:00
Jérôme Leclercq
81b64e4fe2
Fix some shaders
2021-07-08 11:06:54 +02:00
Jérôme Leclercq
d3e0d8a39f
Shader: Replace select_opt by const_select
2021-07-08 10:53:11 +02:00
Jérôme Leclercq
bfab451633
Remove resources headers (as they will be generated on compilation)
2021-07-07 22:44:38 +02:00
Jérôme Leclercq
1f6937ab1b
Shader: Implement const if and const values
2021-07-07 22:38:24 +02:00
Jérôme Leclercq
f9af35b489
Shader: Attribute can now have expressions as values and struct fields can be conditionally supported
2021-07-07 22:38:24 +02:00
Jérôme Leclercq
cb82951c9a
Fix Linux compilation
2021-07-06 11:29:14 +02:00
Jérôme Leclercq
4ac5fe7cba
Graphics: Add RenderSystem and frame pipeline
2021-07-06 11:04:22 +02:00
Jérôme Leclercq
428a706fbe
Replace basicmaterial nodes by NZSL source
2021-07-06 11:02:53 +02:00
Jérôme Leclercq
1c482bbde6
Graphics/BakedFrameGraph: Handle resize in a better way
2021-07-03 13:57:18 +02:00
Jérôme Leclercq
8eb1eb71ba
Merge branch 'nazara-next' of https://github.com/DigitalPulseSoftware/NazaraEngine into nazara-next
2021-06-20 14:13:21 +02:00
Jérôme Leclercq
d2144c8941
Graphics/FrameGraph: Mark subpass deps tilables
2021-06-20 14:12:58 +02:00
Jérôme Leclercq
517ca2d9c2
Graphics/Shaders: Remove pseudo-lighting from BasicMaterial shader
2021-06-20 14:12:30 +02:00
Jérôme Leclercq
c1a9a22177
Add initial ECS support
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
6f87a01fb2
Graphics: Improve WorldInstance handling
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
b13c5c950a
OpenGLRenderer: Implement face filling
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
3cd9172f7a
Graphics: Make use of shader binding sets
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
815a7b0c62
Replace const ShaderAst::StatementPtr& by ShaderAst::Statement& in input
2021-06-16 16:50:00 +02:00
Lynix
54d56abc56
WIP
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
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
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
9ee3a0d6be
DeferredShading: Add bloom
2021-06-01 20:28:19 +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
c2b61b6732
A lot of fixes
2021-05-28 22:58:40 +02:00
Jérôme Leclercq
cce32a64d4
Upgrade Utility
2021-05-25 10:40:07 +02:00
Jérôme Leclercq
eab6b4a279
Update shaders
2021-05-22 13:38:29 +02:00
Jérôme Leclercq
35060ab24e
Fix minor stuff
2021-05-19 20:32:16 +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
13feaf4aab
Renderer: RenderWindow now requires a RenderDevice
2021-05-16 23:13:00 +02:00
Lynix
525f24af2e
Shader/ShaderLang: Add support for Unary operators
2021-05-16 23:07:25 +02:00
Jérôme Leclercq
a18d8859d5
Update basicmaterial binary
2021-05-14 02:11:08 +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
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
55c2dd8485
Add FrameGraph (WIP)
2021-05-02 13:58:35 +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
2238bbfa0c
Shader: Add AstReflect
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
e4aabf309e
Renderer: Replace ShaderStage by ShaderModule (a module can handle multiple stages)
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
080fd9c7eb
Minor fixes
2021-02-15 18:17:30 +01:00
Jérôme Leclercq
08c2f711b0
Graphics/Material: Add UpdateBuffers
2021-02-15 18:16:19 +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
e6ada6846d
Graphics: Fix PredefinedViewerData size
2021-01-22 18:04:58 +01:00
Jérôme Leclercq
bb18ca13ca
Fix shader generation
2021-01-15 19:19:05 +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
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
3b2e375382
WIP
2020-09-26 20:04:05 +02:00
Jérôme Leclercq
95c9ad0fd8
Add graphics module base
2020-09-20 14:52:44 +02:00
Jérôme Leclercq
2a875c8bdc
Remove Graphics module and fix compilation
2020-08-27 19:43:31 +02:00
Lynix
9507c56fc9
PixelFormat rename
...
PixelFormatInfo => PixelFormatDescription
PixelFormat => PixelFormatInfo
PixelFormatType => PixelFormat
2020-04-10 14:19:36 +02: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
3d22321109
Big f***ing cleanup part 1
2020-02-23 00:42:22 +01:00
Lynix
548ede4613
Utility/*TextDrawer: Use float internally
...
+ some fixes
2020-01-25 19:07:20 +01:00
Lynix
6920c7c3f7
Fix skybox background looking like crap
2019-12-23 19:45:52 +01:00
Lynix
79b0bd644c
Add text outlines!
2019-04-16 01:46:26 +02:00
Lynix
0ca823f9a6
Graphics: Remove sprite limit
2019-03-31 16:31:02 +02:00
Lynix
cdf9611080
Graphics/TileMap: Fix material index rendering
2019-03-10 18:13:03 +01:00
larnin
a18dbf6bc4
Fix empty tilemap ( #198 )
...
* Fix empty tilemap
* Yay
2019-02-13 01:02:57 +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
a3a4ed89b8
Graphics/Material: Fix reflection mode not being copied
2018-08-25 22:41:05 +02:00
Lynix
b9e36f36e2
Graphics/TileMap: Fix sprite data corruption with multiple materials
2018-08-23 17:46:18 +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
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
bc2f6f67cc
Graphics/InstancedRenderable: Add Clone method
2018-06-06 19:36: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
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
Lynix
8695e11436
Fix whitespace
2018-04-26 22:45:24 +02:00
Lynix
9f95a6122b
Graphics/MaterialPipeline: Disable depth sorting for Translucent2D pipeline
2018-04-15 02:35:51 +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
Lynix
42a263ed6a
Graphics/Billboard: Fix bounding volume
2018-04-09 20:33:40 +02:00
Lynix
96f3104347
Fix Basic uber-shader compilation on some drivers
2018-03-10 13:02:30 +01:00