Inherited key handler (Android buttons), dipslay lod level on text overlay

This commit is contained in:
saschawillems 2016-06-04 12:03:54 +02:00
parent 3b7e57c03f
commit 0b972e51a4

View file

@ -826,7 +826,6 @@ public:
virtual void viewChanged() virtual void viewChanged()
{ {
vkDeviceWaitIdle(device);
updateUniformBuffers(); updateUniformBuffers();
} }
@ -837,11 +836,38 @@ public:
{ {
uboVS.lodBias = 0.0f; uboVS.lodBias = 0.0f;
} }
if (uboVS.lodBias > 8.0f) if (uboVS.lodBias > texture.mipLevels)
{ {
uboVS.lodBias = 8.0f; uboVS.lodBias = texture.mipLevels;
} }
updateUniformBuffers(); updateUniformBuffers();
updateTextOverlay();
}
virtual void keyPressed(uint32_t keyCode)
{
switch (keyCode)
{
case 0x6B:
case GAMEPAD_BUTTON_R1:
changeLodBias(0.1f);
break;
case 0x6D:
case GAMEPAD_BUTTON_L1:
changeLodBias(-0.1f);
break;
}
}
virtual void getOverlayText(VulkanTextOverlay *textOverlay)
{
std::stringstream ss;
ss << std::setprecision(2) << std::fixed << uboVS.lodBias;
#if defined(__ANDROID__)
textOverlay->addText("LOD bias: " + ss.str() + " (Buttons L1/R1 to change)", 5.0f, 85.0f, VulkanTextOverlay::alignLeft);
#else
textOverlay->addText("LOD bias: " + ss.str() + " (numpad +/- to change)", 5.0f, 85.0f, VulkanTextOverlay::alignLeft);
#endif
} }
}; };
@ -853,18 +879,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (vulkanExample != NULL) if (vulkanExample != NULL)
{ {
vulkanExample->handleMessages(hWnd, uMsg, wParam, lParam); vulkanExample->handleMessages(hWnd, uMsg, wParam, lParam);
if (uMsg == WM_KEYDOWN)
{
switch (wParam)
{
case VK_ADD:
vulkanExample->changeLodBias(0.1f);
break;
case VK_SUBTRACT:
vulkanExample->changeLodBias(-0.1f);
break;
}
}
} }
return (DefWindowProc(hWnd, uMsg, wParam, lParam)); return (DefWindowProc(hWnd, uMsg, wParam, lParam));
} }