mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-25 16:30:15 +00:00
Fix WMO wall collision, normal mapping, POM backfill, and M2/WMO rendering performance
- Fix MOPY flag check (0x08 not 0x01) for proper wall collision detection - Cap MAX_PUSH to PLAYER_RADIUS to prevent gradual clip-through - Fix WMO doodad quaternion component ordering (X/Y swap) - Linear normal map strength blend in shader for smooth slider control - Enable shadow sampling for interior WMO groups (covered outdoor areas) - Backfill deferred normal/height maps after streaming with descriptor rebind - M2: prepareRender only iterates animated instances, bone dirty flag - M2: remove worker thread VMA allocation, skip unready bone instances - WMO: persistent visibility vectors, sequential culling - Add FSR EASU/RCAS shaders
This commit is contained in:
parent
16c6c2b6a0
commit
a4966e486f
25 changed files with 1467 additions and 352 deletions
|
|
@ -84,6 +84,7 @@ bool Window::initialize() {
|
|||
|
||||
// Initialize Vulkan context
|
||||
vkContext = std::make_unique<rendering::VkContext>();
|
||||
vkContext->setVsync(vsync);
|
||||
if (!vkContext->initialize(window)) {
|
||||
LOG_ERROR("Failed to initialize Vulkan context");
|
||||
return false;
|
||||
|
|
@ -158,11 +159,13 @@ void Window::setFullscreen(bool enable) {
|
|||
}
|
||||
}
|
||||
|
||||
void Window::setVsync([[maybe_unused]] bool enable) {
|
||||
// VSync in Vulkan is controlled by present mode (set at swapchain creation)
|
||||
// For now, store the preference — applied on next swapchain recreation
|
||||
void Window::setVsync(bool enable) {
|
||||
vsync = enable;
|
||||
LOG_INFO("VSync preference set to ", enable ? "on" : "off", " (applied on swapchain recreation)");
|
||||
if (vkContext) {
|
||||
vkContext->setVsync(enable);
|
||||
vkContext->markSwapchainDirty();
|
||||
}
|
||||
LOG_INFO("VSync ", enable ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
void Window::applyResolution(int w, int h) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue