Commit Graph

65 Commits

Author SHA1 Message Date
SirLynix 9ada93b995 Remove spaces before line feed 2024-01-25 14:38:06 +01:00
SirLynix d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +01:00
SirLynix 4b8a475bbd Split error macro into two versions (format vs non-formating) to allow format checking at compile-time 2023-11-02 15:18:03 +01:00
SirLynix 9aebb4f745 Graphics: Rework shadowing (add cascaded shadow mapping)
- Add support for per-viewer shadows
- Add cascaded shadow mapping for directional lights (wip)
- Rework the way lights are sent to the shaders (they are now selected once per viewer)
- Fixes PointLight shadow mapping (using a dedicated pass)
- Lights out of frustum for every viewers are no longer processed (wip)
2023-10-14 14:46:49 +02:00
SirLynix aef8b01f15 Math/Box: Rename FromExtends to FromExtents 2023-09-08 09:06:26 +02:00
SirLynix 9ff1dcc42a Math/Frustum: Fix GetAABB dangling ref 2023-08-28 19:16:39 +02:00
SirLynix 4f4d0a3373 Math/Frustum: Fix Near and Far plane extraction (they were swapped) 2023-08-28 19:16:15 +02:00
Lynix a234f2e7bd Fix compilation 2023-08-25 20:27:10 +02:00
SirLynix 5b9f79a554 Math/Frustum: Fix Far plane extraction 2023-08-25 17:14:23 +02:00
SirLynix efe36ca6e8 Math/OrientedBox: Make GetCorners return an EnumArray ref 2023-08-25 17:13:39 +02:00
SirLynix 532b1b2c4d Math/Frustum: Add ComputeCorners and GetAABB 2023-08-25 17:13:07 +02:00
SirLynix a741672a51 Allow error message to be formatted 2023-08-15 01:10:01 +02:00
SirLynix 96618cbb5b Fix some warnings 2023-06-27 19:31:24 +02:00
SirLynix 161c4f6aca Math/Frustum: Fix Contains(Box) and Intersect(points, n) 2023-06-25 09:50:10 +02:00
SirLynix 2f1e2f94d7 Math/Plane: Fix construction from 3 points 2023-06-23 13:23:26 +02:00
SirLynix b2538028b4 Math/Plane: Rename Distance method to SignedDistance 2023-06-22 17:56:18 +02:00
SirLynix 622b6cbec9 Math: Reverse plane direction (to make it more standard) 2023-06-21 19:50:03 +02:00
SirLynix 9eb4c43997 Math/Frustum: Add GetPlanes() 2023-06-21 19:49:32 +02:00
SirLynix caf8446707 Math: Remove Algorithm file and move string functions to StringExt 2023-06-06 08:59:58 +02:00
Jérôme Leclercq 1a55b550fb
Improve math module (#396)
* Improve math module

- Mark almost everything constexpr
- Equality (a == b) is now exact, down to the bit level. If you want approximate equality use the new ApproxEqual method/static method
- Rename Nz::Extend to Nz::Extent
- Removed Make[] and Set[] methods in favor of their static counterpart and operator=
2023-06-02 22:30:51 +02:00
SirLynix 2886a2e0c0 Rename EnumMap to EnumArray after nazarautils update 2023-05-30 13:49:19 +02:00
SirLynix dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix 99c8027fd0 Remove .inl inclusion of their .hpp files
It has no real purpose and is breaking Clang parsing
2023-03-10 13:33:10 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix 2243d0b1a7 Move free operator overloads inside Nz namespace 2022-12-29 12:15:22 +01:00
SirLynix a5d4b8f28d Renderer/DebugDrawer: Add support for Frustum 2022-12-08 18:17:13 +01:00
Jérôme Leclercq 6457854e03 Minor fixes 2022-02-04 13:54:26 +01:00
SirLynix 89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq f491ee1e38 Apply inclusion fix 2021-10-27 18:09:19 +02:00
Jérôme Leclercq ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq 2b9d8becea Math: Rework Frustum class 2021-08-23 18:43:34 +02:00
Jérôme Leclercq 8546631f62 Add frustum culling (WIP) 2021-08-19 23:26:34 +02:00
Jérôme Leclercq 8db8533300 Fixes a lot of warnings and move math enums to enum classes 2021-08-19 20:27:20 +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 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +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 be8e89b228 Math: Remove all Set(class) methods 2019-12-10 09:49:40 +01:00
Lynix 69f079fcc8 Core/Serialization: Add type tag parameters 2018-03-20 20:56:06 +01:00
DrLynix f383eca19a Update copyright year 2017-01-20 12:58:35 +01:00
Gawaboumga 2c941827ed Documentation for module: Graphics
Former-commit-id: 1757c33318443aade1dc38e16d053240d7dc885c
2016-05-30 14:21:36 +02:00
Gawaboumga 265e1c0fbd Fix compilation for gcc/clang + tests for serialization
Former-commit-id: db9c93a1db3c57f268fc17e411402e071fc8675a
2016-04-04 10:17:05 +02:00
Lynix 300dc82806 Math: Fix missing includes
Former-commit-id: 21ff7a6db4beb9fc7968e9bf1ba7478ca2f55e21
2016-03-06 14:54:56 +01:00
Lynix e9d126b3a4 Math: Add serialization specialization for all types
Former-commit-id: 7e45c50d3b4eabfc581736f290fc208592d3d46c
2016-03-06 01:54:13 +01:00
Lynix 1c4135fc09 Improve documentation
Former-commit-id: 08d70f6a53a7f12d2748d145d1fe139595a1b39e
2016-03-01 15:37:05 +01:00
Gawaboumga fa48b750ae Documentation for Frustum
Former-commit-id: 38c09bfa36e663a77ebeb19f5b2c16f60f99ea14
2015-12-30 15:31:27 +01:00
Lynix eaf1bb3601 Merge branch 'NDK-Refactor' into NDK
Conflicts:
	examples/HardwareInfo/main.cpp
	include/Nazara/Renderer/Enums.hpp
	include/Nazara/Renderer/GpuQuery.hpp
	include/Nazara/Renderer/OpenGL.hpp
	include/Nazara/Renderer/RenderBuffer.hpp
	include/Nazara/Renderer/RenderTexture.hpp
	include/Nazara/Renderer/Texture.hpp
	src/Nazara/Graphics/AbstractRenderTechnique.cpp
	src/Nazara/Graphics/DeferredRenderTechnique.cpp
	src/Nazara/Graphics/Material.cpp
	src/Nazara/Graphics/SkyboxBackground.cpp
	src/Nazara/Renderer/GpuQuery.cpp
	src/Nazara/Renderer/OpenGL.cpp
	src/Nazara/Renderer/RenderBuffer.cpp
	src/Nazara/Renderer/RenderTexture.cpp
	src/Nazara/Renderer/Renderer.cpp
	src/Nazara/Renderer/Shader.cpp
	src/Nazara/Renderer/ShaderStage.cpp
	src/Nazara/Renderer/Texture.cpp

Former-commit-id: 2f1c7e9f9766f59ab83d9405856a1898ac4ab48f
2015-09-25 23:16:58 +02:00
Lynix df8da275c4 Switch from Nz prefix to namespace Nz
What a huge commit


Former-commit-id: 38ac5eebf70adc1180f571f6006192d28fb99897
2015-09-25 19:20:05 +02:00
Gawaboumga 282bdf9864 Consequences of the plane change + change perspective
The perspective matrix now as in glm (because the near frustum plane was
wrong). So there is a factor "2" on the component w and the skybox must
be changed in consequence.


Former-commit-id: 09dd049c177532b9ace34a5a60b1b96014652297
2015-08-21 12:01:52 +02:00
Lynix ea8d683624 Updated copyright year
(532 files, wow)


Former-commit-id: cbb31f1124a86720bd3a54fe589a0f849a87b434
2015-01-21 20:53:01 +01:00
Lynix 7c47a93a72 Renamed Corner enum to BoxCorner
Added RectCorner and Rect::GetCorner method


Former-commit-id: dc99823ceb17f6e91cdf12779c982ab7e024ec24
2015-01-03 22:31:25 +01:00