Added a static New method to RefCounted-derived classes
Former-commit-id: efd9e68e050fb6cc7e0df7a7c222ca759c502dc5
This commit is contained in:
@@ -184,22 +184,19 @@ bool NzRenderTexture::AttachBuffer(nzAttachmentPoint attachmentPoint, nzUInt8 in
|
||||
|
||||
bool NzRenderTexture::AttachBuffer(nzAttachmentPoint attachmentPoint, nzUInt8 index, nzPixelFormat format, unsigned int width, unsigned int height)
|
||||
{
|
||||
std::unique_ptr<NzRenderBuffer> renderBuffer(new NzRenderBuffer);
|
||||
renderBuffer->SetPersistent(false);
|
||||
|
||||
NzRenderBufferRef renderBuffer = NzRenderBuffer::New();
|
||||
if (!renderBuffer->Create(format, width, height))
|
||||
{
|
||||
NazaraError("Failed to create RenderBuffer");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!AttachBuffer(attachmentPoint, index, renderBuffer.get()))
|
||||
if (!AttachBuffer(attachmentPoint, index, renderBuffer))
|
||||
{
|
||||
NazaraError("Failed to attach buffer");
|
||||
return false;
|
||||
}
|
||||
|
||||
renderBuffer.release();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -884,10 +884,8 @@ bool NzRenderer::Initialize()
|
||||
}
|
||||
|
||||
// Création du shader de Debug
|
||||
std::unique_ptr<NzShader> shader(new NzShader);
|
||||
shader->SetPersistent(false);
|
||||
|
||||
if (!shader->Create())
|
||||
NzShaderRef debugShader = NzShader::New();
|
||||
if (!debugShader->Create())
|
||||
{
|
||||
NazaraError("Failed to create debug shader");
|
||||
return false;
|
||||
@@ -912,26 +910,25 @@ bool NzRenderer::Initialize()
|
||||
vertexShaderLength = sizeof(r_compatibilityVertexShader);
|
||||
}
|
||||
|
||||
if (!shader->AttachStageFromSource(nzShaderStage_Fragment, fragmentShader, fragmentShaderLength))
|
||||
if (!debugShader->AttachStageFromSource(nzShaderStage_Fragment, fragmentShader, fragmentShaderLength))
|
||||
{
|
||||
NazaraError("Failed to attach fragment stage");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!shader->AttachStageFromSource(nzShaderStage_Vertex, vertexShader, vertexShaderLength))
|
||||
if (!debugShader->AttachStageFromSource(nzShaderStage_Vertex, vertexShader, vertexShaderLength))
|
||||
{
|
||||
NazaraError("Failed to attach vertex stage");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!shader->Link())
|
||||
if (!debugShader->Link())
|
||||
{
|
||||
NazaraError("Failed to link shader");
|
||||
return false;
|
||||
}
|
||||
|
||||
NzShaderLibrary::Register("DebugSimple", shader.get());
|
||||
shader.release();
|
||||
NzShaderLibrary::Register("DebugSimple", debugShader);
|
||||
|
||||
onExit.Reset();
|
||||
|
||||
|
||||
@@ -35,10 +35,9 @@ NzUberShaderInstance* NzUberShaderPreprocessor::Get(const NzParameterList& param
|
||||
// Une exception sera lancée à la moindre erreur et celle-ci ne sera pas enregistrée dans le log (car traitée dans le bloc catch)
|
||||
NzErrorFlags errFlags(nzErrorFlag_Silent | nzErrorFlag_ThrowException, true);
|
||||
|
||||
std::unique_ptr<NzShader> shader(new NzShader);
|
||||
shader->SetPersistent(false);
|
||||
|
||||
NzShaderRef shader = NzShader::New();
|
||||
shader->Create();
|
||||
|
||||
for (unsigned int i = 0; i <= nzShaderStage_Max; ++i)
|
||||
{
|
||||
const Shader& shaderStage = m_shaders[i];
|
||||
@@ -91,8 +90,7 @@ NzUberShaderInstance* NzUberShaderPreprocessor::Get(const NzParameterList& param
|
||||
shader->Link();
|
||||
|
||||
// On construit l'instant
|
||||
shaderIt = m_cache.emplace(flags, shader.get()).first;
|
||||
shader.release();
|
||||
shaderIt = m_cache.emplace(flags, shader.Get()).first;
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user