Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions | Variables
foray Namespace Reference

Namespaces

namespace  api
 
namespace  as
 
namespace  base
 
namespace  bench
 
namespace  core
 
namespace  gltf
 
namespace  osi
 
namespace  rtpipe
 
namespace  scene
 
namespace  stages
 
namespace  util
 

Classes

class  Exception
 An extension of std::exception providing support for formatted error messages. Exceptions should always be catched via "catch (const std::exception& ex)", and thrown by value (Just use builtin static throw functions) More...
 
class  NoMoveDefaults
 Simple types for supressing automatic definition of duplicating move constructors & operator. More...
 
class  Polymorphic
 Simple type for forcing a type to be polymorphic. More...
 

Typedefs

using fp32_t = float
 stdint.h style 32 bit floating point type alias (float)
 
using fp64_t = double
 stdint.h style 64 bit floating point type alias (double)
 

Functions

void Assert (bool condition, const source_location location=source_location::current())
 Asserts condition. Throws a generic error message if conditition is false.
 
void Assert (bool condition, std::string_view message, const source_location location=source_location::current())
 Asserts condition. Throws a user defined error message if conditition is false.
 
spdlog::logger * logger ()
 Gives access to a global available logger object. The logger writes to console & to a file next to the application in the folder /logs.
 
std::string PrintVkResult (VkResult result)
 Prints a VkResult. If outside of NAMEF_ENUM_RANGE_MAX, will only print number.
 
void AssertVkResult (VkResult result, const source_location location=source_location::current())
 Asserts a VkResult (Fails if not VK_SUCCESS)
 
void SetVulkanObjectName (core::Context *context, VkObjectType objectType, const void *objectHandle, std::string_view name)
 Set a vulkan object name (Will show up in validation errors, NSight, RenderDoc, ...)
 

Variables

constexpr uint32_t INFLIGHT_FRAME_COUNT = 2
 Inflight frame count is the amount of frames 'in flight' aka frames recorded on the host before waiting for the device to finish rendering a previous frame.
 

Typedef Documentation

◆ fp32_t

using foray::fp32_t = typedef float

stdint.h style 32 bit floating point type alias (float)

◆ fp64_t

using foray::fp64_t = typedef double

stdint.h style 64 bit floating point type alias (double)

Function Documentation

◆ Assert() [1/2]

void foray::Assert ( bool  condition,
const source_location  location = source_location::current() 
)
inline

Asserts condition. Throws a generic error message if conditition is false.

◆ Assert() [2/2]

void foray::Assert ( bool  condition,
std::string_view  message,
const source_location  location = source_location::current() 
)
inline

Asserts condition. Throws a user defined error message if conditition is false.

◆ AssertVkResult()

void foray::AssertVkResult ( VkResult  result,
const source_location  location = source_location::current() 
)
inline

Asserts a VkResult (Fails if not VK_SUCCESS)

◆ logger()

spdlog::logger * foray::logger ( )

Gives access to a global available logger object. The logger writes to console & to a file next to the application in the folder /logs.

◆ PrintVkResult()

std::string foray::PrintVkResult ( VkResult  result)

Prints a VkResult. If outside of NAMEF_ENUM_RANGE_MAX, will only print number.

◆ SetVulkanObjectName()

void foray::SetVulkanObjectName ( core::Context context,
VkObjectType  objectType,
const void *  objectHandle,
std::string_view  name 
)

Set a vulkan object name (Will show up in validation errors, NSight, RenderDoc, ...)

Parameters
contextRequires DispatchTable
objectTypeObject Type passed as objectHandle
objectHandleVulkan Handle
nameDebug name

Variable Documentation

◆ INFLIGHT_FRAME_COUNT

constexpr uint32_t foray::INFLIGHT_FRAME_COUNT = 2
inlineconstexpr

Inflight frame count is the amount of frames 'in flight' aka frames recorded on the host before waiting for the device to finish rendering a previous frame.