Added Image

Added pixel format support
Added MemoryStream
Added Rect
Added ResourceLoader
Added generic loader (bmp, gif, hdr, jpg, jpeg, pic, png, psd, tga)
Added PCX loader
Added utility module initializer
Fixed Config.hpp include
Prerequesites.hpp now overwrites _WIN32_WINNT when defined
version is less than requiered version
Renderer's initialisation will implicitly initialize utility module
Removed RENDERER_SINGLETON option
Shaders are now resources
This commit is contained in:
Lynix
2012-05-21 21:54:13 +02:00
parent 47cdbbcdb0
commit 9b3f4e794a
51 changed files with 6845 additions and 147 deletions

View File

@@ -5,6 +5,7 @@
#include <Nazara/Renderer/OpenGL.hpp>
#include <Nazara/Renderer/Buffer.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <Nazara/Renderer/HardwareBuffer.hpp>
#include <Nazara/Renderer/Renderer.hpp>
#include <Nazara/Renderer/SoftwareBuffer.hpp>

View File

@@ -4,6 +4,7 @@
#include <Nazara/Renderer/IndexBuffer.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <stdexcept>
#include <Nazara/Renderer/Debug.hpp>

View File

@@ -5,6 +5,7 @@
#include <Nazara/Renderer/OpenGL.hpp>
#include <Nazara/Renderer/OcclusionQuery.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <Nazara/Renderer/Renderer.hpp>
#include <stdexcept>
#include <Nazara/Renderer/Debug.hpp>

View File

@@ -5,6 +5,7 @@
#include <Nazara/Renderer/OpenGL.hpp>
#include <Nazara/Renderer/RenderWindow.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <Nazara/Renderer/Context.hpp>
#include <Nazara/Renderer/ContextParameters.hpp>
#include <Nazara/Renderer/Debug.hpp>

View File

@@ -6,12 +6,14 @@
#include <Nazara/Renderer/Renderer.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Renderer/BufferImpl.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <Nazara/Renderer/Context.hpp>
#include <Nazara/Renderer/IndexBuffer.hpp>
#include <Nazara/Renderer/RenderTarget.hpp>
#include <Nazara/Renderer/Shader.hpp>
#include <Nazara/Renderer/ShaderImpl.hpp>
#include <Nazara/Renderer/VertexBuffer.hpp>
#include <Nazara/Utility/Utility.hpp>
#include <stdexcept>
#include <Nazara/Renderer/Debug.hpp>
@@ -45,7 +47,8 @@ m_vertexBufferUpdated(false)
NzRenderer::~NzRenderer()
{
Uninitialize();
if (s_initialized)
Uninitialize();
s_instance = nullptr;
}
@@ -166,6 +169,21 @@ bool NzRenderer::HasCapability(nzRendererCap capability) const
bool NzRenderer::Initialize()
{
#if NAZARA_RENDERER_SAFE
if (s_initialized)
{
NazaraError("Renderer already initialized");
return true;
}
#endif
// Initialisation du module Utility
if (!NzUtility::IsInitialized())
{
m_utilityModule = new NzUtility;
m_utilityModule->Initialize();
}
if (NzOpenGL::Initialize())
{
m_capabilities[nzRendererCap_AnisotropicFilter] = NzOpenGL::IsSupported(NzOpenGL::AnisotropicFilter);
@@ -179,6 +197,8 @@ bool NzRenderer::Initialize()
m_capabilities[nzRendererCap_TextureMulti] = true; // Natif depuis OpenGL 1.3
m_capabilities[nzRendererCap_TextureNPOT] = true; // Natif depuis OpenGL 2.0
s_initialized = true;
return true;
}
else
@@ -329,23 +349,28 @@ bool NzRenderer::SetVertexDeclaration(const NzVertexDeclaration* vertexDeclarati
void NzRenderer::Uninitialize()
{
NzOpenGL::Uninitialize();
}
#if NAZARA_RENDERER_SAFE
if (!s_initialized)
{
NazaraError("Renderer not initialized");
return;
}
#endif
#if NAZARA_RENDERER_SINGLETON
void NzRenderer::Destroy()
{
delete s_instance;
s_instance = nullptr;
NzOpenGL::Uninitialize();
s_initialized = false;
if (m_utilityModule)
{
delete m_utilityModule;
m_utilityModule = nullptr;
}
}
#endif
NzRenderer* NzRenderer::Instance()
{
#if NAZARA_RENDERER_SINGLETON
if (!s_instance)
s_instance = new NzRenderer;
#elif defined(NAZARA_DEBUG)
#if defined(NAZARA_DEBUG)
if (!s_instance)
NazaraError("Renderer not instanced");
#endif
@@ -353,6 +378,11 @@ NzRenderer* NzRenderer::Instance()
return s_instance;
}
bool NzRenderer::IsInitialized()
{
return s_initialized;
}
bool NzRenderer::UpdateVertexBuffer()
{
#if NAZARA_RENDERER_SAFE
@@ -384,3 +414,4 @@ bool NzRenderer::UpdateVertexBuffer()
}
NzRenderer* NzRenderer::s_instance = nullptr;
bool NzRenderer::s_initialized = false;

View File

@@ -7,6 +7,7 @@
#include <Nazara/Core/Error.hpp>
#include <Nazara/Core/File.hpp>
#include <Nazara/Core/String.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <Nazara/Renderer/GLSLShader.hpp>
#include <Nazara/Renderer/Renderer.hpp>
#include <Nazara/Renderer/ShaderImpl.hpp>

View File

@@ -5,6 +5,7 @@
#include <Nazara/Renderer/OpenGL.hpp>
#include <Nazara/Renderer/SoftwareBuffer.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <cstring>
#include <stdexcept>
#include <Nazara/Renderer/Debug.hpp>

View File

@@ -4,6 +4,7 @@
#include <Nazara/Renderer/VertexDeclaration.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <Nazara/Renderer/Renderer.hpp>
#include <Nazara/Renderer/Debug.hpp>