MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
GraphicsUtils.hpp File Reference
+ Include dependency graph for GraphicsUtils.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Portal::Graphics::DrawRun
 One contiguous span of vertices sharing a primitive topology. More...
 
struct  MayaFlux::Portal::Graphics::GpuBufferBinding
 Declares a single storage buffer or image binding a compute shader expects. More...
 
struct  MayaFlux::Portal::Graphics::RenderConfig
 Unified rendering configuration for graphics buffers. More...
 
struct  MayaFlux::Portal::Graphics::SamplerConfig
 Sampler configuration. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Core
 
namespace  MayaFlux::Portal
 
namespace  MayaFlux::Portal::Graphics
 

Typedefs

using MayaFlux::Portal::Graphics::ImageFormat = Kakshya::ImageFormat
 Portal name for Kakshya::ImageFormat, which maps to vk::Format in TextureLoom.
 

Enumerations

enum class  MayaFlux::Portal::Graphics::AddressMode : uint8_t { MayaFlux::Portal::Graphics::REPEAT , MayaFlux::Portal::Graphics::MIRRORED_REPEAT , MayaFlux::Portal::Graphics::CLAMP_TO_EDGE , MayaFlux::Portal::Graphics::CLAMP_TO_BORDER }
 Texture addressing mode (wrapping) More...
 
enum class  MayaFlux::Portal::Graphics::BlendFactor : uint8_t {
  MayaFlux::Portal::Graphics::ZERO , MayaFlux::Portal::Graphics::ONE , MayaFlux::Portal::Graphics::SRC_COLOR , MayaFlux::Portal::Graphics::ONE_MINUS_SRC_COLOR ,
  MayaFlux::Portal::Graphics::DST_COLOR , MayaFlux::Portal::Graphics::ONE_MINUS_DST_COLOR , MayaFlux::Portal::Graphics::SRC_ALPHA , MayaFlux::Portal::Graphics::ONE_MINUS_SRC_ALPHA ,
  MayaFlux::Portal::Graphics::DST_ALPHA , MayaFlux::Portal::Graphics::ONE_MINUS_DST_ALPHA
}
 Blending factor. More...
 
enum class  MayaFlux::Portal::Graphics::BlendOp : uint8_t {
  MayaFlux::Portal::Graphics::ADD , MayaFlux::Portal::Graphics::SUBTRACT , MayaFlux::Portal::Graphics::REVERSE_SUBTRACT , MayaFlux::Portal::Graphics::MIN ,
  MayaFlux::Portal::Graphics::MAX
}
 Blending operation. More...
 
enum class  MayaFlux::Portal::Graphics::BorderColor : uint8_t { MayaFlux::Portal::Graphics::DEFAULT , MayaFlux::Portal::Graphics::TRANSPARENT_BLACK , MayaFlux::Portal::Graphics::OPAQUE_BLACK , MayaFlux::Portal::Graphics::OPAQUE_WHITE }
 Color read outside the texture when an address mode is CLAMP_TO_BORDER. More...
 
enum class  MayaFlux::Portal::Graphics::BufferUsageHint : uint8_t {
  MayaFlux::Portal::Graphics::STAGING , MayaFlux::Portal::Graphics::DEVICE , MayaFlux::Portal::Graphics::COMPUTE , MayaFlux::Portal::Graphics::VERTEX ,
  MayaFlux::Portal::Graphics::INDEX , MayaFlux::Portal::Graphics::UNIFORM , MayaFlux::Portal::Graphics::UNIFORM_BDA , MayaFlux::Portal::Graphics::STORAGE_BDA ,
  MayaFlux::Portal::Graphics::INDIRECT , MayaFlux::Portal::Graphics::HOST_STORAGE , MayaFlux::Portal::Graphics::COMPUTE_STORAGE
}
 Semantic usage hint for buffer allocation and memory properties. More...
 
enum class  MayaFlux::Portal::Graphics::CompareOp : uint8_t {
  MayaFlux::Portal::Graphics::NEVER , MayaFlux::Portal::Graphics::LESS , MayaFlux::Portal::Graphics::EQUAL , MayaFlux::Portal::Graphics::LESS_OR_EQUAL ,
  MayaFlux::Portal::Graphics::GREATER , MayaFlux::Portal::Graphics::NOT_EQUAL , MayaFlux::Portal::Graphics::GREATER_OR_EQUAL , MayaFlux::Portal::Graphics::ALWAYS
}
 Depth/stencil comparison operation. More...
 
enum class  MayaFlux::Portal::Graphics::CullMode : uint8_t { MayaFlux::Portal::Graphics::NONE , MayaFlux::Portal::Graphics::FRONT , MayaFlux::Portal::Graphics::BACK , MayaFlux::Portal::Graphics::FRONT_AND_BACK }
 Face culling mode. More...
 
enum class  MayaFlux::Portal::Graphics::FilterMode : uint8_t { MayaFlux::Portal::Graphics::NEAREST , MayaFlux::Portal::Graphics::LINEAR , MayaFlux::Portal::Graphics::CUBIC }
 Texture filtering mode. More...
 
enum class  MayaFlux::Portal::Graphics::FitMode : uint8_t {
  MayaFlux::Portal::Graphics::STRETCH , MayaFlux::Portal::Graphics::CONTAIN , MayaFlux::Portal::Graphics::COVER , MayaFlux::Portal::Graphics::CENTER ,
  MayaFlux::Portal::Graphics::TILE , MayaFlux::Portal::Graphics::TILE_MIRRORED
}
 How a source extent is mapped onto a destination extent. More...
 
enum class  MayaFlux::Portal::Graphics::PolygonMode : uint8_t { MayaFlux::Portal::Graphics::FILL , MayaFlux::Portal::Graphics::LINE , MayaFlux::Portal::Graphics::POINT }
 Rasterization polygon mode. More...
 
enum class  MayaFlux::Portal::Graphics::PrimitiveTopology : uint8_t {
  MayaFlux::Portal::Graphics::POINT_LIST , MayaFlux::Portal::Graphics::LINE_LIST , MayaFlux::Portal::Graphics::LINE_STRIP , MayaFlux::Portal::Graphics::TRIANGLE_LIST ,
  MayaFlux::Portal::Graphics::TRIANGLE_STRIP , MayaFlux::Portal::Graphics::TRIANGLE_FAN
}
 Vertex assembly primitive topology. More...
 
enum class  MayaFlux::Portal::Graphics::ShaderStage : uint8_t {
  MayaFlux::Portal::Graphics::COMPUTE , MayaFlux::Portal::Graphics::VERTEX , MayaFlux::Portal::Graphics::FRAGMENT , MayaFlux::Portal::Graphics::GEOMETRY ,
  MayaFlux::Portal::Graphics::TESS_CONTROL , MayaFlux::Portal::Graphics::TESS_EVALUATION , MayaFlux::Portal::Graphics::MESH , MayaFlux::Portal::Graphics::TASK
}
 User-friendly shader stage enum. More...
 

Functions

size_t MayaFlux::Portal::Graphics::element_type_bytes (GpuBufferBinding::ElementType et) noexcept
 Byte width of one GpuBufferBinding::ElementType element.
 
constexpr bool MayaFlux::Portal::Graphics::is_concatenable_topology (PrimitiveTopology topology) noexcept
 Whether two adjacent spans of this topology can be concatenated without altering the primitives they assemble.
 
constexpr uint32_t MayaFlux::Portal::Graphics::triangle_vertex_count (PrimitiveTopology topology, uint32_t n) noexcept
 Vertices a span of n at topology yields once reduced to a TRIANGLE_LIST, with points becoming quads and line segments ribbons.