Renderer: Allow to pass custom parameters

This commit is contained in:
Lynix 2016-10-28 22:31:04 +02:00
parent 66172a163c
commit 71aa4d53a3
3 changed files with 12 additions and 3 deletions

View File

@ -26,11 +26,14 @@ namespace Nz
static inline bool IsInitialized(); static inline bool IsInitialized();
static inline void SetParameters(const ParameterList& parameters);
static void Uninitialize(); static void Uninitialize();
private: private:
static DynLib s_rendererLib;
static std::unique_ptr<RendererImpl> s_rendererImpl; static std::unique_ptr<RendererImpl> s_rendererImpl;
static DynLib s_rendererLib;
static ParameterList s_initializationParameters;
static unsigned int s_moduleReferenceCounter; static unsigned int s_moduleReferenceCounter;
}; };
} }

View File

@ -16,6 +16,11 @@ namespace Nz
{ {
return s_moduleReferenceCounter != 0; return s_moduleReferenceCounter != 0;
} }
void Renderer::SetParameters(const ParameterList& parameters)
{
s_initializationParameters = parameters;
}
} }
#include <Nazara/Renderer/DebugOff.hpp> #include <Nazara/Renderer/DebugOff.hpp>

View File

@ -63,7 +63,7 @@ namespace Nz
} }
std::unique_ptr<RendererImpl> impl(createRenderer()); std::unique_ptr<RendererImpl> impl(createRenderer());
if (!impl || !impl->Prepare(Nz::ParameterList())) if (!impl || !impl->Prepare(s_initializationParameters))
{ {
NazaraError("Failed to create renderer implementation"); NazaraError("Failed to create renderer implementation");
continue; continue;
@ -115,7 +115,8 @@ namespace Nz
Utility::Uninitialize(); Utility::Uninitialize();
} }
DynLib Renderer::s_rendererLib;
std::unique_ptr<RendererImpl> Renderer::s_rendererImpl; std::unique_ptr<RendererImpl> Renderer::s_rendererImpl;
DynLib Renderer::s_rendererLib;
ParameterList Renderer::s_initializationParameters;
unsigned int Renderer::s_moduleReferenceCounter = 0; unsigned int Renderer::s_moduleReferenceCounter = 0;
} }