Initial visibility, visibility toggle

This commit is contained in:
saschawillems 2018-08-12 18:58:36 +02:00
parent 8f4d137cc4
commit 34a66f8d73

View file

@ -287,6 +287,11 @@ public:
memcpy(uniformBuffer.mapped, &uboVS, sizeof(uboVS)); memcpy(uniformBuffer.mapped, &uboVS, sizeof(uboVS));
} }
void updateConditionalBuffer()
{
memcpy(conditionalBuffer.mapped, &conditionalVisibility, sizeof(conditionalVisibility));
}
void draw() void draw()
{ {
VulkanExampleBase::prepareFrame(); VulkanExampleBase::prepareFrame();
@ -353,7 +358,7 @@ public:
Copy visibility data Copy visibility data
*/ */
for (auto i = 0; i < conditionalVisibility.size(); i++) { for (auto i = 0; i < conditionalVisibility.size(); i++) {
conditionalVisibility[i] = 0; conditionalVisibility[i] = 1;
} }
VK_CHECK_RESULT(conditionalBuffer.map()); VK_CHECK_RESULT(conditionalBuffer.map());
memcpy(conditionalBuffer.mapped, &conditionalVisibility, sizeof(conditionalVisibility)); memcpy(conditionalBuffer.mapped, &conditionalVisibility, sizeof(conditionalVisibility));
@ -386,7 +391,9 @@ public:
{ {
if (overlay->header("Visibility")) { if (overlay->header("Visibility")) {
for (uint32_t i = 0; i < MODEL_ROWS; i++) { for (uint32_t i = 0; i < MODEL_ROWS; i++) {
overlay->checkBox(std::to_string(i).c_str(), &conditionalVisibility[i]); if (overlay->checkBox(std::to_string(i).c_str(), &conditionalVisibility[i])) {
updateConditionalBuffer();
};
if (i < MODEL_ROWS - 1) { ImGui::SameLine(); }; if (i < MODEL_ROWS - 1) { ImGui::SameLine(); };
} }
} }