Kataglyphis-Renderer documentation¶
Doxygen API Documentation¶
-
class Allocator¶
- #include <Allocator.hpp>
Public Functions
-
Allocator()¶
-
Allocator(const VkDevice &device, const VkPhysicalDevice &physicalDevice, const VkInstance &instance)¶
-
void cleanUp()¶
-
~Allocator()¶
Private Members
-
VmaAllocator vmaAllocator¶
-
Allocator()¶
-
class ASManager¶
- #include <ASManager.hpp>
Public Functions
-
ASManager()¶
-
inline VkAccelerationStructureKHR &getTLAS()¶
-
void createASForScene(VulkanDevice *device, VkCommandPool commandPool, Scene *scene)¶
-
void createBLAS(VulkanDevice *device, VkCommandPool commandPool, Scene *scene)¶
-
void createTLAS(VulkanDevice *device, VkCommandPool commandPool, Scene *scene)¶
-
void cleanUp()¶
-
~ASManager()¶
Private Functions
-
void createSingleBlas(VulkanDevice *device, VkCommandBuffer command_buffer, BuildAccelerationStructure &build_as_structure, VkDeviceAddress scratch_device_or_host_address)¶
-
void createAccelerationStructureInfosBLAS(VulkanDevice *device, BuildAccelerationStructure &build_as_structure, BlasInput &blas_input, VkDeviceSize ¤t_scretch_size, VkDeviceSize ¤t_size)¶
-
void objectToVkGeometryKHR(VulkanDevice *device, Mesh *mesh, VkAccelerationStructureGeometryKHR &acceleration_structure_geometry, VkAccelerationStructureBuildRangeInfoKHR &acceleration_structure_build_range_info)¶
Private Members
-
VulkanDevice *vulkanDevice = {VK_NULL_HANDLE}¶
-
CommandBufferManager commandBufferManager¶
-
VulkanBufferManager vulkanBufferManager¶
-
std::vector<BottomLevelAccelerationStructure> blas¶
-
ASManager()¶
-
struct BlasInput¶
- #include <ASManager.hpp>
-
struct BottomLevelAccelerationStructure¶
- #include <BottomLevelAccelerationStructure.hpp>
-
struct BuildAccelerationStructure¶
- #include <ASManager.hpp>
Public Members
-
VkAccelerationStructureBuildGeometryInfoKHR build_info¶
-
VkAccelerationStructureBuildSizesInfoKHR size_info¶
-
const VkAccelerationStructureBuildRangeInfoKHR *range_info¶
-
BottomLevelAccelerationStructure single_blas¶
-
VkAccelerationStructureBuildGeometryInfoKHR build_info¶
-
class Camera¶
- #include <Camera.hpp>
Public Functions
-
Camera()¶
-
void key_control(bool *keys, float delta_time)¶
-
void mouse_control(float x_change, float y_change)¶
-
inline glm::vec3 get_camera_position() const¶
-
inline glm::vec3 get_camera_direction() const¶
-
inline glm::vec3 get_up_axis() const¶
-
inline glm::vec3 get_right_axis() const¶
-
inline float get_near_plane() const¶
-
inline float get_far_plane() const¶
-
inline float get_fov() const¶
-
inline float get_yaw() const¶
-
glm::mat4 calculate_viewmatrix()¶
-
void set_near_plane(float near_plane)¶
-
void set_far_plane(float far_plane)¶
-
void set_fov(float fov)¶
-
void set_camera_position(glm::vec3 new_camera_position)¶
-
~Camera()¶
Private Functions
-
void update()¶
-
Camera()¶
-
class CommandBufferManager¶
- #include <CommandBufferManager.hpp>
-
class File¶
- #include <File.hpp>
Public Functions
-
explicit File(const std::string &file_location)¶
-
std::string read()¶
-
std::vector<char> readCharSequence()¶
-
std::string getBaseDir()¶
-
~File()¶
Private Members
-
std::string file_location¶
-
explicit File(const std::string &file_location)¶
-
struct GlobalUBO¶
- #include <GlobalUBO.hpp>
-
class GUI¶
- #include <GUI.hpp>
Public Functions
-
void initializeVulkanContext(VulkanDevice *device, const VkInstance &instance, const VkRenderPass &post_render_pass, const VkCommandPool &graphics_command_pool)¶
-
void setUserSelectionForRRT(bool rrtCapabilitiesAvailable)¶
-
void render()¶
-
void cleanUp()¶
-
~GUI()¶
Private Functions
-
void create_gui_context(Window *window, const VkInstance &instance, const VkRenderPass &post_render_pass)¶
-
void create_fonts_and_upload(const VkCommandPool &graphics_command_pool)¶
Private Members
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
VkDescriptorPool gui_descriptor_pool = {VK_NULL_HANDLE}¶
-
CommandBufferManager commandBufferManager¶
-
bool renderUserSelectionForRRT = true¶
-
void initializeVulkanContext(VulkanDevice *device, const VkInstance &instance, const VkRenderPass &post_render_pass, const VkCommandPool &graphics_command_pool)¶
- #include <GUIRendererSharedVars.hpp>
Public Members
- #include <GUISceneSharedVars.hpp>
Public Members
-
class Mesh¶
- #include <Mesh.hpp>
Public Functions
-
Mesh(VulkanDevice *device, VkQueue transfer_queue, VkCommandPool transfer_command_pool, std::vector<Vertex> &vertices, std::vector<uint32_t> &indices, std::vector<unsigned int> &materialIndex, std::vector<ObjMaterial> &materials)¶
-
Mesh()¶
-
void cleanUp()¶
-
inline ObjectDescription &getObjectDescription()¶
-
inline glm::mat4 getModel()¶
-
inline uint32_t getVertexCount()¶
-
inline uint32_t getIndexCount()¶
-
inline VkBuffer &getVertexBuffer()¶
-
inline VkBuffer &getMaterialIDBuffer()¶
-
inline VkBuffer &getIndexBuffer()¶
-
void setModel(glm::mat4 new_model)¶
-
~Mesh()¶
Private Functions
-
void createVertexBuffer(VkQueue transfer_queue, VkCommandPool transfer_command_pool, std::vector<Vertex> &vertices)¶
-
void createIndexBuffer(VkQueue transfer_queue, VkCommandPool transfer_command_pool, std::vector<uint32_t> &indices)¶
-
void createMaterialIDBuffer(VkQueue transfer_queue, VkCommandPool transfer_command_pool, std::vector<unsigned int> &materialIndex)¶
-
void createMaterialBuffer(VkQueue transfer_queue, VkCommandPool transfer_command_pool, std::vector<ObjMaterial> &materials)¶
Private Members
-
VulkanBufferManager vulkanBufferManager¶
-
ObjectDescription object_description = {static_cast<uint64_t>(-1), static_cast<uint64_t>(-1), static_cast<uint64_t>(-1), static_cast<uint64_t>(-1)}¶
-
VulkanBuffer vertexBuffer¶
-
VulkanBuffer indexBuffer¶
-
VulkanBuffer objectDescriptionBuffer¶
-
VulkanBuffer materialIdsBuffer¶
-
VulkanBuffer materialsBuffer¶
-
glm::mat4 model¶
-
uint32_t vertex_count = {static_cast<uint32_t>(-1)}¶
-
uint32_t index_count = {static_cast<uint32_t>(-1)}¶
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
Mesh(VulkanDevice *device, VkQueue transfer_queue, VkCommandPool transfer_command_pool, std::vector<Vertex> &vertices, std::vector<uint32_t> &indices, std::vector<unsigned int> &materialIndex, std::vector<ObjMaterial> &materials)¶
-
class Model¶
- #include <Model.hpp>
Public Functions
-
Model()¶
-
Model(VulkanDevice *device)¶
-
void cleanUp()¶
-
void add_new_mesh(VulkanDevice *device, VkQueue transfer_queue, VkCommandPool command_pool, std::vector<Vertex> &vertices, std::vector<unsigned int> &indices, std::vector<unsigned int> &materialIndex, std::vector<ObjMaterial> &materials)¶
-
inline uint32_t getTextureCount()¶
-
inline std::vector<VkSampler> &getTextureSamplers()¶
-
inline std::vector<std::string> getTextureList()¶
-
inline uint32_t getMeshCount()¶
-
inline glm::mat4 getModel()¶
-
inline uint32_t getCustomInstanceIndex()¶
-
uint32_t getPrimitiveCount()¶
-
inline ObjectDescription getObjectDescription()¶
-
void set_model(glm::mat4 model)¶
-
~Model()¶
-
Model()¶
-
struct ObjectDescription¶
- #include <ObjectDescription.hpp>
-
class ObjLoader¶
- #include <ObjLoader.hpp>
Public Functions
-
ObjLoader(VulkanDevice *device, VkQueue transfer_queue, VkCommandPool command_pool)¶
-
ObjLoader(VulkanDevice *device, VkQueue transfer_queue, VkCommandPool command_pool)¶
-
struct ObjMaterial¶
- #include <ObjMaterial.hpp>
-
class PathTracing¶
- #include <PathTracing.hpp>
Public Functions
-
PathTracing()¶
-
void init(VulkanDevice *device, const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts)¶
-
void shaderHotReload(const std::vector<VkDescriptorSetLayout> &descriptor_set_layouts)¶
-
void recordCommands(VkCommandBuffer &commandBuffer, uint32_t image_index, VulkanImage &vulkanImage, VulkanSwapChain *vulkanSwapChain, const std::vector<VkDescriptorSet> &descriptorSets)¶
-
void cleanUp()¶
-
~PathTracing()¶
Public Members
-
uint32_t maxComputeWorkGroupCount[3] = {static_cast<uint32_t>(-1), static_cast<uint32_t>(-1), static_cast<uint32_t>(-1)}¶
-
uint32_t maxComputeWorkGroupInvocations = -1¶
-
uint32_t maxComputeWorkGroupSize[3] = {static_cast<uint32_t>(-1), static_cast<uint32_t>(-1), static_cast<uint32_t>(-1)}¶
Private Functions
-
void createQueryPool()¶
-
void createPipeline(const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts)¶
Private Members
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
VkPipelineLayout pipeline_layout = {VK_NULL_HANDLE}¶
-
VkPipeline pipeline = {VK_NULL_HANDLE}¶
-
VkPushConstantRange pc_range = {VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM, 0, 0}¶
-
PushConstantPathTracing push_constant = {glm::vec4(0.f), 0, 0}¶
-
float timeStampPeriod = {0}¶
-
uint64_t pathTracingTiming = {static_cast<uint64_t>(-1.f)}¶
-
uint32_t query_count = {2}¶
-
std::vector<uint64_t> queryResults¶
-
VkQueryPool queryPool = {VK_NULL_HANDLE}¶
-
struct PathTracing computeLimits¶
-
SpecializationData specializationData¶
-
PathTracing()¶
-
class PostStage¶
- #include <PostStage.hpp>
Public Functions
-
PostStage()¶
-
void init(VulkanDevice *device, VulkanSwapChain *vulkanSwapChain, const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts)¶
-
void shaderHotReload(const std::vector<VkDescriptorSetLayout> &descriptor_set_layouts)¶
-
inline VkRenderPass &getRenderPass()¶
-
inline VkSampler &getOffscreenSampler()¶
-
void recordCommands(VkCommandBuffer &commandBuffer, uint32_t image_index, const std::vector<VkDescriptorSet> &descriptorSets)¶
-
void cleanUp()¶
-
~PostStage()¶
Private Functions
-
void createDepthbufferImage()¶
-
void createOffscreenTextureSampler()¶
-
void createPushConstantRange()¶
-
void createRenderpass()¶
-
void createGraphicsPipeline(const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts)¶
-
void createFramebuffer()¶
Private Members
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
VulkanSwapChain *vulkanSwapChain = {VK_NULL_HANDLE}¶
-
std::vector<VkFramebuffer> framebuffers¶
-
VkFormat depth_format = {VK_FORMAT_UNDEFINED}¶
-
VkSampler offscreenTextureSampler¶
-
VkPushConstantRange push_constant_range = {VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM, 0, 0}¶
-
VkRenderPass render_pass = {VK_NULL_HANDLE}¶
-
VkPipeline graphics_pipeline = {VK_NULL_HANDLE}¶
-
VkPipelineLayout pipeline_layout = {VK_NULL_HANDLE}¶
-
PostStage()¶
-
struct PushConstantPathTracing¶
- #include <PushConstantPathTracing.hpp>
-
struct PushConstantPost¶
- #include <PushConstantPost.hpp>
Public Members
-
float aspect_ratio¶
-
float aspect_ratio¶
-
struct PushConstantRasterizer¶
- #include <PushConstantRasterizer.hpp>
Public Members
-
mat4 model¶
-
mat4 model¶
-
struct PushConstantRaytracing¶
- #include <PushConstantRayTracing.hpp>
Public Members
-
vec4 clear_color¶
-
vec4 clear_color¶
-
struct QueueFamilyIndices¶
- #include <QueueFamilyIndices.hpp>
Public Functions
-
inline bool is_valid()¶
-
inline bool is_valid()¶
-
class Rasterizer¶
- #include <Rasterizer.hpp>
Public Functions
-
Rasterizer()¶
-
void init(VulkanDevice *device, VulkanSwapChain *vulkanSwapChain, const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts, VkCommandPool &commandPool)¶
-
void shaderHotReload(const std::vector<VkDescriptorSetLayout> &descriptor_set_layouts)¶
-
void setPushConstant(PushConstantRasterizer pushConstant)¶
-
void recordCommands(VkCommandBuffer &commandBuffer, uint32_t image_index, Scene *scene, const std::vector<VkDescriptorSet> &descriptorSets)¶
-
void cleanUp()¶
-
~Rasterizer()¶
Private Functions
-
void createTextures(VkCommandPool &commandPool)¶
-
void createGraphicsPipeline(const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts)¶
-
void createRenderPass()¶
-
void createFramebuffer()¶
-
void createPushConstantRange()¶
Private Members
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
VulkanSwapChain *vulkanSwapChain = {VK_NULL_HANDLE}¶
-
CommandBufferManager commandBufferManager¶
-
std::vector<VkFramebuffer> framebuffer¶
-
VkPushConstantRange push_constant_range = {VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM, 0, 0}¶
-
PushConstantRasterizer pushConstant = {glm::mat4(1.f)}¶
-
VkPipeline graphics_pipeline = {VK_NULL_HANDLE}¶
-
VkPipelineLayout pipeline_layout = {VK_NULL_HANDLE}¶
-
VkRenderPass render_pass = {VK_NULL_HANDLE}¶
-
Rasterizer()¶
-
class Raytracing¶
- #include <Raytracing.hpp>
Public Functions
-
Raytracing()¶
-
void init(VulkanDevice *device, const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts)¶
-
void shaderHotReload(const std::vector<VkDescriptorSetLayout> &descriptor_set_layouts)¶
-
void recordCommands(VkCommandBuffer &commandBuffer, VulkanSwapChain *vulkanSwapChain, const std::vector<VkDescriptorSet> &descriptorSets)¶
-
void cleanUp()¶
-
~Raytracing()¶
Private Functions
-
void createPCRange()¶
-
void createGraphicsPipeline(const std::vector<VkDescriptorSetLayout> &descriptorSetLayouts)¶
-
void createSBT()¶
Private Members
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
VulkanSwapChain *vulkanSwapChain = {VK_NULL_HANDLE}¶
-
VkPipeline graphicsPipeline = {VK_NULL_HANDLE}¶
-
VkPipelineLayout pipeline_layout = {VK_NULL_HANDLE}¶
-
PushConstantRaytracing pc = {glm::vec4(0.f)}¶
-
VkPushConstantRange pc_ranges = {VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM, 0, 0}¶
-
std::vector<VkRayTracingShaderGroupCreateInfoKHR> shader_groups¶
-
VulkanBuffer shaderBindingTableBuffer¶
-
VulkanBuffer raygenShaderBindingTableBuffer¶
-
VulkanBuffer missShaderBindingTableBuffer¶
-
VulkanBuffer hitShaderBindingTableBuffer¶
-
VkStridedDeviceAddressRegionKHR rgen_region = {}¶
-
VkStridedDeviceAddressRegionKHR miss_region = {}¶
-
VkStridedDeviceAddressRegionKHR hit_region = {}¶
-
VkStridedDeviceAddressRegionKHR call_region = {}¶
-
VkPhysicalDeviceRayTracingPipelinePropertiesKHR raytracing_properties = {}¶
-
Raytracing()¶
-
class Scene¶
- #include <Scene.hpp>
Public Functions
-
Scene()¶
-
void update_model_matrix(glm::mat4 model_matrix, int model_id)¶
-
inline std::vector<VkSampler> &getTextureSampler(int model_index)¶
-
inline uint32_t getTextureCount(int model_index)¶
-
inline uint32_t getModelCount()¶
-
inline glm::mat4 getModelMatrix(int model_index)¶
-
inline uint32_t getMeshCount(int model_index)¶
-
inline VkBuffer getVertexBuffer(int model_index, int mesh_index)¶
-
inline VkBuffer getIndexBuffer(int model_index, int mesh_index)¶
-
inline uint32_t getIndexCount(int model_index, int mesh_index)¶
-
inline uint32_t getNumberObjectDescriptions()¶
-
uint32_t getNumberMeshes()¶
-
inline std::vector<ObjectDescription> getObjectDescriptions()¶
-
void loadModel(VulkanDevice *device, VkCommandPool commandPool)¶
-
void add_object_description(ObjectDescription object_description)¶
-
void cleanUp()¶
-
~Scene()¶
-
Scene()¶
-
struct SceneUBO¶
- #include <SceneUBO.hpp>
-
class ShaderHelper¶
- #include <ShaderHelper.hpp>
Public Functions
-
ShaderHelper()¶
-
void compileShader(const std::string &shader_src_dir, const std::string &shader_name)¶
-
std::string getShaderSpvDir(const std::string &shader_src_dir, const std::string &shader_name)¶
-
VkShaderModule createShaderModule(VulkanDevice *device, const std::vector<char> &code)¶
-
~ShaderHelper()¶
Private Members
-
std::string target = " --target-env=vulkan1.3 "¶
-
ShaderHelper()¶
-
struct SpecializationData¶
-
struct SwapChainDetails¶
- #include <SwapChainDetails.hpp>
-
class Texture¶
- #include <Texture.hpp>
Public Functions
-
Texture()¶
-
void createFromFile(VulkanDevice *device, VkCommandPool commandPool, const std::string &fileName)¶
-
void setImage(VkImage image)¶
-
void setImageView(VkImageView imageView)¶
-
inline uint32_t getMipLevel()¶
-
inline VulkanImage &getVulkanImage()¶
-
inline VulkanImageView &getVulkanImageView()¶
-
inline VkImage &getImage()¶
-
inline VkImageView &getImageView()¶
-
void createImage(VulkanDevice *device, uint32_t width, uint32_t height, uint32_t mip_levels, VkFormat format, VkImageTiling tiling, VkImageUsageFlags use_flags, VkMemoryPropertyFlags prop_flags)¶
-
void createImageView(VulkanDevice *device, VkFormat format, VkImageAspectFlags aspect_flags, uint32_t mip_levels)¶
-
void cleanUp()¶
-
~Texture()¶
Private Functions
-
stbi_uc *loadTextureData(const std::string &file_name, int *width, int *height, VkDeviceSize *image_size)¶
-
void generateMipMaps(VkPhysicalDevice physical_device, VkDevice device, VkCommandPool command_pool, VkQueue queue, VkImage image, VkFormat image_format, int32_t width, int32_t height, uint32_t mip_levels)¶
Private Members
-
uint32_t mip_levels = 0¶
-
CommandBufferManager commandBufferManager¶
-
VulkanBufferManager vulkanBufferManager¶
-
VulkanImage vulkanImage¶
-
VulkanImageView vulkanImageView¶
-
Texture()¶
-
struct TopLevelAccelerationStructure¶
- #include <TopLevelAccelerationStructure.hpp>
-
struct Vertex¶
- #include <Vertex.hpp>
-
class VulkanBuffer¶
- #include <VulkanBuffer.hpp>
Public Functions
-
VulkanBuffer()¶
-
void create(VulkanDevice *vulkanDevice, VkDeviceSize buffer_size, VkBufferUsageFlags buffer_usage_flags, VkMemoryPropertyFlags buffer_propertiy_flags)¶
-
void cleanUp()¶
-
inline VkBuffer &getBuffer()¶
-
inline VkDeviceMemory &getBufferMemory()¶
-
~VulkanBuffer()¶
Private Members
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
VkBuffer buffer = {VK_NULL_HANDLE}¶
-
VkDeviceMemory bufferMemory = {VK_NULL_HANDLE}¶
-
bool created = {false}¶
-
VulkanBuffer()¶
-
class VulkanBufferManager¶
- #include <VulkanBufferManager.hpp>
Public Functions
-
VulkanBufferManager()¶
-
void copyBuffer(VkDevice device, VkQueue transfer_queue, VkCommandPool transfer_command_pool, VulkanBuffer src_buffer, VulkanBuffer dst_buffer, VkDeviceSize buffer_size)¶
-
void copyImageBuffer(VkDevice device, VkQueue transfer_queue, VkCommandPool transfer_command_pool, VkBuffer src_buffer, VkImage image, uint32_t width, uint32_t height)¶
-
template<typename T>
inline void createBufferAndUploadVectorOnDevice(VulkanDevice *device, VkCommandPool commandPool, VulkanBuffer &vulkanBuffer, VkBufferUsageFlags dstBufferUsageFlags, VkMemoryPropertyFlags dstBufferMemoryPropertyFlags, std::vector<T> &data)¶
-
~VulkanBufferManager()¶
Private Members
-
CommandBufferManager commandBufferManager¶
-
VulkanBufferManager()¶
-
class VulkanDevice¶
- #include <VulkanDevice.hpp>
Public Functions
-
VulkanDevice(VulkanInstance *instance, VkSurfaceKHR *surface)¶
-
inline VkPhysicalDeviceProperties getPhysicalDeviceProperties()¶
-
inline VkPhysicalDevice getPhysicalDevice() const¶
-
inline VkDevice getLogicalDevice() const¶
-
QueueFamilyIndices getQueueFamilies()¶
-
inline VkQueue getGraphicsQueue() const¶
-
inline VkQueue getComputeQueue() const¶
-
inline VkQueue getPresentationQueue() const¶
-
SwapChainDetails getSwapchainDetails()¶
-
inline bool supportsHardwareAcceleratedRRT()¶
-
void cleanUp()¶
-
~VulkanDevice()¶
Private Functions
-
void get_physical_device()¶
-
void create_logical_device()¶
-
QueueFamilyIndices getQueueFamilies(VkPhysicalDevice physical_device)¶
-
SwapChainDetails getSwapchainDetails(VkPhysicalDevice device)¶
-
bool check_device_suitable(VkPhysicalDevice device)¶
-
bool check_device_extension_support(VkPhysicalDevice device)¶
Private Members
-
VkPhysicalDevice physical_device¶
-
VkPhysicalDeviceProperties device_properties¶
-
VkDevice logical_device¶
-
VulkanInstance *instance¶
-
VkSurfaceKHR *surface¶
-
VkQueue graphics_queue¶
-
VkQueue presentation_queue¶
-
VkQueue compute_queue¶
-
bool deviceSupportsHardwareAcceleratedRRT = true¶
-
const std::vector<const char*> device_extensions = {VK_KHR_SWAPCHAIN_EXTENSION_NAME}¶
-
const std::vector<const char*> device_extensions_for_raytracing = {VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_KHR_SPIRV_1_4_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME, VK_KHR_RAY_QUERY_EXTENSION_NAME}¶
-
VulkanDevice(VulkanInstance *instance, VkSurfaceKHR *surface)¶
-
class VulkanImage¶
- #include <VulkanImage.hpp>
Public Functions
-
VulkanImage()¶
-
void create(VulkanDevice *device, uint32_t width, uint32_t height, uint32_t mip_levels, VkFormat format, VkImageTiling tiling, VkImageUsageFlags use_flags, VkMemoryPropertyFlags prop_flags)¶
-
void transitionImageLayout(VkDevice device, VkQueue queue, VkCommandPool command_pool, VkImageLayout old_layout, VkImageLayout new_layout, VkImageAspectFlags aspectMask, uint32_t mip_levels)¶
-
void transitionImageLayout(VkCommandBuffer command_buffer, VkImageLayout old_layout, VkImageLayout new_layout, uint32_t mip_levels, VkImageAspectFlags aspectMask)¶
-
void setImage(VkImage image)¶
-
inline VkImage &getImage()¶
-
void cleanUp()¶
-
~VulkanImage()¶
Private Functions
-
VkAccessFlags accessFlagsForImageLayout(VkImageLayout layout)¶
-
VkPipelineStageFlags pipelineStageForLayout(VkImageLayout oldImageLayout)¶
Private Members
-
VulkanDevice *device = {VK_NULL_HANDLE}¶
-
CommandBufferManager commandBufferManager¶
-
VkImage image¶
-
VkDeviceMemory imageMemory¶
-
VulkanImage()¶
-
class VulkanImageView¶
- #include <VulkanImageView.hpp>
-
class VulkanInstance¶
- #include <VulkanInstance.hpp>
Public Functions
-
VulkanInstance()¶
-
inline VkInstance &getVulkanInstance()¶
-
void cleanUp()¶
-
~VulkanInstance()¶
-
VulkanInstance()¶
-
class VulkanRenderer¶
- #include <VulkanRenderer.hpp>
Public Functions
-
void drawFrame()¶
-
void finishAllRenderCommands()¶
-
void update_raytracing_descriptor_set(uint32_t image_index)¶
-
void cleanUp()¶
-
~VulkanRenderer()¶
Private Functions
-
void shaderHotReload()¶
-
void create_surface()¶
-
void record_commands(uint32_t image_index)¶
-
void create_command_pool()¶
-
void cleanUpCommandPools()¶
-
void create_uniform_buffers()¶
-
void update_uniform_buffers(uint32_t image_index)¶
-
void cleanUpUBOs()¶
-
void create_command_buffers()¶
-
void createSynchronization()¶
-
void cleanUpSync()¶
-
void create_object_description_buffer()¶
-
void create_post_descriptor_layout()¶
-
void updatePostDescriptorSets()¶
-
void createRaytracingDescriptorSetLayouts()¶
-
void createRaytracingDescriptorSets()¶
-
void updateRaytracingDescriptorSets()¶
-
void createRaytracingDescriptorPool()¶
-
bool checkChangedFramebufferSize()¶
Private Members
-
VulkanBufferManager vulkanBufferManager¶
-
VulkanInstance instance¶
-
VkSurfaceKHR surface¶
-
std::unique_ptr<VulkanDevice> device¶
-
VulkanSwapChain vulkanSwapChain¶
-
VkCommandPool graphics_command_pool¶
-
VkCommandPool compute_command_pool¶
-
std::vector<VulkanBuffer> globalUBOBuffer¶
-
std::vector<VulkanBuffer> sceneUBOBuffer¶
-
std::vector<VkCommandBuffer> command_buffers¶
-
CommandBufferManager commandBufferManager¶
-
Raytracing raytracingStage¶
-
Rasterizer rasterizer¶
-
PathTracing pathTracing¶
-
uint32_t current_frame = {0}¶
-
std::vector<VkSemaphore> image_available¶
-
std::vector<VkSemaphore> render_finished¶
-
std::vector<VkFence> in_flight_fences¶
-
std::vector<VkFence> images_in_flight_fences¶
-
VulkanBuffer objectDescriptionBuffer¶
-
VkDescriptorPool post_descriptor_pool = {VK_NULL_HANDLE}¶
-
VkDescriptorSetLayout post_descriptor_set_layout = {VK_NULL_HANDLE}¶
-
std::vector<VkDescriptorSet> post_descriptor_set¶
-
VkDescriptorPool raytracingDescriptorPool = {VK_NULL_HANDLE}¶
-
std::vector<VkDescriptorSet> raytracingDescriptorSet¶
-
VkDescriptorSetLayout raytracingDescriptorSetLayout = {VK_NULL_HANDLE}¶
-
void drawFrame()¶
-
class VulkanSwapChain¶
- #include <VulkanSwapChain.hpp>
Public Functions
-
VulkanSwapChain()¶
-
void initVulkanContext(VulkanDevice *device, Window *window, const VkSurfaceKHR &surface)¶
-
inline const VkSwapchainKHR &getSwapChain() const¶
-
inline uint32_t getNumberSwapChainImages() const¶
-
inline const VkExtent2D &getSwapChainExtent() const¶
-
inline const VkFormat &getSwapChainFormat() const¶
-
void cleanUp()¶
-
~VulkanSwapChain()¶
Private Functions
-
VkSurfaceFormatKHR choose_best_surface_format(const std::vector<VkSurfaceFormatKHR> &formats)¶
-
VkPresentModeKHR choose_best_presentation_mode(const std::vector<VkPresentModeKHR> &presentation_modes)¶
-
VkExtent2D choose_swap_extent(const VkSurfaceCapabilitiesKHR &surface_capabilities)¶
-
VulkanSwapChain()¶
-
class Window¶
- #include <Window.hpp>
Public Functions
-
Window()¶
-
Window(uint32_t window_width, uint32_t window_height)¶
-
int initialize()¶
-
void cleanUp()¶
-
inline bool get_should_close()¶
-
inline float get_buffer_width() const¶
-
inline float get_buffer_height() const¶
-
float get_x_change()¶
-
float get_y_change()¶
-
inline GLFWwindow *get_window()¶
-
float get_height()¶
-
float get_width()¶
-
inline bool *get_keys()¶
-
bool framebuffer_size_has_changed()¶
-
void reset_framebuffer_has_changed()¶
-
void update_viewport()¶
-
void set_buffer_size(float window_buffer_width, float window_buffer_height)¶
-
~Window()¶
Private Functions
-
void init_callbacks()¶
Private Members
-
GLFWwindow *main_window¶
-
uint32_t window_width¶
-
uint32_t window_height¶
-
bool keys[1024]¶
-
float last_x¶
-
float last_y¶
-
float x_change¶
-
float y_change¶
-
bool mouse_first_moved¶
-
bool framebuffer_resized¶
-
int window_buffer_width¶
-
int window_buffer_height¶
Private Static Functions
-
static void framebuffer_size_callback(GLFWwindow *window, int width, int height)¶
-
static void key_callback(GLFWwindow *window, int key, int code, int action, int mode)¶
-
static void mouse_callback(GLFWwindow *window, double x_pos, double y_pos)¶
-
static void mouse_button_callback(GLFWwindow *window, int button, int action, int mods)¶
-
Window()¶
-
namespace debug¶
Functions
- VKAPI_ATTR VkBool32 VKAPI_CALL debugUtilsMessengerCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
-
void setupDebugging(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportCallbackEXT callBack)¶
-
void freeDebugCallback(VkInstance instance)¶
- VKAPI_ATTR VkBool32 VKAPI_CALL messageCallback (VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, uint64_t srcObject, size_t location, int32_t msgCode, const char *pLayerPrefix, const char *pMsg, void *pUserData)
-
namespace sceneConfig¶
-
namespace vertex¶
Functions
-
std::array<VkVertexInputAttributeDescription, 4> getVertexInputAttributeDesc()¶
-
std::array<VkVertexInputAttributeDescription, 4> getVertexInputAttributeDesc()¶
- file Cache.cmake
- file CompilerWarnings.cmake
- file CPackOptions.cmake
- file Doxygen.cmake
- file Hardening.cmake
- file InterproceduralOptimization.cmake
- file PreventInSourceBuilds.cmake
- file ProjectOptions.cmake
- file Sanitizers.cmake
- file Speedup.cmake
- file StandardProjectSettings.cmake
- file StaticAnalyzers.cmake
- file SystemLibDependencies.cmake
- file Tests.cmake
- file clouds.glsl
- file CloudsRectangle.frag
- file CloudsRectangle.vert
- file noise_texture_128_res.comp
- file noise_texture_32_res.comp
- file directional_light.glsl
- file grad_noise.glsl
- file light.glsl
- file material.glsl
- file Matlib.glsl
- file point_light.glsl
- file raycommon.glsl
- file ShadingLibrary.glsl
- file worley_noise.glsl
- file bindings.hpp
- #include “GlobalValues.hpp”#include “host_device_shared.hpp”
Defines
-
MODEL_TEXTURES_SLOT¶
-
SKYBOX_TEXTURES_SLOT¶
-
GBUFFER_TEXTURES_SLOT¶
-
D_LIGHT_SHADOW_TEXTURES_SLOT¶
-
P_LIGHT_SHADOW_TEXTURES_SLOT¶
-
NOISE_128D_TEXTURES_SLOT¶
-
NOISE_32D_TEXTURES_SLOT¶
-
NOISE_CELL_POSITIONS_SLOT¶
-
RANDOM_NUMBERS_SLOT¶
-
NOISE_128D_IMAGE_SLOT¶
-
NOISE_32D_IMAGE_SLOT¶
-
STORAGE_BUFFER_MATERIAL_ID_BINDING¶
-
UNIFORM_LIGHT_MATRICES_BINDING¶
-
MODEL_TEXTURES_SLOT¶
- file GlobalValues.hpp
- file host_device_shared.hpp
Defines
-
PI_DEF¶
Variables
-
const int NUM_CASCADES = 3¶
-
const int MAX_POINT_LIGHTS = 1¶
-
const int MAX_MATERIALS = 35¶
-
const int SKYBOX_MATERIAL_ID = MAX_MATERIALS¶
-
const int CLOUDS_MATERIAL_ID = MAX_MATERIALS + 1¶
-
const int MAX_TEXTURE_COUNT = 30¶
-
const float PI = 3.14159265359f¶
-
const int NUM_CELL_POSITIONS = 5¶
-
PI_DEF¶
- file host_device_shared_vars.hpp
Defines
-
globalUBO_BINDING¶
-
sceneUBO_BINDING¶
-
OBJECT_DESCRIPTION_BINDING¶
-
TEXTURES_BINDING¶
-
SAMPLER_BINDING¶
-
TLAS_BINDING¶
-
OUT_IMAGE_BINDING¶
Variables
-
const int MAX_TEXTURE_COUNT = 1
-
globalUBO_BINDING¶
- file loading_screen.frag
- file loading_screen.vert
- file path_tracing.comp
- file disney.glsl
- file frostbite.glsl
- file pbrBook.glsl
- file phong.glsl
- file unreal4.glsl
- file microfacet.glsl
- file post.frag
- file post.frag.log.txt
- file post.vert
- file post.vert.log.txt
- file g_buffer_geometry_pass.frag
- file g_buffer_geometry_pass.vert
- file g_buffer_lighting_pass.frag
- file g_buffer_lighting_pass.vert
- file shader.frag
- file shader.frag.log.txt
- file shader.vert
- file shader.vert.log.txt
- file directional_shadow_map.frag
- file directional_shadow_map.vert
- file omni_shadow_map.frag
- file omni_shadow_map.vert
- file raytrace.rchit
- file raytrace.rchit.log.txt
- file raytrace.rgen
- file raytrace.rgen.log.txt
- file raytrace.rmiss
- file raytrace.rmiss.log.txt
- file shadow.rmiss
- file shadow.rmiss.log.txt
- file SkyBox.frag
- file SkyBox.vert
- file App.cpp
- #include “App.hpp”#include <vulkan/vulkan.h>#include <GLFW/glfw3.h>#include <glm/glm.hpp>#include <glm/mat4x4.hpp>#include <iostream>#include <memory>#include <stdexcept>#include <vector>#include “GUI.hpp”#include “VulkanRenderer.hpp”#include “Window.hpp”
- file App.hpp
- file CompileShadersToSPV.cmake
- file SetExternalLibsFilters.cmake
- file SetProjectFilters.cmake
- file SetShaderFilters.cmake
- file SetSourceGroups.cmake
- file CMakeLists.txt
Functions
- set (PROJECT_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/) set(PROJECT_INCLUDE_DIR $
- set (EXTERNAL_LIB_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}../../ExternalLib/) set(SHADER_SRC_DIR $
- Resources Shaders include (cmake/filters/SetShaderFilters.cmake) include(cmake/filters/SetProjectFilters.cmake) include(cmake/SetSourceGroups.cmake) include(cmake/filters/SetExternalLibsFilters.cmake) file(GLOB_RECURSE VULKANRENDERER_SOURCES "*.hpp" "*.cpp") if(RUST_FEATURES) corrosion_import_crate(MANIFEST_PATH rusty_code/Cargo.toml) corrosion_add_cxxbridge(rusty_bridge CRATE rusty_code MANIFEST_PATH rusty_code FILES lib.rs) endif() add_executable($
- file CMakeLists.txt
- file CMakeLists.txt
Functions
- set (WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../../) set(PROJECT_SRC_DIR $
- Src GraphicsEngineOpenGL set (PROJECT_INCLUDE_DIR ${WORKING_DIRECTORY}Src/GraphicsEngineOpenGL/) set(EXTERNAL_LIB_SRC_DIR $
- ExternalLib set (SHADER_SRC_DIR ${WORKING_DIRECTORY}Resources/Shaders/) include($
- cmake filters SetShaderFilters cmake include (${PROJECT_SRC_DIR}cmake/filters/SetProjectFilters.cmake) include($
- cmake filters SetExternalLibsFilters cmake include (cmake/SetTestFilters.cmake) set(COMMIT_TEST_SUITE_OPENGL commitTestSuiteOpenGL) add_executable($
- file CMakeLists.txt
Functions
- include (GoogleTest) set(WORKING_DIRECTORY $
- set (PROJECT_SRC_DIR ${WORKING_DIRECTORY}Src/GraphicsEngineVulkan/) set(PROJECT_INCLUDE_DIR $
- Src GraphicsEngineVulkan set (EXTERNAL_LIB_SRC_DIR ${WORKING_DIRECTORY}ExternalLib/) set(SHADER_SRC_DIR $
- Resources Shaders include (${PROJECT_SRC_DIR}cmake/filters/SetShaderFilters.cmake) include($
- file CMakeLists.txt
Functions
- include (GoogleTest) set(WORKING_DIRECTORY $
- set (PROJECT_SRC_DIR ${WORKING_DIRECTORY}Src/GraphicsEngineVulkan/) set(PROJECT_INCLUDE_DIR $
- Src GraphicsEngineVulkan set (EXTERNAL_LIB_SRC_DIR ${WORKING_DIRECTORY}ExternalLib/) set(SHADER_SRC_DIR $
- Resources Shaders include (${WORKING_DIRECTORY}Src/GraphicsEngineVulkan/cmake/filters/SetShaderFilters.cmake) include($
- file CMakeLists.txt
- file CMakeLists.txt
Functions
- set (WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../) set(PROJECT_SRC_DIR $
- Src GraphicsEngineVulkan set (PROJECT_INCLUDE_DIR ${WORKING_DIRECTORY}Src/GraphicsEngineVulkan/) set(EXTERNAL_LIB_SRC_DIR $
- ExternalLib set (SHADER_SRC_DIR ${WORKING_DIRECTORY}Resources/Shaders/) include($
- Src GraphicsEngineVulkan cmake filters SetShaderFilters cmake include (${WORKING_DIRECTORY}Src/GraphicsEngineVulkan/cmake/filters/SetProjectFilters.cmake) include($
- Src GraphicsEngineVulkan cmake filters SetExternalLibsFilters cmake include (cmake/SetTestFilters.cmake) set(PERF_TEST_SUITE perfTestSuite) add_executable($
- file FormatHelper.hpp
- #include <vulkan/vulkan.h>#include <stdexcept>#include <vector>#include “spdlog/spdlog.h”
Functions
-
static VkFormat choose_supported_format(VkPhysicalDevice physical_device, const std::vector<VkFormat> &formats, VkImageTiling tiling, VkFormatFeatureFlags feature_flags)¶
-
static VkFormat choose_supported_format(VkPhysicalDevice physical_device, const std::vector<VkFormat> &formats, VkImageTiling tiling, VkFormatFeatureFlags feature_flags)¶
- file Globals.hpp
- file MemoryHelper.hpp
- #include <vulkan/vulkan.h>
- file Utilities.hpp
- #include <stdexcept>#include “spdlog/spdlog.h”#include “host_device_shared_vars.hpp”
Variables
-
const bool ENABLE_VALIDATION_LAYERS = true¶
-
const bool ENABLE_VALIDATION_LAYERS = true¶
- file GUI.cpp
- #include “GUI.hpp”#include “QueueFamilyIndices.hpp”#include “Utilities.hpp”#include “VulkanDevice.hpp”#include “VulkanRendererConfig.hpp”#include <filesystem>#include <imgui.h>#include <imgui_impl_glfw.h>#include <imgui_impl_vulkan.h>
- file GUI.hpp
- #include <memory>#include “CommandBufferManager.hpp”#include “GUIRendererSharedVars.hpp”#include “GUISceneSharedVars.hpp”#include “Globals.hpp”#include “VulkanDevice.hpp”#include “Window.hpp”
- file Main.cpp
- #include “App.hpp”#include “rusty_bridge/lib.h”#include <iostream>
- file Allocator.cpp
- #include “Allocator.hpp”#include “Utilities.hpp”
- file Allocator.hpp
- #include <vk_mem_alloc.h>#include <vulkan/vulkan.h>#include <stdexcept>
- file ASManager.cpp
- #include “ASManager.hpp”
- file ASManager.hpp
- #include <vulkan/vulkan.h>#include “BottomLevelAccelerationStructure.hpp”#include “CommandBufferManager.hpp”#include “Scene.hpp”#include “TopLevelAccelerationStructure.hpp”#include “VulkanDevice.hpp”
- file BottomLevelAccelerationStructure.hpp
- #include <vulkan/vulkan.h>#include “VulkanBuffer.hpp”
- file TopLevelAccelerationStructure.hpp
- #include <vulkan/vulkan.h>#include “VulkanBuffer.hpp”
- file CommandBufferManager.cpp
- #include “CommandBufferManager.hpp”#include “Utilities.hpp”
- file CommandBufferManager.hpp
- #include <vulkan/vulkan.h>
- file GlobalUBO.hpp
- file GUIRendererSharedVars.hpp
- file PathTracing.cpp
- #include “PathTracing.hpp”#include <algorithm>#include <array>#include <filesystem>#include “File.hpp”#include “ShaderHelper.hpp”#include “VulkanRendererConfig.hpp”#include <Utilities.hpp>
- file PathTracing.hpp
- #include <vulkan/vulkan.h>#include “PushConstantPathTracing.hpp”#include “VulkanDevice.hpp”#include “VulkanSwapChain.hpp”
- file PostStage.cpp
- #include “PostStage.hpp”#include <array>#include <filesystem>#include <vector>#include “File.hpp”#include “FormatHelper.hpp”#include “GUI.hpp”#include “PushConstantPost.hpp”#include “ShaderHelper.hpp”#include “Vertex.hpp”#include “VulkanRendererConfig.hpp”#include <Utilities.hpp>#include <imgui.h>#include <imgui_impl_glfw.h>#include <imgui_impl_vulkan.h>
- file PostStage.hpp
- #include “VulkanDevice.hpp”#include “VulkanSwapChain.hpp”#include <vulkan/vulkan.h>
- file PushConstantPathTracing.hpp
- file PushConstantPost.hpp
- file PushConstantRasterizer.hpp
- file PushConstantRayTracing.hpp
- file QueueFamilyIndices.hpp
- file Rasterizer.cpp
- #include “Rasterizer.hpp”#include <array>#include <filesystem>#include <vector>#include “File.hpp”#include “FormatHelper.hpp”#include “ShaderHelper.hpp”#include “Vertex.hpp”#include “VulkanRendererConfig.hpp”#include <Utilities.hpp>
- file Rasterizer.hpp
- #include <vulkan/vulkan.h>#include “PushConstantRasterizer.hpp”#include “Scene.hpp”#include “Texture.hpp”#include “VulkanDevice.hpp”#include “VulkanSwapChain.hpp”
- file Raytracing.cpp
- #include “Raytracing.hpp”#include <array>#include <filesystem>#include <sstream>#include <vector>#include “File.hpp”#include “MemoryHelper.hpp”#include “ShaderHelper.hpp”#include “VulkanRendererConfig.hpp”#include <Utilities.hpp>
- file Raytracing.hpp
- #include <vulkan/vulkan.h>#include “PushConstantRayTracing.hpp”#include “VulkanBuffer.hpp”#include “VulkanSwapChain.hpp”
- file SceneUBO.hpp
- file SwapChainDetails.hpp
- #include <vulkan/vulkan.h>#include <vector>
- file VulkanRenderer.cpp
- #include “VulkanRenderer.hpp”#include “GUISceneSharedVars.hpp”#include “PushConstantRasterizer.hpp”#include “PushConstantRayTracing.hpp”#include “QueueFamilyIndices.hpp”#include “Utilities.hpp”#include <GLFW/glfw3.h>#include <stdio.h>#include <stdlib.h>#include <algorithm>#include <array>#include <cstring>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <iostream>#include <memory>#include <set>#include <sstream>#include <stdexcept>#include <vector>#include <vk_mem_alloc.h>#include <stb_image.h>#include <gsl/gsl>#include “File.hpp”#include “Globals.hpp”#include “PushConstantPost.hpp”#include “ShaderHelper.hpp”#include “VulkanRendererConfig.hpp”#include <VulkanDebug.hpp>
- file VulkanRenderer.hpp
- #include “ASManager.hpp”#include “Allocator.hpp”#include “CommandBufferManager.hpp”#include “GUI.hpp”#include “GlobalUBO.hpp”#include “PathTracing.hpp”#include “PostStage.hpp”#include “Rasterizer.hpp”#include “Raytracing.hpp”#include “Scene.hpp”#include “SceneUBO.hpp”#include “Texture.hpp”#include “Camera.hpp”#include “VulkanBuffer.hpp”#include “VulkanBufferManager.hpp”#include “VulkanDevice.hpp”#include “VulkanInstance.hpp”#include “VulkanSwapChain.hpp”#include “Window.hpp”
- file VulkanRendererConfig.h
- file VulkanRendererConfig.hpp
Defines
-
VulkanRenderer_VERSION_MAJOR
-
VulkanRenderer_VERSION_MINOR
-
VULKAN_VERSION_MAJOR
-
VULKAN_VERSION_MINOR
-
GLSLC_EXE
-
VulkanRenderer_VERSION_MAJOR
- file Camera.cpp
- #include “Camera.hpp”#include <GLFW/glfw3.h>
Defines
-
GLFW_INCLUDE_NONE
-
GLFW_INCLUDE_VULKAN
-
GLFW_INCLUDE_NONE
- file Camera.hpp
- #include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>
- file GUISceneSharedVars.hpp
- file Mesh.cpp
- #include “Mesh.hpp”#include <cstring>#include <memory>#include “Utilities.hpp”#include “VulkanBuffer.hpp”
- file Mesh.hpp
- #include <glm/glm.hpp>#include <vector>#include “ObjMaterial.hpp”#include “ObjectDescription.hpp”#include “Vertex.hpp”#include “VulkanBufferManager.hpp”
- file Model.cpp
- #include “Model.hpp”#include <Utilities.hpp>#include <iostream>#include <unordered_map>
- file Model.hpp
- #include <memory>#include <vector>#include “Mesh.hpp”#include “Texture.hpp”
- file ObjectDescription.hpp
- file ObjLoader.cpp
- #include “ObjLoader.hpp”#include <tiny_obj_loader.h>#include “File.hpp”#include <iostream>#include <unordered_map>
Defines
-
TINYOBJLOADER_IMPLEMENTATION¶
-
TINYOBJLOADER_IMPLEMENTATION¶
- file ObjLoader.hpp
- #include <vulkan/vulkan.h>#include <memory>#include “Model.hpp”#include “ObjMaterial.hpp”#include “Vertex.hpp”
- file ObjMaterial.hpp
- file Scene.cpp
- #include “Scene.hpp”#include “ObjLoader.hpp”#include “Utilities.hpp”#include “spdlog/spdlog.h”
- file Scene.hpp
- #include <stdio.h>#include <stdlib.h>#include <algorithm>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <iostream>#include <memory>#include <set>#include <stdexcept>#include <vector>#include “GUI.hpp”#include “GUISceneSharedVars.hpp”#include “Mesh.hpp”#include “Model.hpp”#include “SceneConfig.hpp”
- file SceneConfig.cpp
- #include “SceneConfig.hpp”#include “VulkanRendererConfig.hpp”#include <filesystem>#include <sstream>
- file SceneConfig.hpp
- #include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <string>
- file Texture.cpp
- #include “Texture.hpp”#include “Utilities.hpp”#include <cmath>#include <stdexcept>#include “spdlog/spdlog.h”
- file Texture.hpp
- #include <stb_image.h>#include <vulkan/vulkan.h>#include <string>#include “VulkanBuffer.hpp”#include “VulkanBufferManager.hpp”#include “VulkanImage.hpp”#include “VulkanImageView.hpp”
- file Vertex.cpp
- #include “Vertex.hpp”
- file Vertex.hpp
- file File.cpp
- #include “File.hpp”#include “spdlog/spdlog.h”#include <fstream>#include <iostream>
- file File.hpp
- #include <string>#include <vector>
- file ShaderHelper.cpp
- #include <iomanip>#include <sstream>#include “ShaderHelper.hpp”#include “ShaderIncludes.hpp”#include “Utilities.hpp”#include “VulkanRendererConfig.hpp”#include “spdlog/spdlog.h”
- file ShaderHelper.hpp
- #include <vulkan/vulkan.h>#include <string>#include <vector>#include “VulkanDevice.hpp”
- file ShaderIncludes.hpp
- #include “VulkanRendererConfig.hpp”#include <filesystem>#include <string>#include <vector>#include “spdlog/spdlog.h”
- file VulkanBuffer.cpp
- #include “VulkanBuffer.hpp”#include <stdexcept>#include “MemoryHelper.hpp”#include “Utilities.hpp”
- file VulkanBuffer.hpp
- #include <vulkan/vulkan.h>#include “VulkanDevice.hpp”
- file VulkanBufferManager.cpp
- #include “VulkanBufferManager.hpp”#include “Utilities.hpp”
- file VulkanBufferManager.hpp
- #include <vulkan/vulkan.h>#include <vector>#include “CommandBufferManager.hpp”#include “VulkanBuffer.hpp”#include <cstring>
- file VulkanDebug.cpp
- #include “VulkanDebug.hpp”#include <iostream>#include <sstream>#include <string>#include “Utilities.hpp”
- file VulkanDebug.hpp
- #include <vulkan/vulkan.h>
- file VulkanDevice.cpp
- #include “VulkanDevice.hpp”#include <string.h>#include <Utilities.hpp>#include <set>#include <stdexcept>#include <string>#include “spdlog/spdlog.h”
- file VulkanDevice.hpp
- #include <vulkan/vulkan.h>#include <vector>#include “QueueFamilyIndices.hpp”#include “SwapChainDetails.hpp”#include “VulkanInstance.hpp”
- file VulkanImage.cpp
- #include “VulkanImage.hpp”#include “MemoryHelper.hpp”#include “Utilities.hpp”
- file VulkanImage.hpp
- #include <vulkan/vulkan.h>#include “CommandBufferManager.hpp”#include “VulkanDevice.hpp”
- file VulkanImageView.cpp
- #include “VulkanImageView.hpp”#include <Utilities.hpp>
- file VulkanImageView.hpp
- #include <vulkan/vulkan.h>#include “VulkanDevice.hpp”
- file VulkanInstance.cpp
- #include “VulkanInstance.hpp”#include “VulkanDebug.hpp”#include <Utilities.hpp>#include <string.h>#include <string>
- file VulkanInstance.hpp
- #include <vulkan/vulkan.h>#include <GLFW/glfw3.h>#include <vector>
Defines
-
GLFW_INCLUDE_NONE
-
GLFW_INCLUDE_VULKAN
-
GLFW_INCLUDE_NONE
- file VulkanSwapChain.cpp
- #include “VulkanSwapChain.hpp”#include <limits>#include “Utilities.hpp”
- file VulkanSwapChain.hpp
- #include “Texture.hpp”#include “VulkanDevice.hpp”#include “Window.hpp”
- file Window.cpp
- #include “Window.hpp”#include “spdlog/spdlog.h”#include <imgui.h>#include <imgui_impl_glfw.h>#include <imgui_impl_vulkan.h>#include <stdexcept>
Functions
-
static void onErrorCallback(int error, const char *description)¶
-
static void onErrorCallback(int error, const char *description)¶
- file Window.hpp
- #include <stdio.h>#include <GLFW/glfw3.h>
Defines
-
GLFW_INCLUDE_NONE
-
GLFW_INCLUDE_VULKAN
-
GLFW_INCLUDE_NONE
- file commitSuite.cpp
- #include <gtest/gtest.h>#include <sstream>#include <filesystem>#include <vector>#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>#include <cstdio>#include <memory>#include <string>#include “ObjLoader.hpp”#include “Rotation.hpp”#include “OpenGLRendererConfig.hpp”#include “GameObject.hpp”#include “Renderer.hpp”#include “DebugApp.hpp”#include “GUI.hpp”#include “LoadingScreen.hpp”#include “File.hpp”#include “Camera.hpp”#include “GlobalValues.hpp”#include “Scene.hpp”#include “Window.hpp”#include “host_device_shared.hpp”
- file commitSuite.cpp
- #include <gtest/gtest.h>#include <vulkan/vulkan.h>#include <GLFW/glfw3.h>#include <glm/glm.hpp>#include <glm/mat4x4.hpp>#include <iostream>#include <memory>#include <stdexcept>#include <vector>#include “GUI.hpp”#include “VulkanRenderer.hpp”#include “Window.hpp”
Defines
-
GLFW_INCLUDE_NONE
-
GLFW_INCLUDE_VULKAN
-
GLM_FORCE_RADIANS
-
GLM_FORCE_DEPTH_ZERO_TO_ONE
-
GLFW_INCLUDE_NONE
- file SetTestFilters.cmake
- file SetTestFilters.cmake
- file SetTestFilters.cmake
- file SetTestFilters.cmake
- file compileSuite.cpp
- #include “VulkanBuffer.hpp”#include <gtest/gtest.h>
- file dummy.cpp
- #include “fuzztest/fuzztest.h”#include “gtest/gtest.h”
Functions
-
TEST(MyTestSuite, OnePlustTwoIsTwoPlusOne)¶
-
void IntegerAdditionCommutes(int a, int b)¶
-
FUZZ_TEST(MyTestSuite, IntegerAdditionCommutes)¶
-
TEST(MyTestSuite, OnePlustTwoIsTwoPlusOne)¶
- file perfSuite.cpp
- #include “VulkanBuffer.hpp”#include <benchmark/benchmark.h>
Functions
-
static void BM_StringCreation(benchmark::State &state)¶
-
BENCHMARK(BM_StringCreation)¶
-
static void BM_StringCopy(benchmark::State &state)¶
-
BENCHMARK(BM_StringCopy)¶
-
BENCHMARK_MAIN()¶
-
static void BM_StringCreation(benchmark::State &state)¶
- dir Src/GraphicsEngineVulkan/renderer/accelerationStructures
- dir Src/GraphicsEngineVulkan/app
- dir Resources/Shaders/pbr/brdf
- dir Resources/Shaders/clouds
- dir cmake
- dir Src/GraphicsEngineVulkan/cmake
- dir Test/commit/OpenGLEngine/cmake
- dir Test/commit/VulkanEngine/cmake
- dir Test/compile/cmake
- dir Test/perf/cmake
- dir Test/commit
- dir Resources/Shaders/common
- dir Src/GraphicsEngineVulkan/common
- dir Test/compile
- dir Src/GraphicsEngineVulkan/cmake/filters
- dir Test/fuzz
- dir Src/GraphicsEngineVulkan
- dir Src/GraphicsEngineVulkan/gui
- dir Resources/Shaders/hostDevice
- dir Resources/Shaders/loading_screen
- dir Src/GraphicsEngineVulkan/memory
- dir Test/commit/OpenGLEngine
- dir Resources/Shaders/path_tracing
- dir Resources/Shaders/pbr
- dir Test/perf
- dir Resources/Shaders/post
- dir Src/GraphicsEngineVulkan/renderer/pushConstants
- dir Resources/Shaders/rasterizer
- dir Resources/Shaders/raytracing
- dir Src/GraphicsEngineVulkan/renderer
- dir Resources
- dir Src/GraphicsEngineVulkan/scene
- dir Resources/Shaders
- dir Resources/Shaders/rasterizer/shadows
- dir Resources/Shaders/skybox
- dir Src
- dir Test
- dir Src/GraphicsEngineVulkan/util
- dir Src/GraphicsEngineVulkan/vulkan_base
- dir Test/commit/VulkanEngine
- dir Src/GraphicsEngineVulkan/window