Hubris Engine Dev
A Project to learn and get into Game Engine developement.
 
Loading...
Searching...
No Matches
Hubris::Graphics Namespace Reference

Contains all graphics related classes and structs. More...

Namespaces

namespace  GL
 
namespace  Vulkan
 

Classes

struct  FormatInfo
 
struct  FormatTraits
 
class  Image
 
class  Pipeline
 
struct  PipelineDescriptor
 
class  Platform
 
class  Renderer
 
class  Shader
 
struct  ShaderPack
 
class  Swapchain
 
struct  Viewport
 Screen-space Dimensions. The Depth Values are used by the pipelines. More...
 
class  vkPipeline
 
class  Window
 

Enumerations

enum class  ComponentType {
  Unknown , UNorm , SNorm , UInt = 1 << 2 ,
  SInt = 1 << 3 , Float = 1 << 4 , Depth = 1 << 5 , Stencil = 1 << 6
}
 
enum class  Format {
  Undefined , R8Unorm , R8Snorm , R8Uint ,
  R8Sint , R8G8Unorm , R8G8Snorm , R8G8Uint ,
  R8G8Sint , R8G8B8A8Unorm , R8G8B8A8Snorm , R8G8B8A8Uint ,
  R8G8B8A8Sint , R8G8B8A8Srgb , B8G8R8A8Unorm , B8G8R8A8Srgb ,
  A2R10G10B10Unorm , R16Float , R16Uint , R16Sint ,
  R16G16Float , R16G16Uint , R16G16Sint , R16G16B16A16Float ,
  R16G16B16A16Uint , R16G16B16A16Sint , R32Uint , R32Sint ,
  R32Float , R32G32Uint , R32G32Sint , R32G32Float ,
  R32G32B32A32Uint , R32G32B32A32Sint , R32G32B32A32Float , D16Unorm ,
  D24UnormS8Uint , D32Sfloat , D32SfloatS8Uint , Count
}
 
enum class  ImageLayout {
  UNDEFINED , COLOR_ATTACHMENT , DEPTH_STENCIL_ATTACHMENT , SHADER_READ_ONLY ,
  TRANSFER_SRC , TRANSFER_DST
}
 
enum class  ImageMemoryType { GPU_LOCAL , CPU_VISIBLE , CPU_TO_GPU }
 
enum class  Swizzle : unsigned char { X , Y , Z , W }
 
enum class  PipelineType { Graphics , Compute , RayTracing }
 
enum class  ShaderStage {
  Unknown , Vertex = ENUMSHIFT(0) , Fragment = ENUMSHIFT(1) , Geometry = ENUMSHIFT(2) ,
  TessellationControl = ENUMSHIFT(3) , TessellationEvaluation = ENUMSHIFT(4) , Compute = ENUMSHIFT(5)
}
 
enum class  PresentMode : unsigned char { Immediate , Mailbox , Fifo , FifoRelaxed }
 
enum class  SwapchainResult : unsigned char {
  Success , Timeout , Suboptimal , OutOfDate ,
  Error
}
 

Functions

constexpr const FormatInfogetFormatInfo (Format fmt)
 
constexpr const char * formatName (Format fmt)
 
constexpr ComponentType componentType (Format fmt)
 
constexpr size_t formatSize (Format fmt)
 
constexpr uint32_t formatChannels (Format fmt)
 
constexpr bool isDepthFormat (Format fmt)
 
constexpr bool isSrgbFormat (Format fmt)
 
constexpr const char * VertexStageToString (const Hubris::Graphics::ShaderStage stage) noexcept
 

Variables

constexpr FormatInfo formatTable []
 

Detailed Description

Contains all graphics related classes and structs.

Enumeration Type Documentation

◆ ComponentType

Enumerator
Unknown 
UNorm 
SNorm 
UInt 
SInt 
Float 
Depth 
Stencil 

Definition at line 12 of file Format.h.

◆ Format

enum class Hubris::Graphics::Format
strong
Enumerator
Undefined 
R8Unorm 
R8Snorm 
R8Uint 
R8Sint 
R8G8Unorm 
R8G8Snorm 
R8G8Uint 
R8G8Sint 
R8G8B8A8Unorm 
R8G8B8A8Snorm 
R8G8B8A8Uint 
R8G8B8A8Sint 
R8G8B8A8Srgb 
B8G8R8A8Unorm 
B8G8R8A8Srgb 
A2R10G10B10Unorm 
R16Float 
R16Uint 
R16Sint 
R16G16Float 
R16G16Uint 
R16G16Sint 
R16G16B16A16Float 
R16G16B16A16Uint 
R16G16B16A16Sint 
R32Uint 
R32Sint 
R32Float 
R32G32Uint 
R32G32Sint 
R32G32Float 
R32G32B32A32Uint 
R32G32B32A32Sint 
R32G32B32A32Float 
D16Unorm 
D24UnormS8Uint 
D32Sfloat 
D32SfloatS8Uint 
Count 

Definition at line 24 of file Format.h.

◆ ImageLayout

enum class Hubris::Graphics::ImageLayout
strong
Enumerator
UNDEFINED 
COLOR_ATTACHMENT 
DEPTH_STENCIL_ATTACHMENT 
SHADER_READ_ONLY 
TRANSFER_SRC 
TRANSFER_DST 

Definition at line 6 of file Image.h.

◆ ImageMemoryType

Enumerator
GPU_LOCAL 
CPU_VISIBLE 
CPU_TO_GPU 

Definition at line 15 of file Image.h.

◆ PipelineType

enum class Hubris::Graphics::PipelineType
strong
Enumerator
Graphics 
Compute 
RayTracing 

Definition at line 11 of file Pipeline.h.

◆ PresentMode

enum class Hubris::Graphics::PresentMode : unsigned char
strong
Enumerator
Immediate 
Mailbox 
Fifo 
FifoRelaxed 

Definition at line 7 of file Swapchain.h.

◆ ShaderStage

enum class Hubris::Graphics::ShaderStage
strong
Enumerator
Unknown 
Vertex 
Fragment 
Geometry 
TessellationControl 
TessellationEvaluation 
Compute 

Definition at line 8 of file Shader.h.

◆ SwapchainResult

enum class Hubris::Graphics::SwapchainResult : unsigned char
strong
Enumerator
Success 
Timeout 
Suboptimal 
OutOfDate 
Error 

Definition at line 14 of file Swapchain.h.

◆ Swizzle

enum class Hubris::Graphics::Swizzle : unsigned char
strong
Enumerator

Definition at line 21 of file Image.h.

Function Documentation

◆ componentType()

ComponentType Hubris::Graphics::componentType ( Format fmt)
constexpr

Definition at line 158 of file Format.h.

+ Here is the call graph for this function:

◆ formatChannels()

uint32_t Hubris::Graphics::formatChannels ( Format fmt)
constexpr

Definition at line 168 of file Format.h.

+ Here is the call graph for this function:

◆ formatName()

const char * Hubris::Graphics::formatName ( Format fmt)
constexpr

Definition at line 153 of file Format.h.

+ Here is the call graph for this function:

◆ formatSize()

size_t Hubris::Graphics::formatSize ( Format fmt)
constexpr

Definition at line 163 of file Format.h.

+ Here is the call graph for this function:

◆ getFormatInfo()

const FormatInfo * Hubris::Graphics::getFormatInfo ( Format fmt)
constexpr

Definition at line 146 of file Format.h.

+ Here is the caller graph for this function:

◆ isDepthFormat()

bool Hubris::Graphics::isDepthFormat ( Format fmt)
constexpr

Definition at line 173 of file Format.h.

+ Here is the call graph for this function:

◆ isSrgbFormat()

bool Hubris::Graphics::isSrgbFormat ( Format fmt)
constexpr

Definition at line 178 of file Format.h.

+ Here is the call graph for this function:

◆ VertexStageToString()

const char * Hubris::Graphics::VertexStageToString ( const Hubris::Graphics::ShaderStage stage)
constexprnoexcept

Definition at line 18 of file Shader.h.

+ Here is the caller graph for this function:

Variable Documentation

◆ formatTable

FormatInfo Hubris::Graphics::formatTable[]
constexpr

Definition at line 92 of file Format.h.