Skip to content

Commit 2bca220

Browse files
committed
more fixes for examples 06 and 07
1 parent ddf41b6 commit 2bca220

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

examples_tests/06.MeshLoaders/main.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,18 @@ class MeshLoadersApp : public ApplicationBase
196196

197197
quantNormalCache->saveCacheToFile<asset::EF_A2B10G10R10_SNORM_PACK32>(system.get(), sharedOutputCWD / "normalCache101010.sse");
198198
}
199+
200+
// Fix FrontFace and BlendParams for meshBuffers
201+
for (size_t i = 0ull; i < meshRaw->getMeshBuffers().size(); ++i)
202+
{
203+
auto& meshBuffer = meshRaw->getMeshBuffers().begin()[i];
204+
205+
for (size_t i = 0ull; i < nbl::asset::SBlendParams::MAX_COLOR_ATTACHMENT_COUNT; i++)
206+
meshBuffer->getPipeline()->getBlendParams().blendParams[i].attachmentEnabled = (i == 0ull);
207+
208+
meshBuffer->getPipeline()->getRasterizationParams().frontFaceIsCCW = false;
209+
}
210+
199211
// we can safely assume that all meshbuffers within mesh loaded from OBJ has same DS1 layout (used for camera-specific data)
200212
firstMeshBuffer = *meshRaw->getMeshBuffers().begin();
201213
pipelineMetadata = metaOBJ->getAssetSpecificMetadata(firstMeshBuffer->getPipeline());

examples_tests/07.SubpassBaking/main.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
using namespace nbl;
1515
using namespace core;
16+
using namespace ui;
1617

1718
int main(int argc, char** argv)
1819
{
@@ -28,7 +29,7 @@ int main(int argc, char** argv)
2829
const auto swapchainImageUsage = static_cast<asset::IImage::E_USAGE_FLAGS>(asset::IImage::EUF_COLOR_ATTACHMENT_BIT);
2930
const video::ISurface::SFormat surfaceFormat(asset::EF_B8G8R8A8_SRGB, asset::ECP_COUNT, asset::EOTF_UNKNOWN);
3031

31-
CommonAPI::InitWithDefaultExt(initOutput, video::EAT_OPENGL, "MeshLoaders", WIN_W, WIN_H, SC_IMG_COUNT, swapchainImageUsage, surfaceFormat, nbl::asset::EF_D32_SFLOAT);
32+
CommonAPI::InitWithDefaultExt(initOutput, video::EAT_VULKAN, "MeshLoaders", WIN_W, WIN_H, SC_IMG_COUNT, swapchainImageUsage, surfaceFormat, nbl::asset::EF_D32_SFLOAT);
3233
auto window = std::move(initOutput.window);
3334
auto gl = std::move(initOutput.apiConnection);
3435
auto surface = std::move(initOutput.surface);
@@ -395,7 +396,8 @@ int main(int argc, char** argv)
395396
const auto& viewMatrix = camera.getViewMatrix();
396397
const auto& viewProjectionMatrix = camera.getConcatenatedMatrix();
397398

398-
core::vector<uint8_t> uboData(cameraUBO->getSize());
399+
const size_t camUboSize = cameraUBO->getCachedCreationParams().declaredSize;
400+
core::vector<uint8_t> uboData(camUboSize);
399401
for (const auto& shdrIn : pipelineMetadata->m_inputSemantics)
400402
{
401403
if (shdrIn.descriptorSection.type==asset::IRenderpassIndependentPipelineMetadata::ShaderInput::ET_UNIFORM_BUFFER && shdrIn.descriptorSection.uniformBufferObject.set==1u && shdrIn.descriptorSection.uniformBufferObject.binding==cameraUBOBinding)
@@ -419,7 +421,7 @@ int main(int argc, char** argv)
419421
}
420422
}
421423
}
422-
commandBuffer->updateBuffer(cameraUBO.get(),0ull,cameraUBO->getSize(),uboData.data());
424+
commandBuffer->updateBuffer(cameraUBO.get(),0ull,camUboSize,uboData.data());
423425
}
424426

425427
// renderpass

0 commit comments

Comments
 (0)