Inherited key handler (Android buttons), dipslay lod level on text overlay
This commit is contained in:
parent
3b7e57c03f
commit
0b972e51a4
1 changed files with 29 additions and 15 deletions
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue