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

Namespaces

namespace  gcomp
 
namespace  ncomp
 

Classes

class  Animation
 Represents an animation, defined by atleast one channel affecting one node property each. More...
 
struct  AnimationChannel
 A channel is the animation of a single node property. More...
 
struct  AnimationKeyframe
 A set of values at a time point. More...
 
struct  AnimationSampler
 A collection of keyframes. More...
 
class  CallbackDispatcher
 Type maintaining callback lists for event distribution. More...
 
struct  CameraUboBlock
 Uniform buffer object layout for camera matrices. More...
 
class  Component
 Base class for all types manageable by registry. More...
 
struct  DrawPushConstant
 Push Constant helper type. More...
 
struct  EmissiveTriangle
 A reference to an emissive triangle. More...
 
class  GlobalComponent
 
struct  Material
 Represents the default gltf pbr material type, capable of representing opaque surfaces with a metallic/roughness model including emission. More...
 
class  Mesh
 Type describing a single mesh object, described by multiple Primitive objects. More...
 
class  Node
 A scene node. Extends the registry with hierarchical information. More...
 
class  NodeComponent
 
struct  PlaybackConfig
 
struct  Primitive
 "An object binding indexed or non-indexed geometry with a material." according to the glTF spec. It's a subset of a mesh and has its own set of vertices/indices as well as its own material. All mesh data is contained in one big buffer, so "First" is used to get the correct offset into the buffer. More...
 
class  Registry
 Manages a type identified list of components. More...
 
class  Scene
 Provides registries and methods as the anchor of a component based scene. More...
 
struct  SceneDrawInfo
 Temporary type passed to components when drawing the scene. More...
 
struct  SceneUpdateInfo
 Temporary type passed to components when updating the scene. More...
 
struct  SimpleLight
 Describes a simplified light source. More...
 
struct  Vertex
 Vertex. More...
 
struct  VertexComponentBinding
 Binding of component to shader input location. More...
 
struct  VertexInputStateBuilder
 Helper for building a VkPipelineVertexInputStateCreateInfo struct. More...
 

Typedefs

using MaterialFlags = uint32_t
 

Enumerations

enum class  EAnimationInterpolation { Linear , Step , Cubicspline }
 Interpolation mode defines how values are interpolated between keyframes. More...
 
enum class  EAnimationTargetPath { Translation , Rotation , Scale }
 Target path defines which aspect of a nodes transforms the animation channel targets. More...
 
enum class  EVertexComponent { Position , Normal , Tangent , Uv }
 Vertex Components. More...
 
enum class  ELightType : uint32_t { Directional = 0 , Point = 1 }
 
enum class  MaterialFlagBits : uint32_t { FullyOpaque = 0b1 , DoubleSided = 0b10 }
 

Typedef Documentation

◆ MaterialFlags

using foray::scene::MaterialFlags = typedef uint32_t

Enumeration Type Documentation

◆ EAnimationInterpolation

Interpolation mode defines how values are interpolated between keyframes.

Enumerator
Linear 
Step 
Cubicspline 

◆ EAnimationTargetPath

Target path defines which aspect of a nodes transforms the animation channel targets.

Enumerator
Translation 
Rotation 
Scale 

◆ ELightType

enum class foray::scene::ELightType : uint32_t
strong
Enumerator
Directional 
Point 

◆ EVertexComponent

enum class foray::scene::EVertexComponent
strong

Vertex Components.

Enumerator
Position 
Normal 
Tangent 
Uv 

◆ MaterialFlagBits

enum class foray::scene::MaterialFlagBits : uint32_t
strong
Enumerator
FullyOpaque 
DoubleSided