Update demo code
This commit is contained in:
parent
1727ae8631
commit
f572d229d9
|
|
@ -142,7 +142,7 @@ int main()
|
||||||
|
|
||||||
Nz::RenderPipelineLayoutInfo skyboxPipelineLayoutInfo;
|
Nz::RenderPipelineLayoutInfo skyboxPipelineLayoutInfo;
|
||||||
skyboxPipelineLayoutInfo.bindings.push_back({
|
skyboxPipelineLayoutInfo.bindings.push_back({
|
||||||
0, 0,
|
0, 0, 1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType_All
|
nzsl::ShaderStageType_All
|
||||||
});
|
});
|
||||||
|
|
@ -158,7 +158,6 @@ int main()
|
||||||
Nz::RenderPipelineInfo skyboxPipelineInfo;
|
Nz::RenderPipelineInfo skyboxPipelineInfo;
|
||||||
skyboxPipelineInfo.depthBuffer = true;
|
skyboxPipelineInfo.depthBuffer = true;
|
||||||
skyboxPipelineInfo.depthCompare = Nz::RendererComparison::Equal;
|
skyboxPipelineInfo.depthCompare = Nz::RendererComparison::Equal;
|
||||||
skyboxPipelineInfo.faceCulling = true;
|
|
||||||
skyboxPipelineInfo.faceCulling = Nz::FaceCulling::Front;
|
skyboxPipelineInfo.faceCulling = Nz::FaceCulling::Front;
|
||||||
skyboxPipelineInfo.pipelineLayout = skyboxPipelineLayout;
|
skyboxPipelineInfo.pipelineLayout = skyboxPipelineLayout;
|
||||||
skyboxPipelineInfo.shaderModules.push_back(device->InstantiateShaderModule(nzsl::ShaderStageType::Fragment | nzsl::ShaderStageType::Vertex, Nz::ShaderLanguage::NazaraShader, shaderDir / "skybox.nzsl", states));
|
skyboxPipelineInfo.shaderModules.push_back(device->InstantiateShaderModule(nzsl::ShaderStageType::Fragment | nzsl::ShaderStageType::Vertex, Nz::ShaderLanguage::NazaraShader, shaderDir / "skybox.nzsl", states));
|
||||||
|
|
@ -264,7 +263,7 @@ int main()
|
||||||
|
|
||||||
Nz::RenderPipelineLayoutInfo lightingPipelineLayoutInfo;
|
Nz::RenderPipelineLayoutInfo lightingPipelineLayoutInfo;
|
||||||
lightingPipelineLayoutInfo.bindings.push_back({
|
lightingPipelineLayoutInfo.bindings.push_back({
|
||||||
0, 0,
|
0, 0, 1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType_All
|
nzsl::ShaderStageType_All
|
||||||
});
|
});
|
||||||
|
|
@ -274,6 +273,7 @@ int main()
|
||||||
lightingPipelineLayoutInfo.bindings.push_back({
|
lightingPipelineLayoutInfo.bindings.push_back({
|
||||||
0,
|
0,
|
||||||
i + 1,
|
i + 1,
|
||||||
|
1,
|
||||||
Nz::ShaderBindingType::Texture,
|
Nz::ShaderBindingType::Texture,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
});
|
});
|
||||||
|
|
@ -282,6 +282,7 @@ int main()
|
||||||
lightingPipelineLayoutInfo.bindings.push_back({
|
lightingPipelineLayoutInfo.bindings.push_back({
|
||||||
1,
|
1,
|
||||||
0,
|
0,
|
||||||
|
1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType::Fragment | nzsl::ShaderStageType::Vertex,
|
nzsl::ShaderStageType::Fragment | nzsl::ShaderStageType::Vertex,
|
||||||
});
|
});
|
||||||
|
|
@ -358,13 +359,13 @@ int main()
|
||||||
|
|
||||||
Nz::RenderPipelineLayoutInfo fullscreenPipelineLayoutInfoViewer;
|
Nz::RenderPipelineLayoutInfo fullscreenPipelineLayoutInfoViewer;
|
||||||
fullscreenPipelineLayoutInfoViewer.bindings.push_back({
|
fullscreenPipelineLayoutInfoViewer.bindings.push_back({
|
||||||
0, 0,
|
0, 0, 1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType_All
|
nzsl::ShaderStageType_All
|
||||||
});
|
});
|
||||||
|
|
||||||
fullscreenPipelineLayoutInfoViewer.bindings.push_back({
|
fullscreenPipelineLayoutInfoViewer.bindings.push_back({
|
||||||
0, 1,
|
0, 1, 1,
|
||||||
Nz::ShaderBindingType::Texture,
|
Nz::ShaderBindingType::Texture,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
});
|
});
|
||||||
|
|
@ -384,7 +385,7 @@ int main()
|
||||||
Nz::RenderPipelineLayoutInfo gaussianBlurPipelineLayoutInfo = fullscreenPipelineLayoutInfoViewer;
|
Nz::RenderPipelineLayoutInfo gaussianBlurPipelineLayoutInfo = fullscreenPipelineLayoutInfoViewer;
|
||||||
|
|
||||||
gaussianBlurPipelineLayoutInfo.bindings.push_back({
|
gaussianBlurPipelineLayoutInfo.bindings.push_back({
|
||||||
0, 2,
|
0, 2, 1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
});
|
});
|
||||||
|
|
@ -437,19 +438,19 @@ int main()
|
||||||
|
|
||||||
Nz::RenderPipelineLayoutInfo bloomBlendPipelineLayoutInfo;
|
Nz::RenderPipelineLayoutInfo bloomBlendPipelineLayoutInfo;
|
||||||
bloomBlendPipelineLayoutInfo.bindings.push_back({
|
bloomBlendPipelineLayoutInfo.bindings.push_back({
|
||||||
0, 0,
|
0, 0, 1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType_All
|
nzsl::ShaderStageType_All
|
||||||
});
|
});
|
||||||
|
|
||||||
/*bloomBlendPipelineLayoutInfo.bindings.push_back({
|
/*bloomBlendPipelineLayoutInfo.bindings.push_back({
|
||||||
0, 1,
|
0, 1, 1,
|
||||||
Nz::ShaderBindingType::Texture,
|
Nz::ShaderBindingType::Texture,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
});*/
|
});*/
|
||||||
|
|
||||||
bloomBlendPipelineLayoutInfo.bindings.push_back({
|
bloomBlendPipelineLayoutInfo.bindings.push_back({
|
||||||
0, 2,
|
0, 2, 1,
|
||||||
Nz::ShaderBindingType::Texture,
|
Nz::ShaderBindingType::Texture,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
});
|
});
|
||||||
|
|
@ -473,7 +474,7 @@ int main()
|
||||||
Nz::RenderPipelineLayoutInfo fullscreenPipelineLayoutInfo;
|
Nz::RenderPipelineLayoutInfo fullscreenPipelineLayoutInfo;
|
||||||
|
|
||||||
fullscreenPipelineLayoutInfo.bindings.push_back({
|
fullscreenPipelineLayoutInfo.bindings.push_back({
|
||||||
0, 0,
|
0, 0, 1,
|
||||||
Nz::ShaderBindingType::Texture,
|
Nz::ShaderBindingType::Texture,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
});
|
});
|
||||||
|
|
@ -491,17 +492,17 @@ int main()
|
||||||
godraysPipelineLayoutInfo.bindings = {
|
godraysPipelineLayoutInfo.bindings = {
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
0, 0,
|
0, 0, 1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0, 1,
|
0, 1, 1,
|
||||||
Nz::ShaderBindingType::UniformBuffer,
|
Nz::ShaderBindingType::UniformBuffer,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0, 2,
|
0, 2, 1,
|
||||||
Nz::ShaderBindingType::Texture,
|
Nz::ShaderBindingType::Texture,
|
||||||
nzsl::ShaderStageType::Fragment,
|
nzsl::ShaderStageType::Fragment,
|
||||||
},
|
},
|
||||||
|
|
@ -557,7 +558,6 @@ int main()
|
||||||
meshPrimitiveParams.vertexDeclaration
|
meshPrimitiveParams.vertexDeclaration
|
||||||
});
|
});
|
||||||
lightingPipelineInfo.depthBuffer = false;
|
lightingPipelineInfo.depthBuffer = false;
|
||||||
lightingPipelineInfo.faceCulling = true;
|
|
||||||
lightingPipelineInfo.faceCulling = Nz::FaceCulling::Front;
|
lightingPipelineInfo.faceCulling = Nz::FaceCulling::Front;
|
||||||
lightingPipelineInfo.stencilTest = true;
|
lightingPipelineInfo.stencilTest = true;
|
||||||
lightingPipelineInfo.stencilBack.compare = Nz::RendererComparison::NotEqual;
|
lightingPipelineInfo.stencilBack.compare = Nz::RendererComparison::NotEqual;
|
||||||
|
|
@ -580,7 +580,7 @@ int main()
|
||||||
stencilPipelineInfo.colorWriteMask = 0;
|
stencilPipelineInfo.colorWriteMask = 0;
|
||||||
stencilPipelineInfo.depthBuffer = true;
|
stencilPipelineInfo.depthBuffer = true;
|
||||||
stencilPipelineInfo.depthWrite = false;
|
stencilPipelineInfo.depthWrite = false;
|
||||||
stencilPipelineInfo.faceCulling = false;
|
stencilPipelineInfo.faceCulling = Nz::FaceCulling::None;
|
||||||
stencilPipelineInfo.stencilTest = true;
|
stencilPipelineInfo.stencilTest = true;
|
||||||
stencilPipelineInfo.stencilFront.compare = Nz::RendererComparison::Always;
|
stencilPipelineInfo.stencilFront.compare = Nz::RendererComparison::Always;
|
||||||
stencilPipelineInfo.stencilFront.depthFail = Nz::StencilOperation::Invert;
|
stencilPipelineInfo.stencilFront.depthFail = Nz::StencilOperation::Invert;
|
||||||
|
|
|
||||||
|
|
@ -148,8 +148,12 @@ int main()
|
||||||
|
|
||||||
entt::entity headingEntity = registry.create();
|
entt::entity headingEntity = registry.create();
|
||||||
{
|
{
|
||||||
|
auto spotLight = std::make_shared<Nz::SpotLight>();
|
||||||
|
spotLight->EnableShadowCasting(true);
|
||||||
|
spotLight->UpdateShadowMapSize(1024);
|
||||||
|
|
||||||
auto& entityLight = registry.emplace<Nz::LightComponent>(playerEntity);
|
auto& entityLight = registry.emplace<Nz::LightComponent>(playerEntity);
|
||||||
entityLight.AttachLight(std::make_shared<Nz::SpotLight>(), 1);
|
entityLight.AttachLight(std::move(spotLight), 1);
|
||||||
|
|
||||||
auto& entityGfx = registry.emplace<Nz::GraphicsComponent>(playerEntity);
|
auto& entityGfx = registry.emplace<Nz::GraphicsComponent>(playerEntity);
|
||||||
entityGfx.AttachRenderable(model, 1);
|
entityGfx.AttachRenderable(model, 1);
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,7 @@ int main()
|
||||||
|
|
||||||
Nz::RenderPipelineInfo pipelineInfo;
|
Nz::RenderPipelineInfo pipelineInfo;
|
||||||
pipelineInfo.pipelineLayout = renderPipelineLayout;
|
pipelineInfo.pipelineLayout = renderPipelineLayout;
|
||||||
pipelineInfo.faceCulling = true;
|
pipelineInfo.faceCulling = Nz::FaceCulling::Back;
|
||||||
|
|
||||||
pipelineInfo.depthBuffer = true;
|
pipelineInfo.depthBuffer = true;
|
||||||
pipelineInfo.shaderModules.emplace_back(fragVertShader);
|
pipelineInfo.shaderModules.emplace_back(fragVertShader);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue