Skip to content

Commit

Permalink
Implement viewChanged() in multiple examples for proper window resize…
Browse files Browse the repository at this point in the history
… handling, fix triangle example resizing on macOS
  • Loading branch information
SRSaunders committed Jul 7, 2022
1 parent b2f501d commit 279c954
Show file tree
Hide file tree
Showing 42 changed files with 240 additions and 37 deletions.
6 changes: 6 additions & 0 deletions examples/computeshader/computeshader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -654,6 +654,12 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
camera.setPerspective(60.0f, (float)width * 0.5f / (float)height, 1.0f, 256.0f);
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
5 changes: 5 additions & 0 deletions examples/conditionalrender/conditionalrender.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Visibility")) {
Expand Down
6 changes: 5 additions & 1 deletion examples/debugmarker/debugmarker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,10 @@ class VulkanExample : public VulkanExampleBase
updateUniformBuffers();
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
Expand All @@ -796,4 +800,4 @@ class VulkanExample : public VulkanExampleBase
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
5 changes: 5 additions & 0 deletions examples/deferred/deferred.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -809,6 +809,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBufferOffscreen();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
5 changes: 5 additions & 0 deletions examples/deferredmultisampling/deferredmultisampling.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -647,6 +647,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBufferOffscreen();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
5 changes: 5 additions & 0 deletions examples/deferredshadows/deferredshadows.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -808,6 +808,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBufferOffscreen();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
5 changes: 5 additions & 0 deletions examples/descriptorindexing/descriptorindexing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,11 @@ class VulkanExample : public VulkanExampleBase
updateUniformBuffersCamera();
}

virtual void viewChanged()
{
updateUniformBuffersCamera();
}

};

VULKAN_EXAMPLE_MAIN()
8 changes: 7 additions & 1 deletion examples/displacement/displacement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,12 @@ class VulkanExample : public VulkanExampleBase
updateUniformBuffers();
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand All @@ -408,4 +414,4 @@ class VulkanExample : public VulkanExampleBase
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
3 changes: 2 additions & 1 deletion examples/distancefieldfonts/distancefieldfonts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -643,6 +643,7 @@ class VulkanExample : public VulkanExampleBase

virtual void viewChanged()
{
camera.setPerspective(splitScreen ? 30.0f : 45.0f, (float)width / (float)(height * ((splitScreen) ? 0.5f : 1.0f)), 1.0f, 256.0f);
updateUniformBuffers();
}

Expand All @@ -663,4 +664,4 @@ class VulkanExample : public VulkanExampleBase
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
5 changes: 5 additions & 0 deletions examples/gltfloading/gltfloading.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
7 changes: 6 additions & 1 deletion examples/gltfscenerendering/gltfscenerendering.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,11 @@ void VulkanExample::render()
}
}

void VulkanExample::viewChanged()
{
updateUniformBuffers();
}

void VulkanExample::OnUpdateUIOverlay(vks::UIOverlay* overlay)
{
if (overlay->header("Visibility")) {
Expand Down Expand Up @@ -659,4 +664,4 @@ void VulkanExample::OnUpdateUIOverlay(vks::UIOverlay* overlay)
}
}

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
1 change: 1 addition & 0 deletions examples/gltfscenerendering/gltfscenerendering.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,5 +162,6 @@ class VulkanExample : public VulkanExampleBase
void updateUniformBuffers();
void prepare();
virtual void render();
virtual void viewChanged();
virtual void OnUpdateUIOverlay(vks::UIOverlay* overlay);
};
7 changes: 6 additions & 1 deletion examples/gltfskinning/gltfskinning.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,11 @@ void VulkanExample::render()
}
}

void VulkanExample::viewChanged()
{
updateUniformBuffers();
}

void VulkanExample::OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings"))
Expand All @@ -1006,4 +1011,4 @@ void VulkanExample::OnUpdateUIOverlay(vks::UIOverlay *overlay)
}
}

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
1 change: 1 addition & 0 deletions examples/gltfskinning/gltfskinning.h
Original file line number Diff line number Diff line change
Expand Up @@ -232,5 +232,6 @@ class VulkanExample : public VulkanExampleBase
void updateUniformBuffers();
void prepare();
virtual void render();
virtual void viewChanged();
virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay);
};
5 changes: 5 additions & 0 deletions examples/hdr/hdr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -870,6 +870,11 @@ class VulkanExample : public VulkanExampleBase
updateUniformBuffers();
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
7 changes: 6 additions & 1 deletion examples/indirectdraw/indirectdraw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffer(true);
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (!vulkanDevice->features.multiDrawIndirect) {
Expand All @@ -512,4 +517,4 @@ class VulkanExample : public VulkanExampleBase
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
7 changes: 6 additions & 1 deletion examples/inlineuniformblocks/inlineuniformblocks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,11 @@ class VulkanExample : public VulkanExampleBase
updateUniformBuffers();
}

virtual void viewChanged()
{
updateUniformBuffers();
}

/*
[POI] Update descriptor sets at runtime
*/
Expand Down Expand Up @@ -401,4 +406,4 @@ class VulkanExample : public VulkanExampleBase

};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
5 changes: 5 additions & 0 deletions examples/inputattachments/inputattachments.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -606,6 +606,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
7 changes: 6 additions & 1 deletion examples/instancing/instancing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffer(true);
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Statistics")) {
Expand All @@ -490,4 +495,4 @@ class VulkanExample : public VulkanExampleBase
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
5 changes: 5 additions & 0 deletions examples/multisampling/multisampling.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

// Returns the maximum sample count usable by the platform
VkSampleCountFlagBits getMaxUsableSampleCount()
{
Expand Down
7 changes: 6 additions & 1 deletion examples/multithreading/multithreading.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateMatrices();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Statistics")) {
Expand All @@ -539,4 +544,4 @@ class VulkanExample : public VulkanExampleBase
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
5 changes: 5 additions & 0 deletions examples/multiview/multiview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -738,6 +738,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
4 changes: 2 additions & 2 deletions examples/oit/oit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ class VulkanExample : public VulkanExampleBase
vkUpdateDescriptorSets(device, static_cast<uint32_t>(writeDescriptorSets.size()), writeDescriptorSets.data(), 0, NULL);
}

void buildCommandBuffers()
void buildCommandBuffers() override
{
if (resized)
return;
Expand Down Expand Up @@ -656,4 +656,4 @@ class VulkanExample : public VulkanExampleBase
VkDeviceSize objectUniformBufferSize;
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
7 changes: 6 additions & 1 deletion examples/particlefire/particlefire.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,11 @@ class VulkanExample : public VulkanExampleBase
updateUniformBuffers();
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
5 changes: 5 additions & 0 deletions examples/pbrtexture/pbrtexture.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1340,6 +1340,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
8 changes: 7 additions & 1 deletion examples/pipelines/pipelines.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,12 @@ class VulkanExample: public VulkanExampleBase
}
}

virtual void viewChanged()
{
camera.setPerspective(60.0f, (float)(width / 3.0f) / (float)height, 0.1f, 256.0f);
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (!deviceFeatures.fillModeNonSolid) {
Expand All @@ -344,4 +350,4 @@ class VulkanExample: public VulkanExampleBase
}
};

VULKAN_EXAMPLE_MAIN()
VULKAN_EXAMPLE_MAIN()
5 changes: 5 additions & 0 deletions examples/pushdescriptors/pushdescriptors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,11 @@ class VulkanExample : public VulkanExampleBase
}
}

virtual void viewChanged()
{
updateUniformBuffers();
}

virtual void OnUpdateUIOverlay(vks::UIOverlay *overlay)
{
if (overlay->header("Settings")) {
Expand Down
Loading

0 comments on commit 279c954

Please sign in to comment.