Renderer/RenderWindow: Remove Display and GetImpl methods

This commit is contained in:
Jérôme Leclercq
2021-08-27 15:39:23 +02:00
parent 3653e9136d
commit 120d8f5427
8 changed files with 52 additions and 62 deletions

View File

@@ -236,8 +236,6 @@ int main()
Nz::WorldInstance planeInstance;
Nz::RenderWindowImpl* windowImpl = window.GetImpl();
Nz::RenderPipelineLayoutInfo lightingPipelineLayoutInfo;
Nz::Graphics::FillViewerPipelineLayout(lightingPipelineLayoutInfo);
@@ -330,8 +328,8 @@ int main()
const std::shared_ptr<const Nz::VertexDeclaration>& fullscreenVertexDeclaration = Nz::VertexDeclaration::Get(Nz::VertexLayout::XYZ_UV);
unsigned int offscreenWidth = window.GetSize().x;
unsigned int offscreenHeight = window.GetSize().y;
unsigned int offscreenWidth = windowSize.x;
unsigned int offscreenHeight = windowSize.y;
// Bloom data
@@ -929,7 +927,7 @@ int main()
viewerInstance.UpdateViewMatrix(Nz::Matrix4f::ViewMatrix(viewerPos, camQuat));
}
Nz::RenderFrame frame = windowImpl->Acquire();
Nz::RenderFrame frame = window.AcquireFrame();
if (!frame)
continue;
@@ -1108,6 +1106,7 @@ int main()
bakedGraph.Execute(frame);
const Nz::RenderTarget* windowRT = window.GetRenderTarget();
frame.Execute([&](Nz::CommandBufferBuilder& builder)
{
Nz::Recti windowRenderRect(0, 0, window.GetSize().x, window.GetSize().y);
@@ -1116,7 +1115,7 @@ int main()
builder.BeginDebugRegion("Main window rendering", Nz::Color::Green);
{
builder.BeginRenderPass(windowImpl->GetFramebuffer(frame.GetFramebufferIndex()), windowImpl->GetRenderPass(), windowRenderRect);
builder.BeginRenderPass(windowRT->GetFramebuffer(frame.GetFramebufferIndex()), windowRT->GetRenderPass(), windowRenderRect);
{
builder.SetScissor(Nz::Recti{ 0, 0, int(windowSize.x), int(windowSize.y) });
builder.SetViewport(Nz::Recti{ 0, 0, int(windowSize.x), int(windowSize.y) });
@@ -1133,8 +1132,6 @@ int main()
frame.Present();
window.Display();
matUpdate = false;
lightUpdate = false;

View File

@@ -81,7 +81,7 @@ int main()
Nz::Vector2ui windowSize = window.GetSize();
Nz::Camera camera(window.GetImpl());
Nz::Camera camera(window.GetRenderTarget());
Nz::ViewerInstance& viewerInstance = camera.GetViewerInstance();
viewerInstance.UpdateTargetSize(Nz::Vector2f(window.GetSize()));
@@ -98,8 +98,6 @@ int main()
framePipeline.RegisterInstancedDrawable(modelInstance, &model);
framePipeline.RegisterInstancedDrawable(modelInstance2, &model);
Nz::RenderWindowImpl* windowImpl = window.GetImpl();
Nz::Vector3f viewerPos = Nz::Vector3f::Zero();
Nz::EulerAnglesf camAngles(0.f, 0.f, 0.f);
@@ -188,7 +186,7 @@ int main()
viewerPos += Nz::Vector3f::Down() * cameraSpeed;
}
Nz::RenderFrame frame = windowImpl->Acquire();
Nz::RenderFrame frame = window.AcquireFrame();
if (!frame)
continue;
@@ -201,8 +199,6 @@ int main()
frame.Present();
window.Display();
// On incrémente le compteur de FPS improvisé
fps++;

View File

@@ -37,12 +37,6 @@ int main()
Nz::RenderWindow window;
Nz::MeshParams meshParams;
meshParams.center = true;
meshParams.storage = Nz::DataStorage::Software;
meshParams.matrix = Nz::Matrix4f::Rotate(Nz::EulerAnglesf(0.f, 90.f, 0.f)) * Nz::Matrix4f::Scale(Nz::Vector3f(0.002f));
meshParams.vertexDeclaration = Nz::VertexDeclaration::Get(Nz::VertexLayout::XYZ_UV);
std::shared_ptr<Nz::RenderDevice> device = Nz::Graphics::Instance()->GetRenderDevice();
std::string windowTitle = "Graphics Test";
@@ -52,7 +46,11 @@ int main()
return __LINE__;
}
Nz::RenderWindowImpl* windowImpl = window.GetImpl();
Nz::MeshParams meshParams;
meshParams.center = true;
meshParams.storage = Nz::DataStorage::Software;
meshParams.matrix = Nz::Matrix4f::Rotate(Nz::EulerAnglesf(0.f, 90.f, 0.f)) * Nz::Matrix4f::Scale(Nz::Vector3f(0.002f));
meshParams.vertexDeclaration = Nz::VertexDeclaration::Get(Nz::VertexLayout::XYZ_UV);
std::shared_ptr<Nz::Mesh> spaceshipMesh = Nz::Mesh::LoadFromFile(resourceDir / "Spaceship/spaceship.obj", meshParams);
if (!spaceshipMesh)
@@ -65,17 +63,6 @@ int main()
std::shared_ptr<Nz::GraphicalMesh> gfxMesh = std::make_shared<Nz::GraphicalMesh>(*spaceshipMesh);
// Texture
std::shared_ptr<Nz::Image> diffuseImage = Nz::Image::LoadFromFile(resourceDir / "Spaceship/Texture/diffuse.png");
if (!diffuseImage || !diffuseImage->Convert(Nz::PixelFormat::RGBA8_SRGB))
{
NazaraError("Failed to load image");
return __LINE__;
}
Nz::TextureParams texParams;
texParams.renderDevice = device;
texParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB;
std::shared_ptr<Nz::Material> material = std::make_shared<Nz::Material>();
std::shared_ptr<Nz::MaterialPass> depthPass = std::make_shared<Nz::MaterialPass>(Nz::DepthMaterial::GetSettings());
@@ -94,6 +81,10 @@ int main()
Nz::TextureSamplerInfo samplerInfo;
samplerInfo.anisotropyLevel = 8;
Nz::TextureParams texParams;
texParams.renderDevice = device;
texParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB;
Nz::BasicMaterial basicMat(*materialPass);
basicMat.EnableAlphaTest(false);
basicMat.SetAlphaMap(Nz::Texture::LoadFromFile(resourceDir / "alphatile.png", texParams));
@@ -121,7 +112,7 @@ int main()
entt::entity viewer = registry.create();
registry.emplace<Nz::NodeComponent>(viewer);
registry.emplace<Nz::CameraComponent>(viewer, windowImpl);
registry.emplace<Nz::CameraComponent>(viewer, window.GetRenderTarget());
auto shipCollider = std::make_shared<Nz::ConvexCollider3D>(vertices, vertexMapper.GetVertexCount(), 0.01f);
@@ -337,7 +328,7 @@ int main()
playerShipBody.AddForce(Nz::Vector3f::Down() * 3.f * mass, Nz::CoordSys::Local);
}
Nz::RenderFrame frame = windowImpl->Acquire();
Nz::RenderFrame frame = window.AcquireFrame();
if (!frame)
continue;
@@ -345,8 +336,6 @@ int main()
frame.Present();
window.Display();
fps++;
if (secondClock.GetMilliseconds() >= 1000)

View File

@@ -14,6 +14,8 @@
int main()
{
std::cout << u8"Héhéhé" << std::endl;
return 0;
std::filesystem::path resourceDir = "resources";
if (!std::filesystem::is_directory(resourceDir) && std::filesystem::is_directory(".." / resourceDir))
resourceDir = ".." / resourceDir;

View File

@@ -221,8 +221,7 @@ int main()
Nz::RenderDevice* renderDevice = window.GetRenderDevice().get();
Nz::RenderWindowImpl* windowImpl = window.GetImpl();
std::shared_ptr<Nz::CommandPool> commandPool = windowImpl->CreateCommandPool(Nz::QueueType::Graphics);
std::shared_ptr<Nz::CommandPool> commandPool = renderDevice->InstantiateCommandPool(Nz::QueueType::Graphics);
Nz::RenderBuffer* renderBufferIB = static_cast<Nz::RenderBuffer*>(meshIB->GetBuffer()->GetImpl());
Nz::RenderBuffer* renderBufferVB = static_cast<Nz::RenderBuffer*>(meshVB->GetBuffer()->GetImpl());
@@ -329,7 +328,7 @@ int main()
uboUpdate = true;
}
Nz::RenderFrame frame = windowImpl->Acquire();
Nz::RenderFrame frame = window.AcquireFrame();
if (!frame)
continue;
@@ -355,6 +354,7 @@ int main()
uboUpdate = false;
}
const Nz::RenderTarget* windowRT = window.GetRenderTarget();
frame.Execute([&](Nz::CommandBufferBuilder& builder)
{
Nz::Recti renderRect(0, 0, window.GetSize().x, window.GetSize().y);
@@ -366,7 +366,7 @@ int main()
builder.BeginDebugRegion("Main window rendering", Nz::Color::Green);
{
builder.BeginRenderPass(windowImpl->GetFramebuffer(frame.GetFramebufferIndex()), windowImpl->GetRenderPass(), renderRect, { clearValues[0], clearValues[1] });
builder.BeginRenderPass(windowRT->GetFramebuffer(frame.GetFramebufferIndex()), windowRT->GetRenderPass(), renderRect, { clearValues[0], clearValues[1] });
{
builder.BindIndexBuffer(*indexBufferImpl);
builder.BindPipeline(*pipeline);
@@ -387,8 +387,6 @@ int main()
frame.Present();
window.Display();
// On incrémente le compteur de FPS improvisé
fps++;