MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Portal::Graphics Namespace Reference

Classes

struct  BlendAttachmentConfig
 Per-attachment blend configuration. More...
 
class  ComputePress
 Compute-specific pipeline and dispatch orchestration. More...
 
struct  DepthStencilConfig
 Depth and stencil test configuration. More...
 
struct  DescriptorBindingConfig
 Portal-level descriptor binding configuration. More...
 
struct  DescriptorBindingInfo
 Extracted descriptor binding information from shader reflection. More...
 
struct  PushConstantRangeInfo
 Extracted push constant range from shader reflection. More...
 
struct  RasterizationConfig
 Rasterization state configuration. More...
 
class  RenderFlow
 Graphics pipeline and render pass orchestration. More...
 
struct  RenderPassAttachment
 Render pass attachment configuration. More...
 
struct  RenderPipelineConfig
 Complete render pipeline configuration. More...
 
struct  SamplerConfig
 Sampler configuration. More...
 
class  SamplerForge
 Creates and caches Vulkan samplers (Singleton) More...
 
struct  ShaderCompilerConfig
 Configuration for shader compilation. More...
 
class  ShaderFoundry
 Portal-level shader compilation and caching. More...
 
struct  ShaderReflectionInfo
 Extracted reflection information from compiled shader. More...
 
struct  ShaderSource
 Shader source descriptor for compilation. More...
 
class  TextureLoom
 Portal-level texture creation and management. More...
 
class  VertexLayoutTranslator
 Translates semantic vertex layouts to Vulkan pipeline state. More...
 

Typedefs

using ComputePipelineID = uint64_t
 
using RenderPipelineID = uint64_t
 
using RenderPassID = uint64_t
 
using FramebufferID = uint64_t
 
using ShaderID = uint64_t
 
using DescriptorSetID = uint64_t
 
using CommandBufferID = uint64_t
 
using FenceID = uint64_t
 
using SemaphoreID = uint64_t
 

Enumerations

enum class  PrimitiveTopology : uint8_t {
  POINT_LIST , LINE_LIST , LINE_STRIP , TRIANGLE_LIST ,
  TRIANGLE_STRIP , TRIANGLE_FAN
}
 Vertex assembly primitive topology. More...
 
enum class  PolygonMode : uint8_t { FILL , LINE , POINT }
 Rasterization polygon mode. More...
 
enum class  CullMode : uint8_t { NONE , FRONT , BACK , FRONT_AND_BACK }
 Face culling mode. More...
 
enum class  CompareOp : uint8_t {
  NEVER , LESS , EQUAL , LESS_OR_EQUAL ,
  GREATER , NOT_EQUAL , GREATER_OR_EQUAL , ALWAYS
}
 Depth/stencil comparison operation. More...
 
enum class  BlendFactor : uint8_t {
  ZERO , ONE , SRC_COLOR , ONE_MINUS_SRC_COLOR ,
  DST_COLOR , ONE_MINUS_DST_COLOR , SRC_ALPHA , ONE_MINUS_SRC_ALPHA ,
  DST_ALPHA , ONE_MINUS_DST_ALPHA
}
 Blending factor. More...
 
enum class  BlendOp : uint8_t {
  ADD , SUBTRACT , REVERSE_SUBTRACT , MIN ,
  MAX
}
 Blending operation. More...
 
enum class  ShaderStage : uint8_t {
  COMPUTE , VERTEX , FRAGMENT , GEOMETRY ,
  TESS_CONTROL , TESS_EVALUATION
}
 User-friendly shader stage enum. More...
 
enum class  ImageFormat : uint8_t {
  R8 , RG8 , RGB8 , RGBA8 ,
  RGBA8_SRGB , R16F , RG16F , RGBA16F ,
  R32F , RG32F , RGBA32F , DEPTH16 ,
  DEPTH24 , DEPTH32F , DEPTH24_STENCIL8
}
 User-friendly image format enum. More...
 
enum class  FilterMode : uint8_t { NEAREST , LINEAR , CUBIC }
 Texture filtering mode. More...
 
enum class  AddressMode : uint8_t { REPEAT , MIRRORED_REPEAT , CLAMP_TO_EDGE , CLAMP_TO_BORDER }
 Texture addressing mode (wrapping) More...
 

Functions

MAYAFLUX_API ComputePressget_compute_press ()
 
bool initialize (const std::shared_ptr< Core::VulkanBackend > &backend)
 Initialize Portal::Graphics Glue Layer.
 
void shutdown ()
 Shutdown Portal::Graphics subsystem.
 
bool is_initialized ()
 Check if Portal::Graphics is initialized.
 
MAYAFLUX_API RenderFlowget_render_flow ()
 Get the global render flow instance.
 
SamplerForgeget_sampler_factory ()
 Convenience wrapper around SamplerForge::instance()
 
MAYAFLUX_API ShaderFoundryget_shader_foundry ()
 Get the global shader compiler instance.
 
MAYAFLUX_API TextureLoomget_texture_manager ()
 Get the global texture manager instance.
 

Variables

constexpr ComputePipelineID INVALID_COMPUTE_PIPELINE = 0
 
constexpr RenderPipelineID INVALID_RENDER_PIPELINE = 0
 
constexpr RenderPassID INVALID_RENDER_PASS = 0
 
constexpr FramebufferID INVALID_FRAMEBUFFER = 0
 
constexpr ShaderID INVALID_SHADER = 0
 
constexpr DescriptorSetID INVALID_DESCRIPTOR_SET = 0
 
constexpr CommandBufferID INVALID_COMMAND_BUFFER = 0
 
constexpr FenceID INVALID_FENCE = 0
 
constexpr SemaphoreID INVALID_SEMAPHORE = 0