Axmol 3.0.0-89d6d9a
Loading...
Searching...
No Matches
ax::rhi Namespace Reference

Command used to render one or more Triangles, which is similar to QuadCommand. More...

Classes

class  Buffer
 Used to store vertex and index data data. More...
class  ComputePipeline
 Compute pipeline (backed by a backend compute PSO / dispatch pipeline). More...
struct  StencilDesc
 Stencil descriptor. More...
struct  DepthStencilDesc
 Depth and stencil descriptor. More...
class  DepthStencilState
 Store Depth and stencil status. More...
class  GraphicsContext
 Store encoded commands for the GPU to execute. More...
class  GraphicsCore
 Centralized manager for graphics driver lifecycle and shader environment. More...
class  GraphicsDevice
 New or create resources from GraphicsDevice. More...
class  GraphicsPipeline
 Graphics pipeline. More...
class  IndexArray
 Container for index data used in graphics rendering. More...
struct  PixelBufferDesc
 A PixelBufferDesc. More...
class  Program
 A program. More...
struct  TextureBindingSet
 Store texture binding information. More...
class  ProgramState
 A program state object can create or reuse a program. More...
struct  RenderPassDesc
 Store values about color, depth and stencil attachment. More...
class  RenderTarget
 Render Target. More...
struct  SamplerDesc
struct  ExternalTextureDesc
 Describes a texture owned by an external graphics runtime, such as an OpenXR swapchain image. More...
struct  BlendDesc
 a structor to store blend descriptor More...
struct  VertexSemantic
 Describes a vertex attribute semantic used to match shader inputs with vertex layout elements. More...
class  ShaderCache
 Create and reuse shader module. More...
class  ShaderModule
 Create shader. More...
class  Texture
 A base texture. More...
class  VertexLayout
 Store vertex attribute layout. More...
struct  VulkanBinding
 Engine-owned Vulkan objects exposed to an external interop system. More...
class  VulkanFeatureChain
 Helper for building the VkDeviceCreateInfo::pNext feature chain. More...
class  VulkanInterop
 Optional Vulkan initialization hook for external graphics interop. More...

Enumerations

enum class  PixelFormat : uint8_t {
  PVRTC4 , PVRTC4A , PVRTC2 , PVRTC2A ,
  ETC1 , ETC2_RGB , ETC2_RGBA , S3TC_DXT1 ,
  S3TC_DXT3 , S3TC_DXT5 , ATC_RGB , ATC_EXPLICIT_ALPHA ,
  ATC_INTERPOLATED_ALPHA , ASTC4x4 , ASTC5x4 , ASTC5x5 ,
  ASTC6x5 , ASTC6x6 , ASTC8x5 , ASTC8x6 ,
  ASTC8x8 , ASTC10x5 , ASTC10x6 , ASTC10x8 ,
  ASTC10x10 , ASTC12x10 , ASTC12x12 , RGBA8 ,
  BGRA8 , RGB8 , RGB565 , RGBA4 ,
  RGB5A1 , R8 , RG8 , RGBA32F ,
  D24S8 , COUNT , NONE = 0xFF
}
 Possible texture pixel formats refer to: https://docs.gl/es3/glTexImage2D https://docs.gl/gl3/glTexImage2D https://developer.apple.com/documentation/metal/mtlpixelformat?language=objc. More...
enum class  ColorSpace : uint8_t
 Store texture description.

Functions

AX_ENABLE_BITMASK_OPS(ColorWriteMask) AX_ENABLE_BITSHIFT_OPS(ColorWriteMask) enum class TargetBufferFlags AX_ENABLE_BITMASK_OPS (TargetBufferFlags) inline const expr uint32_t MAX_COLOR_COUNT
 Bitmask for selecting render buffers.

Detailed Description

Command used to render one or more Triangles, which is similar to QuadCommand.

Every TrianglesCommand will have generate material ID by give textureID, ProgramState, Blend function if the material id is the same, these TrianglesCommands could be batched to save draw call.

Enumeration Type Documentation

◆ PixelFormat

enum class PixelFormat : uint8_t
strong

Possible texture pixel formats refer to: https://docs.gl/es3/glTexImage2D https://docs.gl/gl3/glTexImage2D https://developer.apple.com/documentation/metal/mtlpixelformat?language=objc.

Enumerator
PVRTC4 

4-bit PVRTC-compressed texture: PVRTC4

PVRTC4A 

4-bit PVRTC-compressed texture: PVRTC4 (has alpha channel)

PVRTC2 

2-bit PVRTC-compressed texture: PVRTC2

PVRTC2A 

2-bit PVRTC-compressed texture: PVRTC2 (has alpha channel)

ETC1 

ETC1-compressed texture: ETC1 4 BPP.

ETC2_RGB 

ETC2-compressed texture: ETC2_RGB 4 BPP.

ETC2_RGBA 

ETC2-compressed texture: ETC2_RGBA 8 BPP.

S3TC_DXT1 

S3TC-compressed texture: S3TC_Dxt1.

S3TC_DXT3 

S3TC-compressed texture: S3TC_Dxt3.

S3TC_DXT5 

S3TC-compressed texture: S3TC_Dxt5.

ATC_RGB 

ATITC-compressed texture: ATC_RGB.

ATC_EXPLICIT_ALPHA 

ATITC-compressed texture: ATC_EXPLICIT_ALPHA.

ATC_INTERPOLATED_ALPHA 

ATITC-compressed texture: ATC_INTERPOLATED_ALPHA.

ASTC4x4 

ASTC 4x4 8.0 BPP.

ASTC5x4 

ASTC 5x4 6.40 BPP.

ASTC5x5 

ASTC 5x5 5.12 BPP.

ASTC6x5 

ASTC 6x5 4.27 BPP.

ASTC6x6 

ASTC 6x6 3.56 BPP.

ASTC8x5 

ASTC 8x5 3.20 BPP.

ASTC8x6 

ASTC 8x6 2.67 BPP.

ASTC8x8 

ASTC 8x8 2.0 BPP.

ASTC10x5 

ASTC 10x5 2.56 BPP.

ASTC10x6 

ASTC 10x6 2.13 BPP.

ASTC10x8 

ASTC 10x8 1.60 BPP.

ASTC10x10 

ASTC 10x10 1.28 BPP.

ASTC12x10 

ASTC 12x10 1.07 BPP.

ASTC12x12 

ASTC 12x12 0.89 BPP.

RGBA8 

32-bit texture: RGBA8888

BGRA8 

32-bit texture: BGRA8888

RGB565 

16-bit texture without Alpha channel

RGBA4 

16-bit textures: RGBA4444

RGB5A1 

16-bit textures: RGB5A1

R8 

8-bit textures used as red, GL3/GLES3/Metal (R,G,0,0)

RG8 

16-bit read and green channel, GL3/GLES3/Metal (R,G,0,0)

RGBA32F 

!

!Please append normal pixel format 32-bit texture: RGBA8888

COUNT 

!!Please append depth stencil pixel format

NONE 

No pixel format, used for invalid texture.