Vulkan-Hpp
|
#include <vulkan/vulkan.hpp>
#include <GLFW/glfw3.h>
#include <numeric>
#include <random>
#include <sstream>
#include <vulkan/vulkan_to_string.hpp>
#include "../utils/shaders.hpp"
#include "../utils/utils.hpp"
#include "CameraManipulator.hpp"
#include "SPIRV/GlslangToSpv.h"
#include <glm/glm.hpp>
#include <glm/gtc/matrix_inverse.hpp>
#include <glm/gtc/matrix_transform.hpp>
Go to the source code of this file.
Classes | |
struct | GeometryInstanceData |
struct | AccelerationStructureData |
struct | PerFrameData |
struct | UniformBufferObject |
struct | Material |
struct | Vertex |
struct | AppInfo |
Macros | |
#define | GLM_FORCE_DEPTH_ZERO_TO_ONE |
#define | GLM_FORCE_RADIANS |
#define | GLM_ENABLE_EXPERIMENTAL |
#define | IMGUI_VK_QUEUED_FRAMES 2 |
Functions | |
AccelerationStructureData | createAccelerationStructureData (vk::PhysicalDevice const &physicalDevice, vk::Device const &device, vk::CommandBuffer const &commandBuffer, std::vector< std::pair< vk::AccelerationStructureNV, glm::mat4x4 >> const &instances, std::vector< vk::GeometryNV > const &geometries) |
template<typename T > | |
T | random (T minValue=std::numeric_limits< T >::min(), T maxValue=std::numeric_limits< T >::max()) |
glm::vec3 | randomVec3 (float minValue, float maxValue) |
uint32_t | roundUp (uint32_t value, uint32_t alignment) |
int | main (int, char **) |
Variables | |
const size_t | MaterialStride = ( ( sizeof( Material ) + 15 ) / 16 ) * 16 |
const size_t | VertexStride = ( ( sizeof( Vertex ) + 15 ) / 16 ) * 16 |
#define GLM_ENABLE_EXPERIMENTAL |
Definition at line 43 of file RayTracing.cpp.
#define GLM_FORCE_DEPTH_ZERO_TO_ONE |
Definition at line 41 of file RayTracing.cpp.
#define GLM_FORCE_RADIANS |
Definition at line 42 of file RayTracing.cpp.
#define IMGUI_VK_QUEUED_FRAMES 2 |
Definition at line 530 of file RayTracing.cpp.
AccelerationStructureData createAccelerationStructureData | ( | vk::PhysicalDevice const & | physicalDevice, |
vk::Device const & | device, | ||
vk::CommandBuffer const & | commandBuffer, | ||
std::vector< std::pair< vk::AccelerationStructureNV, glm::mat4x4 >> const & | instances, | ||
std::vector< vk::GeometryNV > const & | geometries | ||
) |
Definition at line 101 of file RayTracing.cpp.
int main | ( | int | , |
char ** | |||
) |
Definition at line 648 of file RayTracing.cpp.
T random | ( | T | minValue = std::numeric_limits<T>::min() , |
T | maxValue = std::numeric_limits<T>::max() |
||
) |
Definition at line 628 of file RayTracing.cpp.
glm::vec3 randomVec3 | ( | float | minValue, |
float | maxValue | ||
) |
Definition at line 636 of file RayTracing.cpp.
uint32_t roundUp | ( | uint32_t | value, |
uint32_t | alignment | ||
) |
Definition at line 643 of file RayTracing.cpp.
const size_t MaterialStride = ( ( sizeof( Material ) + 15 ) / 16 ) * 16 |
Definition at line 218 of file RayTracing.cpp.
const size_t VertexStride = ( ( sizeof( Vertex ) + 15 ) / 16 ) * 16 |
Definition at line 230 of file RayTracing.cpp.