|
enum class | ClearType : uint32_t { color = 0x1
, depth = 0x2
, stencil = 0x4
, depthStencil = depth | stencil
} |
enum class | ContextCreateFlag { withModuleResourceManage = 0x1
, withModuleRenderGraph = 0x2
, defaultConfig
} |
enum class | UpdateFrequency { Static
, PerFrame
, PerObject
, Dynamic
} |
enum class | DataType {
Float
, Vec2
, Vec3
, Vec4
,
Mat2
, Mat3
, Mat4
, Int
,
IVec2
, IVec3
, IVec4
, UInt
,
UVec2
, UVec3
, UVec4
, Bool
,
BVec2
, BVec3
, BVec4
} |
enum class | PrimitiveType { Lines
, Triangles
} |
enum class | Format {
UNDEFINED
, R8_UNORM
, R8G8_UNORM
, R8G8B8_UNORM
,
R8G8B8A8_UNORM
, B8G8R8A8_UNORM
, R8G8B8A8_SRGB
, B8G8R8A8_SRGB
,
R16_SFLOAT
, R16G16_SFLOAT
, R16G16B16A16_SFLOAT
, R8_SINT
,
R8G8_SINT
, R8G8B8_SINT
, R8G8B8A8_SINT
, R16_SINT
,
R16G16_SINT
, R16G16B16_SINT
, R16G16B16A16_SINT
, R32_SINT
,
R32G32_SINT
, R32G32B32_SINT
, R32G32B32A32_SINT
, R8_UINT
,
R8G8_UINT
, R8G8B8_UINT
, R8G8B8A8_UINT
, R16_UINT
,
R16G16_UINT
, R16G16B16_UINT
, R16G16B16A16_UINT
, R32_UINT
,
R32G32_UINT
, R32G32B32_UINT
, R32G32B32A32_UINT
, R32_SFLOAT
,
R32G32_SFLOAT
, R32G32B32_SFLOAT
, R32G32B32A32_SFLOAT
, D16_UNORM
,
D24_UNORM_S8_UINT
, D32_SFLOAT
, D32_SFLOAT_S8_UINT
, UNDEFINED
,
R8_UNORM
, R8G8_UNORM
, R8G8B8_UNORM
, R8G8B8A8_UNORM
,
B8G8R8A8_UNORM
, R8G8B8A8_SRGB
, B8G8R8A8_SRGB
, R16_SFLOAT
,
R16G16_SFLOAT
, R16G16B16A16_SFLOAT
, R8_SINT
, R8G8_SINT
,
R8G8B8_SINT
, R8G8B8A8_SINT
, R16_SINT
, R16G16_SINT
,
R16G16B16_SINT
, R16G16B16A16_SINT
, R32_SINT
, R32G32_SINT
,
R32G32B32_SINT
, R32G32B32A32_SINT
, R8_UINT
, R8G8_UINT
,
R8G8B8_UINT
, R8G8B8A8_UINT
, R16_UINT
, R16G16_UINT
,
R16G16B16_UINT
, R16G16B16A16_UINT
, R32_UINT
, R32G32_UINT
,
R32G32B32_UINT
, R32G32B32A32_UINT
, R32_SFLOAT
, R32G32_SFLOAT
,
R32G32B32_SFLOAT
, R32G32B32A32_SFLOAT
, D16_UNORM
, D24_UNORM_S8_UINT
,
D32_SFLOAT
, D32_SFLOAT_S8_UINT
} |
enum class | Samples {
sample_undefined = 0
, sample_1
, sample_2
, sample_4
,
sample_8
, sample_16
, sample_32
, sample_undefined = 0
,
sample_1
, sample_2
, sample_4
, sample_8
,
sample_16
, sample_32
} |
enum class | RenderTargetType { WindowTarget
, ImageTarget
} |
enum class | JobType { TraditionRender
, Submit
} |
enum class | RenderGraphVertexType { Pass
, Resource
} |
enum class | PassGraphEdgeType { Dependency
} |
enum class | ResourceGraphEdgeType { Reference
, ParentChild
} |
enum class | TextureType {
Texture2D
, Texture3D
, TextureCube
, Texture2DArray
,
DepthTexture
} |
enum class | ShaderKind {
VertexShader
, FragmentShader
, ComputeShader
, GeometryShader
,
TessControlShader
, MeshShader
} |
enum class | ShaderStage : uint32_t {
Vertex = 0x00000001
, Fragment = 0x00000002
, Compute = 0x00000004
, Geometry = 0x00000008
,
TessControl = 0x00000010
, TessEvaluation = 0x00000020
, Mesh = 0x00000040
, Task = 0x00000080
,
RayGen = 0x00000100
, AnyHit = 0x00000200
, ClosestHit = 0x00000400
, Miss = 0x00000800
,
Intersection = 0x00001000
, Callable = 0x00002000
, All = 0xFFFFFFFF
} |
enum class | ConstType {
ModelMatrix
, ViewMatrix
, ProjectionMatrix
, MVPMatrix
,
Mat4
, Mat3
, Vec4
, Vec3
,
Vec2
, Float
, Int
, Bool
,
Texture2D
, TextureCube
, Custom
} |
enum class | VtxType {
Position2f
, Position3f
, Position4f
, Normal3f
,
Tangent3f
, Bitangent3f
, TexCoord2f
, Color3f
,
Color4f
, VertexCoord2f
, CommandOffset
, CommandSize
,
BatchID
, FaceId
, Custom
} |
enum class | ModelVertexAttribute {
Position
, Normal
, TexCoord0
, TexCoord1
,
TexCoord2
, TexCoord3
, TexCoord4
, TexCoord5
,
TexCoord6
, TexCoord7
, Color0
, Color1
,
Color2
, Color3
, Color4
, Color5
,
Color6
, Color7
, Tangent
, Bitangent
,
None
} |
enum class | AccessFlag : size_t {
none = 0
, memoryRead = 1 << 1
, colorAttachmentWrite = 1 << 2
, depthStencilAttachmentWrite = 1 << 3
,
shaderRead = 1 << 4
} |
enum class | BlendFactor {
Zero
, One
, SrcColor
, OneMinusSrcColor
,
DstColor
, OneMinusDstColor
, SrcAlpha
, OneMinusSrcAlpha
,
DstAlpha
, OneMinusDstAlpha
, ConstantColor
, OneMinusConstantColor
,
Src1Color
, OneMinusSrc1Color
, Src1Alpha
, OneMinusSrc1Alpha
} |
enum class | BlendOp {
Add
, Subtract
, ReverseSubtract
, Min
,
Max
} |
enum class | LogicOp {
Clear
, And
, AndReverse
, Copy
,
AndInverted
, NoOp
, Xor
, Or
,
Nor
, Equivalent
, Invert
, OrReverse
,
CopyInverted
, OrInverted
, Nand
, Set
} |
enum class | StencilOp {
Keep
, Zero
, Replace
, IncrementClamp
,
DecrementClamp
, Invert
, IncrementWrap
, DecrementWrap
} |
enum class | ImageAspect { color = 1 << 0
, depth = 1 << 1
, stencil = 1 << 2
} |
enum class | ImageLayout {
undefined
, general
, colorAttachmentOptimal
, depthStencilAttachmentOptimal
,
depthStencilReadOnlyOptimal
, shaderReadOnlyOptimal
, transferSrcOptimal
, transferDstOptimal
,
preinitialized
, depthReadOnlyStencilAttachmentOptimal
, depthAttachmentStencilReadOnlyOptimal
, depthAttachmentOptimal
,
depthReadOnlyOptimal
, stencilAttachmentOptimal
, stencilReadOnlyOptimal
, readOnlyOptimal
,
attachmentOptimal
, renderingLocalRead
, presentSrcKHR
, videoDecodeDstKHR
,
videoDecodeSrcKHR
, videoDecodeDpbKHR
, sharedPresentKHR
, fragmentDensityMapOptimalEXT
,
fragmentShadingRateAttachmentOptimalKHR
, shadingRateOptimalNV
, videoEncodeDstKHR
, videoEncodeSrcKHR
,
videoEncodeDpbKHR
, attachmentFeedbackLoopOptimalEXT
, videoEncodeQuantizationMapKHR
} |
enum class | ImageUsage : unsigned int { RenderTarget = 0x1
, DepthStencil = 0x2
, Texture = 0x4
} |
enum class | PipelineResourceType {
VertexShader
, PixelShader
, VertexBuffer
, IndexBuffer
,
InputLayout
, DepthStencilState
, RasterizationState
, BlendState
,
Texture
, DrawCall
, ConstBuffer
, TextureArray
,
RootSign
, ViewportState
} |
enum | PipelineType { Traditional
, RayTracing
, MeshShader
} |
enum class | PipelineStage : uint32_t {
colorAttachmentOutput = 1 << 0
, earlyFragmentTests = 1 << 1
, bottomOfPipe = 1 << 2
, topOfPipe = 1 << 3
,
lateFragmentTests = 1 << 4
, fragmentShader = 1 << 5
, vertexShader = 1 << 6
, computeShader = 1 << 7
} |
enum class | PolygonMode { Fill
, Line
, Point
} |
enum class | CullMode { None
, Front
, Back
, FrontAndBack
} |
enum class | FrontFace { Clockwise
, CounterClockwise
} |
enum class | FilterMode { Nearest
, Linear
} |
enum class | AddressMode {
Repeat
, MirroredRepeat
, ClampToEdge
, ClampToBorder
,
MirrorClampToEdge
} |
enum class | CompareOp {
Never
, Less
, Equal
, LessOrEqual
,
Greater
, NotEqual
, GreaterOrEqual
, Always
} |
enum class | BorderColor { TransparentBlack
, OpaqueBlack
, OpaqueWhite
} |
enum class | Format {
UNDEFINED
, R8_UNORM
, R8G8_UNORM
, R8G8B8_UNORM
,
R8G8B8A8_UNORM
, B8G8R8A8_UNORM
, R8G8B8A8_SRGB
, B8G8R8A8_SRGB
,
R16_SFLOAT
, R16G16_SFLOAT
, R16G16B16A16_SFLOAT
, R8_SINT
,
R8G8_SINT
, R8G8B8_SINT
, R8G8B8A8_SINT
, R16_SINT
,
R16G16_SINT
, R16G16B16_SINT
, R16G16B16A16_SINT
, R32_SINT
,
R32G32_SINT
, R32G32B32_SINT
, R32G32B32A32_SINT
, R8_UINT
,
R8G8_UINT
, R8G8B8_UINT
, R8G8B8A8_UINT
, R16_UINT
,
R16G16_UINT
, R16G16B16_UINT
, R16G16B16A16_UINT
, R32_UINT
,
R32G32_UINT
, R32G32B32_UINT
, R32G32B32A32_UINT
, R32_SFLOAT
,
R32G32_SFLOAT
, R32G32B32_SFLOAT
, R32G32B32A32_SFLOAT
, D16_UNORM
,
D24_UNORM_S8_UINT
, D32_SFLOAT
, D32_SFLOAT_S8_UINT
, UNDEFINED
,
R8_UNORM
, R8G8_UNORM
, R8G8B8_UNORM
, R8G8B8A8_UNORM
,
B8G8R8A8_UNORM
, R8G8B8A8_SRGB
, B8G8R8A8_SRGB
, R16_SFLOAT
,
R16G16_SFLOAT
, R16G16B16A16_SFLOAT
, R8_SINT
, R8G8_SINT
,
R8G8B8_SINT
, R8G8B8A8_SINT
, R16_SINT
, R16G16_SINT
,
R16G16B16_SINT
, R16G16B16A16_SINT
, R32_SINT
, R32G32_SINT
,
R32G32B32_SINT
, R32G32B32A32_SINT
, R8_UINT
, R8G8_UINT
,
R8G8B8_UINT
, R8G8B8A8_UINT
, R16_UINT
, R16G16_UINT
,
R16G16B16_UINT
, R16G16B16A16_UINT
, R32_UINT
, R32G32_UINT
,
R32G32B32_UINT
, R32G32B32A32_UINT
, R32_SFLOAT
, R32G32_SFLOAT
,
R32G32B32_SFLOAT
, R32G32B32A32_SFLOAT
, D16_UNORM
, D24_UNORM_S8_UINT
,
D32_SFLOAT
, D32_SFLOAT_S8_UINT
} |
enum class | Samples {
sample_undefined = 0
, sample_1
, sample_2
, sample_4
,
sample_8
, sample_16
, sample_32
, sample_undefined = 0
,
sample_1
, sample_2
, sample_4
, sample_8
,
sample_16
, sample_32
} |
enum class | WindowCreateFlag { withDefaultDepthStencil = 1 << 0
, withAutoViewport = 1 << 1
, defaultConfig = withDefaultDepthStencil | withAutoViewport
} |
|
template<typename BitType, typename std::enable_if< FlagTraits< BitType >::isBitmask, bool >::type = true> |
constexpr Flags< BitType > | operator| (BitType lhs, BitType rhs) noexcept |
template<typename BitType, typename std::enable_if< FlagTraits< BitType >::isBitmask, bool >::type = true> |
constexpr Flags< BitType > | operator& (BitType lhs, BitType rhs) noexcept |
template<typename BitType, typename std::enable_if< FlagTraits< BitType >::isBitmask, bool >::type = true> |
constexpr Flags< BitType > | operator^ (BitType lhs, BitType rhs) noexcept |
template<typename BitType, typename std::enable_if< FlagTraits< BitType >::isBitmask, bool >::type = true> |
constexpr Flags< BitType > | operator~ (BitType bits) noexcept |
template<typename BitType> |
constexpr Flags< BitType > | operator| (BitType bit, Flags< BitType > const &flags) noexcept |
template<typename BitType> |
constexpr Flags< BitType > | operator& (BitType bit, Flags< BitType > const &flags) noexcept |
template<typename BitType> |
constexpr Flags< BitType > | operator^ (BitType bit, Flags< BitType > const &flags) noexcept |
constexpr bool | StringEquals (const char *a, const char *b) noexcept |
| FCT_DECLARE_FLAGS (ClearType) |
size_t | GetDataTypeSize (DataType type) |
const char * | GetDataTypeName (DataType type) |
constexpr const char * | FormatToShaderType (Format format) noexcept |
constexpr size_t | FormatSize (Format format) noexcept |
vk::SampleCountFlagBits | ToVkSampleCount (Samples samples) |
Samples | FromVkSampleCount (vk::SampleCountFlagBits sampleCount) |
vk::Format | ToVkFormat (Format format) |
Format | FromVkFormat (vk::Format format) |
std::ostream & | operator<< (std::ostream &os, const Mat4 &mat) |
constexpr const char * | GetTextureDefaultName (TextureType type) |
std::string | WindowToToken (Window *wnd) |
std::string | SwapchainToToken (RHI::Swapchain *swapchain) |
constexpr shaderc_shader_kind | FCTShaderKindToShaderrcShaderKind (ShaderKind kind) |
| FCT_DECLARE_FLAGS (ShaderStage) |
ShaderStage | getEarliestStage (ShaderStages stages) |
FCT::ShaderStages | getAllAfterTheStage (FCT::ShaderStage stages) |
vk::ShaderStageFlags | ConvertToVkShaderStageFlags (ShaderStages stages) |
constexpr size_t | GetUniformSize (ConstType type) |
constexpr size_t | GetUniformAlignment (ConstType type) |
constexpr size_t | GetHLSLArrayElementSize (ConstType type) |
constexpr const char * | GetUniformDefaultName (ConstType type) |
Vec3 | normalize (const Vec3 &v) |
Vec3 | cross (const Vec3 &a, const Vec3 &b) |
float | dot (const Vec3 &a, const Vec3 &b) |
constexpr ModelVertexAttribute | GetDefaultModelAttribute (VtxType type) noexcept |
constexpr bool | isPositionType (VtxType type) noexcept |
constexpr Format | GetDefaultFormat (VtxType type) noexcept |
constexpr const char * | GetDefaultSemantic (VtxType type) noexcept |
template<typename T> |
void | AllocatorDelete (T *ptr) |
template<typename T> |
T * | AllocatorNew (size_t size) |
template<typename T> |
T * | New (T *ptr) |
template<typename T, typename... Args> |
T * | New (T *ptr, Args &&... args) |
template<typename T> |
void | Destroy (T *ptr) |
void | setVertexAttributeFromModel (Vertex &vertex, size_t elementIndex, const VertexElement &element, const ModelVertex &modelVertex) |
void | safeAddRef (RefCount *obj) |
void | safeRelease (RefCount *&obj) |
| FCT_DECLARE_FLAGS (AccessFlag) |
vk::AccessFlagBits | ToVkAccessFlagBits (AccessFlag flag) |
| FCT_TO_FLAGS (ToVkAccessFlags, ToVkAccessFlagBits, AccessFlag) |
| FCT_DECLARE_FLAGS (ImageAspect) |
| FCT_DECLARE_FLAGS (ImageUsage) |
| FCT_DECLARE_FLAGS (PipelineStage) |
vk::PipelineStageFlagBits | ToVkFlagBits (FCT::PipelineStage pipelineStage) |
vk::PipelineStageFlags | ToVkPipelineStageFlags (FCT::PipelineStages pipelineStages) |
| FCT_DECLARE_FLAGS (WindowCreateFlag) |