Split buffer class into header and implementation
Moved include to base class
This commit is contained in:
parent
abd68cc451
commit
122288fe25
57 changed files with 188 additions and 214 deletions
137
base/VulkanBuffer.cpp
Normal file
137
base/VulkanBuffer.cpp
Normal file
|
|
@ -0,0 +1,137 @@
|
||||||
|
/*
|
||||||
|
* Vulkan buffer class
|
||||||
|
*
|
||||||
|
* Encapsulates a Vulkan buffer
|
||||||
|
*
|
||||||
|
* Copyright (C) 2016 by Sascha Willems - www.saschawillems.de
|
||||||
|
*
|
||||||
|
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "VulkanBuffer.h"
|
||||||
|
|
||||||
|
namespace vks
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Map a memory range of this buffer. If successful, mapped points to the specified buffer range.
|
||||||
|
*
|
||||||
|
* @param size (Optional) Size of the memory range to map. Pass VK_WHOLE_SIZE to map the complete buffer range.
|
||||||
|
* @param offset (Optional) Byte offset from beginning
|
||||||
|
*
|
||||||
|
* @return VkResult of the buffer mapping call
|
||||||
|
*/
|
||||||
|
VkResult Buffer::map(VkDeviceSize size, VkDeviceSize offset)
|
||||||
|
{
|
||||||
|
return vkMapMemory(device, memory, offset, size, 0, &mapped);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unmap a mapped memory range
|
||||||
|
*
|
||||||
|
* @note Does not return a result as vkUnmapMemory can't fail
|
||||||
|
*/
|
||||||
|
void Buffer::unmap()
|
||||||
|
{
|
||||||
|
if (mapped)
|
||||||
|
{
|
||||||
|
vkUnmapMemory(device, memory);
|
||||||
|
mapped = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attach the allocated memory block to the buffer
|
||||||
|
*
|
||||||
|
* @param offset (Optional) Byte offset (from the beginning) for the memory region to bind
|
||||||
|
*
|
||||||
|
* @return VkResult of the bindBufferMemory call
|
||||||
|
*/
|
||||||
|
VkResult Buffer::bind(VkDeviceSize offset)
|
||||||
|
{
|
||||||
|
return vkBindBufferMemory(device, buffer, memory, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup the default descriptor for this buffer
|
||||||
|
*
|
||||||
|
* @param size (Optional) Size of the memory range of the descriptor
|
||||||
|
* @param offset (Optional) Byte offset from beginning
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void Buffer::setupDescriptor(VkDeviceSize size, VkDeviceSize offset)
|
||||||
|
{
|
||||||
|
descriptor.offset = offset;
|
||||||
|
descriptor.buffer = buffer;
|
||||||
|
descriptor.range = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copies the specified data to the mapped buffer
|
||||||
|
*
|
||||||
|
* @param data Pointer to the data to copy
|
||||||
|
* @param size Size of the data to copy in machine units
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void Buffer::copyTo(void* data, VkDeviceSize size)
|
||||||
|
{
|
||||||
|
assert(mapped);
|
||||||
|
memcpy(mapped, data, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flush a memory range of the buffer to make it visible to the device
|
||||||
|
*
|
||||||
|
* @note Only required for non-coherent memory
|
||||||
|
*
|
||||||
|
* @param size (Optional) Size of the memory range to flush. Pass VK_WHOLE_SIZE to flush the complete buffer range.
|
||||||
|
* @param offset (Optional) Byte offset from beginning
|
||||||
|
*
|
||||||
|
* @return VkResult of the flush call
|
||||||
|
*/
|
||||||
|
VkResult Buffer::flush(VkDeviceSize size, VkDeviceSize offset)
|
||||||
|
{
|
||||||
|
VkMappedMemoryRange mappedRange = {};
|
||||||
|
mappedRange.sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
|
||||||
|
mappedRange.memory = memory;
|
||||||
|
mappedRange.offset = offset;
|
||||||
|
mappedRange.size = size;
|
||||||
|
return vkFlushMappedMemoryRanges(device, 1, &mappedRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Invalidate a memory range of the buffer to make it visible to the host
|
||||||
|
*
|
||||||
|
* @note Only required for non-coherent memory
|
||||||
|
*
|
||||||
|
* @param size (Optional) Size of the memory range to invalidate. Pass VK_WHOLE_SIZE to invalidate the complete buffer range.
|
||||||
|
* @param offset (Optional) Byte offset from beginning
|
||||||
|
*
|
||||||
|
* @return VkResult of the invalidate call
|
||||||
|
*/
|
||||||
|
VkResult Buffer::invalidate(VkDeviceSize size, VkDeviceSize offset)
|
||||||
|
{
|
||||||
|
VkMappedMemoryRange mappedRange = {};
|
||||||
|
mappedRange.sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
|
||||||
|
mappedRange.memory = memory;
|
||||||
|
mappedRange.offset = offset;
|
||||||
|
mappedRange.size = size;
|
||||||
|
return vkInvalidateMappedMemoryRanges(device, 1, &mappedRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release all Vulkan resources held by this buffer
|
||||||
|
*/
|
||||||
|
void Buffer::destroy()
|
||||||
|
{
|
||||||
|
if (buffer)
|
||||||
|
{
|
||||||
|
vkDestroyBuffer(device, buffer, nullptr);
|
||||||
|
}
|
||||||
|
if (memory)
|
||||||
|
{
|
||||||
|
vkFreeMemory(device, memory, nullptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
46
base/VulkanBuffer.h
Normal file
46
base/VulkanBuffer.h
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
* Vulkan buffer class
|
||||||
|
*
|
||||||
|
* Encapsulates a Vulkan buffer
|
||||||
|
*
|
||||||
|
* Copyright (C) 2016 by Sascha Willems - www.saschawillems.de
|
||||||
|
*
|
||||||
|
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "vulkan/vulkan.h"
|
||||||
|
#include "VulkanTools.h"
|
||||||
|
|
||||||
|
namespace vks
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @brief Encapsulates access to a Vulkan buffer backed up by device memory
|
||||||
|
* @note To be filled by an external source like the VulkanDevice
|
||||||
|
*/
|
||||||
|
struct Buffer
|
||||||
|
{
|
||||||
|
VkDevice device;
|
||||||
|
VkBuffer buffer = VK_NULL_HANDLE;
|
||||||
|
VkDeviceMemory memory = VK_NULL_HANDLE;
|
||||||
|
VkDescriptorBufferInfo descriptor;
|
||||||
|
VkDeviceSize size = 0;
|
||||||
|
VkDeviceSize alignment = 0;
|
||||||
|
void* mapped = nullptr;
|
||||||
|
/** @brief Usage flags to be filled by external source at buffer creation (to query at some later point) */
|
||||||
|
VkBufferUsageFlags usageFlags;
|
||||||
|
/** @brief Memory property flags to be filled by external source at buffer creation (to query at some later point) */
|
||||||
|
VkMemoryPropertyFlags memoryPropertyFlags;
|
||||||
|
VkResult map(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0);
|
||||||
|
void unmap();
|
||||||
|
VkResult bind(VkDeviceSize offset = 0);
|
||||||
|
void setupDescriptor(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0);
|
||||||
|
void copyTo(void* data, VkDeviceSize size);
|
||||||
|
VkResult flush(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0);
|
||||||
|
VkResult invalidate(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0);
|
||||||
|
void destroy();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,161 +0,0 @@
|
||||||
/*
|
|
||||||
* Vulkan buffer class
|
|
||||||
*
|
|
||||||
* Encapsulates a Vulkan buffer
|
|
||||||
*
|
|
||||||
* Copyright (C) 2016 by Sascha Willems - www.saschawillems.de
|
|
||||||
*
|
|
||||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "vulkan/vulkan.h"
|
|
||||||
#include "VulkanTools.h"
|
|
||||||
|
|
||||||
namespace vks
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @brief Encapsulates access to a Vulkan buffer backed up by device memory
|
|
||||||
* @note To be filled by an external source like the VulkanDevice
|
|
||||||
*/
|
|
||||||
struct Buffer
|
|
||||||
{
|
|
||||||
VkDevice device;
|
|
||||||
VkBuffer buffer = VK_NULL_HANDLE;
|
|
||||||
VkDeviceMemory memory = VK_NULL_HANDLE;
|
|
||||||
VkDescriptorBufferInfo descriptor;
|
|
||||||
VkDeviceSize size = 0;
|
|
||||||
VkDeviceSize alignment = 0;
|
|
||||||
void* mapped = nullptr;
|
|
||||||
|
|
||||||
/** @brief Usage flags to be filled by external source at buffer creation (to query at some later point) */
|
|
||||||
VkBufferUsageFlags usageFlags;
|
|
||||||
/** @brief Memory property flags to be filled by external source at buffer creation (to query at some later point) */
|
|
||||||
VkMemoryPropertyFlags memoryPropertyFlags;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Map a memory range of this buffer. If successful, mapped points to the specified buffer range.
|
|
||||||
*
|
|
||||||
* @param size (Optional) Size of the memory range to map. Pass VK_WHOLE_SIZE to map the complete buffer range.
|
|
||||||
* @param offset (Optional) Byte offset from beginning
|
|
||||||
*
|
|
||||||
* @return VkResult of the buffer mapping call
|
|
||||||
*/
|
|
||||||
VkResult map(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0)
|
|
||||||
{
|
|
||||||
return vkMapMemory(device, memory, offset, size, 0, &mapped);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unmap a mapped memory range
|
|
||||||
*
|
|
||||||
* @note Does not return a result as vkUnmapMemory can't fail
|
|
||||||
*/
|
|
||||||
void unmap()
|
|
||||||
{
|
|
||||||
if (mapped)
|
|
||||||
{
|
|
||||||
vkUnmapMemory(device, memory);
|
|
||||||
mapped = nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attach the allocated memory block to the buffer
|
|
||||||
*
|
|
||||||
* @param offset (Optional) Byte offset (from the beginning) for the memory region to bind
|
|
||||||
*
|
|
||||||
* @return VkResult of the bindBufferMemory call
|
|
||||||
*/
|
|
||||||
VkResult bind(VkDeviceSize offset = 0)
|
|
||||||
{
|
|
||||||
return vkBindBufferMemory(device, buffer, memory, offset);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Setup the default descriptor for this buffer
|
|
||||||
*
|
|
||||||
* @param size (Optional) Size of the memory range of the descriptor
|
|
||||||
* @param offset (Optional) Byte offset from beginning
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void setupDescriptor(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0)
|
|
||||||
{
|
|
||||||
descriptor.offset = offset;
|
|
||||||
descriptor.buffer = buffer;
|
|
||||||
descriptor.range = size;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copies the specified data to the mapped buffer
|
|
||||||
*
|
|
||||||
* @param data Pointer to the data to copy
|
|
||||||
* @param size Size of the data to copy in machine units
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void copyTo(void* data, VkDeviceSize size)
|
|
||||||
{
|
|
||||||
assert(mapped);
|
|
||||||
memcpy(mapped, data, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Flush a memory range of the buffer to make it visible to the device
|
|
||||||
*
|
|
||||||
* @note Only required for non-coherent memory
|
|
||||||
*
|
|
||||||
* @param size (Optional) Size of the memory range to flush. Pass VK_WHOLE_SIZE to flush the complete buffer range.
|
|
||||||
* @param offset (Optional) Byte offset from beginning
|
|
||||||
*
|
|
||||||
* @return VkResult of the flush call
|
|
||||||
*/
|
|
||||||
VkResult flush(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0)
|
|
||||||
{
|
|
||||||
VkMappedMemoryRange mappedRange = {};
|
|
||||||
mappedRange.sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
|
|
||||||
mappedRange.memory = memory;
|
|
||||||
mappedRange.offset = offset;
|
|
||||||
mappedRange.size = size;
|
|
||||||
return vkFlushMappedMemoryRanges(device, 1, &mappedRange);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Invalidate a memory range of the buffer to make it visible to the host
|
|
||||||
*
|
|
||||||
* @note Only required for non-coherent memory
|
|
||||||
*
|
|
||||||
* @param size (Optional) Size of the memory range to invalidate. Pass VK_WHOLE_SIZE to invalidate the complete buffer range.
|
|
||||||
* @param offset (Optional) Byte offset from beginning
|
|
||||||
*
|
|
||||||
* @return VkResult of the invalidate call
|
|
||||||
*/
|
|
||||||
VkResult invalidate(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0)
|
|
||||||
{
|
|
||||||
VkMappedMemoryRange mappedRange = {};
|
|
||||||
mappedRange.sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
|
|
||||||
mappedRange.memory = memory;
|
|
||||||
mappedRange.offset = offset;
|
|
||||||
mappedRange.size = size;
|
|
||||||
return vkInvalidateMappedMemoryRanges(device, 1, &mappedRange);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Release all Vulkan resources held by this buffer
|
|
||||||
*/
|
|
||||||
void destroy()
|
|
||||||
{
|
|
||||||
if (buffer)
|
|
||||||
{
|
|
||||||
vkDestroyBuffer(device, buffer, nullptr);
|
|
||||||
}
|
|
||||||
if (memory)
|
|
||||||
{
|
|
||||||
vkFreeMemory(device, memory, nullptr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "vulkan/vulkan.h"
|
#include "vulkan/vulkan.h"
|
||||||
#include "VulkanTools.h"
|
#include "VulkanTools.h"
|
||||||
#include "VulkanBuffer.hpp"
|
#include "VulkanBuffer.h"
|
||||||
|
|
||||||
namespace vks
|
namespace vks
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
#include "vulkan/vulkan.h"
|
#include "vulkan/vulkan.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
#include "VulkanBuffer.h"
|
||||||
#include <ktx.h>
|
#include <ktx.h>
|
||||||
#include <ktxvulkan.h>
|
#include <ktxvulkan.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "VulkanTools.h"
|
#include "VulkanTools.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
#include "VulkanBuffer.h"
|
||||||
|
|
||||||
#if defined(__ANDROID__)
|
#if defined(__ANDROID__)
|
||||||
#include <android/asset_manager.h>
|
#include <android/asset_manager.h>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "VulkanTools.h"
|
#include "VulkanTools.h"
|
||||||
#include "VulkanDebug.h"
|
#include "VulkanDebug.h"
|
||||||
#include "VulkanBuffer.hpp"
|
#include "VulkanBuffer.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
|
|
||||||
#include "../external/imgui/imgui.h"
|
#include "../external/imgui/imgui.h"
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
#include "VulkanDebug.h"
|
#include "VulkanDebug.h"
|
||||||
#include "VulkanUIOverlay.h"
|
#include "VulkanUIOverlay.h"
|
||||||
#include "VulkanSwapChain.h"
|
#include "VulkanSwapChain.h"
|
||||||
|
#include "VulkanBuffer.h"
|
||||||
|
|
||||||
#include "VulkanInitializers.hpp"
|
#include "VulkanInitializers.hpp"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "frustum.hpp"
|
#include "frustum.hpp"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define VERTEX_BUFFER_BIND_ID 0
|
#define VERTEX_BUFFER_BIND_ID 0
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanFrameBuffer.hpp"
|
#include "VulkanFrameBuffer.hpp"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanFrameBuffer.hpp"
|
#include "VulkanFrameBuffer.hpp"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define VERTEX_BUFFER_BIND_ID 0
|
#define VERTEX_BUFFER_BIND_ID 0
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define VERTEX_BUFFER_BIND_ID 0
|
#define VERTEX_BUFFER_BIND_ID 0
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@
|
||||||
#include "vulkan/vulkan.h"
|
#include "vulkan/vulkan.h"
|
||||||
#include "VulkanTools.h"
|
#include "VulkanTools.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
struct Vertex
|
struct Vertex
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
// Ray tracing acceleration structure
|
// Ray tracing acceleration structure
|
||||||
struct AccelerationStructure {
|
struct AccelerationStructure {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
// Ray tracing acceleration structure
|
// Ray tracing acceleration structure
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
// Ray tracing acceleration structure
|
// Ray tracing acceleration structure
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define VERTEX_BUFFER_BIND_ID 0
|
#define VERTEX_BUFFER_BIND_ID 0
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define VERTEX_BUFFER_BIND_ID 0
|
#define VERTEX_BUFFER_BIND_ID 0
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define VERTEX_BUFFER_BIND_ID 0
|
#define VERTEX_BUFFER_BIND_ID 0
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "frustum.hpp"
|
#include "frustum.hpp"
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@
|
||||||
|
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#include "../external/stb/stb_font_consolas_24_latin1.inl"
|
#include "../external/stb/stb_font_consolas_24_latin1.inl"
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include <ktx.h>
|
#include <ktx.h>
|
||||||
#include <ktxvulkan.h>
|
#include <ktxvulkan.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
|
|
||||||
#define VERTEX_BUFFER_BIND_ID 0
|
#define VERTEX_BUFFER_BIND_ID 0
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include <ktx.h>
|
#include <ktx.h>
|
||||||
#include <ktxvulkan.h>
|
#include <ktxvulkan.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include <ktx.h>
|
#include <ktx.h>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanTexture.hpp"
|
#include "VulkanTexture.hpp"
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include <ktx.h>
|
#include <ktx.h>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
#include <ktx.h>
|
#include <ktx.h>
|
||||||
#include <ktxvulkan.h>
|
#include <ktxvulkan.h>
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@
|
||||||
#include <vulkan/vulkan.h>
|
#include <vulkan/vulkan.h>
|
||||||
#include "vulkanexamplebase.h"
|
#include "vulkanexamplebase.h"
|
||||||
#include "VulkanDevice.hpp"
|
#include "VulkanDevice.hpp"
|
||||||
#include "VulkanBuffer.hpp"
|
|
||||||
#include "VulkanglTFModel.h"
|
#include "VulkanglTFModel.h"
|
||||||
|
|
||||||
#define ENABLE_VALIDATION false
|
#define ENABLE_VALIDATION false
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue