Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
Faro Namespace Reference

Classes

class  Application
 
class  Array
 
class  Broadcast
 
class  DataStream
 Interface that reads and writes data to and from a stream. More...
 
class  DataStreamCopy
 
class  Duration
 
class  FileStream
 
class  GraphicsAdapter
 
struct  GraphicsAdapterDesc
 
class  GraphicsAdapterVK
 
class  GraphicsBuffer
 A buffer storing graphics related data. Created by GraphicsAdapter::CreateBuffer. More...
 
class  GraphicsBufferContainer
 
struct  GraphicsBufferCreateDesc
 
struct  GraphicsBufferDesc
 Description of a graphics buffer. More...
 
class  GraphicsBufferVK
 
class  GraphicsCommandList
 
class  GraphicsCommandListVK
 
class  GraphicsFence
 Marker to be placed on an adapter command queue. Allows for synchronization between CPU and graphics adapter. More...
 
class  GraphicsFenceVK
 
struct  GraphicsFormat
 Describes a graphics format. More...
 
class  GraphicsInterface
 
class  GraphicsInterfaceVK
 
class  GraphicsModule
 
class  GraphicsPipeline
 Graphics pipeline state object. More...
 
struct  GraphicsPipelineDesc
 Describes a graphics pipeline. More...
 
class  GraphicsPipelineVK
 
class  GraphicsSemaphore
 
class  GraphicsSemaphoreVK
 
class  GraphicsSwapchain
 
class  GraphicsSwapchainImageContainer
 
class  GraphicsSwapchainVK
 
struct  IColor
 
class  IGraphicsAdapterChild
 
class  ILogSink
 
class  IModule
 
class  IObject
 Base class for dynamically allocated objects. More...
 
struct  IRect
 
class  IResource
 
class  IThread
 Base class for a thread. More...
 
class  IThreadInterface
 Abstract interface of a thread. More...
 
class  LiveObjectTracker
 
class  Logger
 Class responsible for all logging related functionality. More...
 
struct  LogMessage
 
struct  LogTag
 Defines a logging tag. To be defined and declared with LOG_DEFINITION and LOG_DECLARATION. More...
 
class  MainThread
 
class  Map
 
struct  Matrix44
 
class  MemoryManager
 
struct  ModuleDependencies
 
class  ModuleManager
 
struct  Monitor
 
class  Mutex
 Synchronization flag to gain exclusive access on the calling thread. More...
 
class  Path
 
class  Platform
 
class  PlatformModule
 
struct  RandomGenerator
 
class  RandomStream
 
class  ResourceDirectoryPackage
 
class  ResourceManager
 
class  ResourcePackage
 
class  ResourcesModule
 
class  String
 
class  ThreadSafe
 Container class providing thread-safe access to the internal object. More...
 
class  TimePoint
 
struct  Vector2
 
struct  Vector3
 
struct  Vector4
 
struct  Version
 
class  Window
 
struct  WindowState
 

Typedefs

typedef IColor< float, 1 > FloatColor
 
typedef IColor< uint8, 255 > UInt8Color
 
typedef RandomGenerator< int32RandomInt32
 
typedef RandomGenerator< float > RandomFloat
 
typedef RandomGenerator< int8RandomInt8
 
typedef RandomGenerator< uint8RandomUInt8
 
typedef IRect< float > FloatRect
 
typedef IRect< int32IntRect
 
typedef Vector2< float > Float2D
 
typedef Vector2< int32Int2D
 
typedef Vector3< float > Float3D
 
typedef Vector3< int32Int3D
 
typedef Vector4< float > Float4D
 
typedef Vector4< int32Int4D
 
typedef uint8_t uint8
 
typedef int8_t int8
 
typedef uint16_t uint16
 
typedef int16_t int16
 
typedef uint32_t uint32
 
typedef int32_t int32
 
typedef uint64_t uint64
 
typedef int64_t int64
 
template<typename T >
using Function = std::function< T >
 
typedef Function< void()> ThreadTask
 Function type to be ran on another thread.
 

Enumerations

enum  PathType { Unknown , Filepath , Directory }
 
enum  EStreamSeekOrigin { SSO_Start , SSO_End , SSO_Current }
 Origin point of a seek operation. More...
 
enum  LogCategory {
  LC_Trace , LC_Debug , LC_Info , LC_Warning ,
  LC_Error , LC_Fatal
}
 Logging category. More...
 
enum  GraphicsResourceState {
  RS_Unknown , RS_CopySource , RS_CopyDestination , RS_RenderTarget ,
  RS_ShaderResource , RS_Present
}
 Describes the state of a graphics buffer. More...
 
enum  GraphicsResourceType { RT_Texture , RT_ConstantBuffer , RT_VertexBuffer , RT_IndexBuffer }
 Describes the resource type of a graphics buffer. More...
 
enum  GraphicsBufferType { BT_Upload , BT_Remote }
 Determines the type of a graphics buffer. More...
 
enum  GraphicsFormatElements {
  FE_Unknown , FE_R , FE_RG , FE_RGB ,
  FE_RGBA , FE_BGRA
}
 Describes what elements are present in a format and what order they have in storage. More...
 
enum  GraphicsFormatElementType {
  FET_Unknown , FET_Float , FET_UNorm , FET_SNorm ,
  FET_UInt , FET_SInt
}
 Describes the datatype of a format element. More...
 
enum  GraphicsFormatElementLayout {
  FEL_Unknown , FEL_8 , FEL_8_8 , FEL_8_8_8 ,
  FEL_8_8_8_8 , FEL_16 , FEL_16_16 , FEL_16_16_16 ,
  FEL_16_16_16_16 , FEL_32 , FEL_32_32 , FEL_32_32_32 ,
  FEL_32_32_32_32
}
 Describes the element storage distribution. More...
 
enum  EFileMode { FO_Overwrite , FO_Append , FO_Read }
 Mode in which to open a file. More...
 
enum  WindowMode {
  WM_Hidden , WM_Minimized , WM_Windowed , WM_Maximized ,
  WM_Fullscreen , WM_ENUMSIZE
}
 

Functions

String operator+ (String a, String b)
 
bool operator== (String a, String b)
 
template<class T >
String ToString (T value)
 
template<class T >
ParseString (String value)
 
template<>
float ParseString< float > (String value)
 
String FormatStringVA (String format, va_list args)
 
String FormatString (String format,...)
 
Array< ILogSink * > GetRegisteredLogSinks ()
 
float Pi ()
 
void SetPIPrecision (int)
 
template<class T >
DegToRad (T degrees)
 
template<class T >
RadToDeg (T radians)
 
template<class T >
Min (T a, T b)
 
template<class T >
Max (T a, T b)
 
template<class T >
Sin (T a)
 
template<class T >
Cos (T a)
 
template<class T >
Tan (T a)
 
template<class T >
SinDeg (T a)
 
template<class T >
CosDeg (T a)
 
template<class T >
TanDeg (T a)
 
template<class T >
ASin (T a)
 
template<class T >
ACos (T a)
 
template<class T >
ATan (T a)
 
template<class T >
ASinDeg (T a)
 
template<class T >
ACosDeg (T a)
 
template<class T >
ATanDeg (T a)
 
template<class T , class AlphaType >
Lerp (T a, T b, AlphaType alpha)
 
float Determinant33 (float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33)
 
Array< IModule * > GetRegisteredModules ()
 
bool operator== (const GraphicsFormat &a, const GraphicsFormat &b)
 
bool operator< (const GraphicsFormat &a, const GraphicsFormat &b)
 
Array< GraphicsInterface * > GetGraphicsInterfaces ()
 
bool ProcessShaderStage (DataStream *stream, GraphicsPipelineDesc *desc)
 
bool ProcessShaderBinary (DataStream *stream, GraphicsPipelineDesc *desc)
 
VkBufferUsageFlags Convert (GraphicsResourceType type)
 
VkImageLayout Convert (GraphicsResourceState state)
 
void ResolveModuleDependencies (ModuleDependencies *moduleInfo)
 
Array< Platform * > GetRegisteredPlatforms ()
 
void Sleep (Duration duration)
 Sleep the calling thread by the given duration.
 
void RunOnThread (String threadId, ThreadTask task)
 

Variables

Version GEngineVersion
 
RandomStream global_rng_stream_
 
GraphicsInterfaceGGraphics = nullptr
 
ApplicationGApplication = nullptr
 
ModuleManager moduleManagerInstance
 
ModuleManagerGModuleManager
 
PlatformGPlatform = nullptr
 
ThreadSafe< Array< IThreadInterface * > > registeredThread
 
ResourceManager GResources
 

Typedef Documentation

◆ Float2D

typedef Vector2<float> Faro::Float2D

◆ Float3D

typedef Vector3<float> Faro::Float3D

◆ Float4D

typedef Vector4<float> Faro::Float4D

◆ FloatColor

typedef IColor<float, 1> Faro::FloatColor

◆ FloatRect

typedef IRect<float> Faro::FloatRect

◆ Function

template<typename T >
using Faro::Function = typedef std::function<T>

◆ int16

typedef int16_t Faro::int16

◆ Int2D

◆ int32

typedef int32_t Faro::int32

◆ Int3D

◆ Int4D

◆ int64

typedef int64_t Faro::int64

◆ int8

typedef int8_t Faro::int8

◆ IntRect

◆ RandomFloat

◆ RandomInt32

◆ RandomInt8

◆ RandomUInt8

◆ ThreadTask

typedef Function<void()> Faro::ThreadTask

Function type to be ran on another thread.

◆ uint16

typedef uint16_t Faro::uint16

◆ uint32

typedef uint32_t Faro::uint32

◆ uint64

typedef uint64_t Faro::uint64

◆ uint8

typedef uint8_t Faro::uint8

◆ UInt8Color

typedef IColor<uint8, 255> Faro::UInt8Color

Enumeration Type Documentation

◆ EFileMode

Mode in which to open a file.

Enumerator
FO_Overwrite 

Open a file for writing. Will overwrite any existing data.

FO_Append 

Open a file for writing. Will append to any existing data.

FO_Read 

Open a file for reading.

◆ EStreamSeekOrigin

Origin point of a seek operation.

Enumerator
SSO_Start 

Seek relative to the beginning of a stream.

SSO_End 

Seek relative to the end of a stream.

SSO_Current 

Seek relative to the current position.

◆ GraphicsBufferType

Determines the type of a graphics buffer.

Enumerator
BT_Upload 

Uploads data from the CPU to the graphics adapter.

BT_Remote 

Stores memory on the graphics adapter.

◆ GraphicsFormatElementLayout

Describes the element storage distribution.

Enumerator
FEL_Unknown 
FEL_8 
FEL_8_8 
FEL_8_8_8 
FEL_8_8_8_8 
FEL_16 
FEL_16_16 
FEL_16_16_16 
FEL_16_16_16_16 
FEL_32 
FEL_32_32 
FEL_32_32_32 
FEL_32_32_32_32 

◆ GraphicsFormatElements

Describes what elements are present in a format and what order they have in storage.

Enumerator
FE_Unknown 
FE_R 
FE_RG 
FE_RGB 
FE_RGBA 
FE_BGRA 

◆ GraphicsFormatElementType

Describes the datatype of a format element.

Enumerator
FET_Unknown 
FET_Float 
FET_UNorm 
FET_SNorm 
FET_UInt 
FET_SInt 

◆ GraphicsResourceState

Describes the state of a graphics buffer.

Enumerator
RS_Unknown 

Unknown state. The buffer must be transitioned into another state before usage.

RS_CopySource 

Source buffer for a copy operation.

RS_CopyDestination 

Destination buffer for a copy operation.

RS_RenderTarget 

Allows the buffer to be used as a rendertarget.

RS_ShaderResource 

Allows the buffer to be used as a shader resource.

RS_Present 

Marks a rendertarget buffer read for presentation by its swapchain.

◆ GraphicsResourceType

Describes the resource type of a graphics buffer.

Enumerator
RT_Texture 
RT_ConstantBuffer 
RT_VertexBuffer 
RT_IndexBuffer 

◆ LogCategory

Logging category.

Enumerator
LC_Trace 

Tracing category. Provides in-depth insight of a sequence of events. Not visible to the end user.

LC_Debug 

Debugging category. Shows debug info. Not visible to the end user.

LC_Info 

Info category. Communicates generic informative messages.

LC_Warning 

Warning category. Reports potential issues.

LC_Error 

Error category. Reports issues.

LC_Fatal 

Fatal category. Reports critical issues. This will also stop execution of the application.

◆ PathType

Enumerator
Unknown 
Filepath 
Directory 

◆ WindowMode

Enumerator
WM_Hidden 
WM_Minimized 
WM_Windowed 
WM_Maximized 
WM_Fullscreen 
WM_ENUMSIZE 

Function Documentation

◆ ACos()

template<class T >
T Faro::ACos ( a)

◆ ACosDeg()

template<class T >
T Faro::ACosDeg ( a)

◆ ASin()

template<class T >
T Faro::ASin ( a)

◆ ASinDeg()

template<class T >
T Faro::ASinDeg ( a)

◆ ATan()

template<class T >
T Faro::ATan ( a)

◆ ATanDeg()

template<class T >
T Faro::ATanDeg ( a)

◆ Convert() [1/2]

VkImageLayout Faro::Convert ( GraphicsResourceState  state)

◆ Convert() [2/2]

VkBufferUsageFlags Faro::Convert ( GraphicsResourceType  type)

◆ Cos()

template<class T >
T Faro::Cos ( a)

◆ CosDeg()

template<class T >
T Faro::CosDeg ( a)

◆ DegToRad()

template<class T >
T Faro::DegToRad ( degrees)

◆ Determinant33()

float Faro::Determinant33 ( float  m11,
float  m12,
float  m13,
float  m21,
float  m22,
float  m23,
float  m31,
float  m32,
float  m33 
)

◆ FormatString()

String Faro::FormatString ( String  format,
  ... 
)
inline

◆ FormatStringVA()

String Faro::FormatStringVA ( String  format,
va_list  args 
)
inline

◆ GetGraphicsInterfaces()

Array< GraphicsInterface * > Faro::GetGraphicsInterfaces ( )

◆ GetRegisteredLogSinks()

Array< ILogSink * > Faro::GetRegisteredLogSinks ( )

◆ GetRegisteredModules()

Faro::Array< Faro::IModule * > Faro::GetRegisteredModules ( )
extern

◆ GetRegisteredPlatforms()

Array< Platform * > Faro::GetRegisteredPlatforms ( )

◆ Lerp()

template<class T , class AlphaType >
T Faro::Lerp ( a,
b,
AlphaType  alpha 
)

◆ Max()

template<class T >
T Faro::Max ( a,
b 
)

◆ Min()

template<class T >
T Faro::Min ( a,
b 
)

◆ operator+()

String Faro::operator+ ( String  a,
String  b 
)
inline

◆ operator<()

bool Faro::operator< ( const GraphicsFormat a,
const GraphicsFormat b 
)

◆ operator==() [1/2]

bool Faro::operator== ( const GraphicsFormat a,
const GraphicsFormat b 
)

◆ operator==() [2/2]

bool Faro::operator== ( String  a,
String  b 
)
inline

◆ ParseString()

template<class T >
T Faro::ParseString ( String  value)
inline

◆ ParseString< float >()

template<>
float Faro::ParseString< float > ( String  value)
inline

◆ Pi()

float Faro::Pi ( )
extern

◆ ProcessShaderBinary()

bool Faro::ProcessShaderBinary ( DataStream stream,
GraphicsPipelineDesc desc 
)

◆ ProcessShaderStage()

bool Faro::ProcessShaderStage ( DataStream stream,
GraphicsPipelineDesc desc 
)

◆ RadToDeg()

template<class T >
T Faro::RadToDeg ( radians)

◆ ResolveModuleDependencies()

void Faro::ResolveModuleDependencies ( ModuleDependencies moduleInfo)

◆ RunOnThread()

void Faro::RunOnThread ( String  threadId,
ThreadTask  task 
)

◆ SetPIPrecision()

void Faro::SetPIPrecision ( int  n)
extern

◆ Sin()

template<class T >
T Faro::Sin ( a)

◆ SinDeg()

template<class T >
T Faro::SinDeg ( a)

◆ Sleep()

void Faro::Sleep ( Duration  duration)

Sleep the calling thread by the given duration.

Parameters
durationAmount of time to sleep

◆ Tan()

template<class T >
T Faro::Tan ( a)

◆ TanDeg()

template<class T >
T Faro::TanDeg ( a)

◆ ToString()

template<class T >
String Faro::ToString ( value)
inline

Variable Documentation

◆ GApplication

Application * Faro::GApplication = nullptr

◆ GEngineVersion

Version Faro::GEngineVersion
extern

◆ GGraphics

GraphicsInterface * Faro::GGraphics = nullptr

◆ global_rng_stream_

Faro::RandomStream Faro::global_rng_stream_
extern

◆ GModuleManager

ModuleManager * Faro::GModuleManager

◆ GPlatform

Platform * Faro::GPlatform = nullptr

◆ GResources

ResourceManager Faro::GResources

◆ moduleManagerInstance

ModuleManager Faro::moduleManagerInstance

◆ registeredThread

ThreadSafe<Array<IThreadInterface*> > Faro::registeredThread