Merge fix

This commit is contained in:
Jérôme Leclercq 2022-01-23 20:00:11 +01:00
parent 97356349fe
commit 29a01e975c
12 changed files with 8 additions and 15 deletions

View File

@ -12,12 +12,13 @@
#include <Nazara/Graphics/Config.hpp> #include <Nazara/Graphics/Config.hpp>
#include <Nazara/Graphics/Enums.hpp> #include <Nazara/Graphics/Enums.hpp>
#include <memory> #include <memory>
#include <optional>
#include <vector> #include <vector>
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class CommandBufferBuilder; class CommandBufferBuilder;
class RenderBuffer;
class RenderElement; class RenderElement;
class RenderFrame; class RenderFrame;
class ViewerInstance; class ViewerInstance;
@ -38,7 +39,7 @@ namespace Nz
struct RenderStates struct RenderStates
{ {
std::shared_ptr<AbstractBuffer> lightData; std::optional<RenderBufferView> lightData;
}; };
}; };

View File

@ -108,7 +108,7 @@ namespace Nz
std::size_t m_depthPassIndex; std::size_t m_depthPassIndex;
std::size_t m_forwardPassIndex; std::size_t m_forwardPassIndex;
std::shared_ptr<AbstractBuffer> m_lightDataBuffer; std::shared_ptr<RenderBuffer> m_lightDataBuffer;
std::unordered_map<AbstractViewer*, ViewerData> m_viewers; std::unordered_map<AbstractViewer*, ViewerData> m_viewers;
std::unordered_map<MaterialPass*, MaterialData> m_materials; std::unordered_map<MaterialPass*, MaterialData> m_materials;
std::unordered_map<WorldInstancePtr, std::unordered_map<const InstancedRenderable*, RenderableData>> m_renderables; std::unordered_map<WorldInstancePtr, std::unordered_map<const InstancedRenderable*, RenderableData>> m_renderables;

View File

@ -19,7 +19,7 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer; class RenderBuffer;
class NAZARA_GRAPHICS_API Graphics : public ModuleBase<Graphics> class NAZARA_GRAPHICS_API Graphics : public ModuleBase<Graphics>
{ {

View File

@ -13,7 +13,6 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class MaterialPass; class MaterialPass;
class RenderPipeline; class RenderPipeline;
class VertexDeclaration; class VertexDeclaration;

View File

@ -16,7 +16,6 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class MaterialPass; class MaterialPass;
class VertexDeclaration; class VertexDeclaration;
class ViewerInstance; class ViewerInstance;

View File

@ -16,7 +16,6 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class MaterialPass; class MaterialPass;
class RenderPipeline; class RenderPipeline;
class ShaderBinding; class ShaderBinding;

View File

@ -18,7 +18,6 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class RenderDevice; class RenderDevice;
class RenderPipeline; class RenderPipeline;
class RenderSpriteChain; class RenderSpriteChain;

View File

@ -14,7 +14,6 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class RenderPipeline; class RenderPipeline;
class ShaderBinding; class ShaderBinding;

View File

@ -15,9 +15,9 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class CommandBufferBuilder; class CommandBufferBuilder;
class MaterialSettings; class MaterialSettings;
class RenderBuffer;
class UploadPool; class UploadPool;
class NAZARA_GRAPHICS_API ViewerInstance class NAZARA_GRAPHICS_API ViewerInstance

View File

@ -15,9 +15,9 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class CommandBufferBuilder; class CommandBufferBuilder;
class MaterialSettings; class MaterialSettings;
class RenderBuffer;
class UploadPool; class UploadPool;
class WorldInstance; class WorldInstance;

View File

@ -17,7 +17,6 @@
namespace Nz namespace Nz
{ {
class AbstractBuffer;
class Buffer; class Buffer;
class NAZARA_RENDERER_API Renderer : public ModuleBase<Renderer> class NAZARA_RENDERER_API Renderer : public ModuleBase<Renderer>

View File

@ -40,9 +40,7 @@ namespace Nz
auto lightOffset = PredefinedLightData::GetOffsets(); auto lightOffset = PredefinedLightData::GetOffsets();
m_lightDataBuffer = Graphics::Instance()->GetRenderDevice()->InstantiateBuffer(BufferType::Uniform); m_lightDataBuffer = Graphics::Instance()->GetRenderDevice()->InstantiateBuffer(BufferType::Uniform, lightOffset.totalSize, BufferUsage::DeviceLocal | BufferUsage::Write);
if (!m_lightDataBuffer->Initialize(lightOffset.totalSize, BufferUsage::DeviceLocal))
throw std::runtime_error("failed to create light data buffer");
std::vector<UInt8> staticLightData(lightOffset.totalSize); std::vector<UInt8> staticLightData(lightOffset.totalSize);
/*AccessByOffset<UInt32&>(staticLightData.data(), lightOffset.lightCountOffset) = 1; /*AccessByOffset<UInt32&>(staticLightData.data(), lightOffset.lightCountOffset) = 1;