⚠️ This documentation corresponds to the latest development branch of axmol. It might diverge from the official releases.

Axmol Engine 3.0.0-ff0e11a
Loading...
Searching...
No Matches
ax::rhi Namespace Reference

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

Classes

struct  BlendDesc
 a structor to store blend descriptor More...
class  Buffer
 Used to store vertex and index data data. More...
struct  DepthStencilDesc
 Depth and stencil descriptor. More...
class  DepthStencilState
 Store Depth and stencil status. More...
class  DriverBase
 New or create resources from DriverBase. More...
struct  PixelBufferDesc
 A PixelBufferDesc. More...
class  Program
 A program. More...
class  ProgramState
 A program state object can create or reuse a program. More...
class  RenderContext
 Store encoded commands for the GPU to execute. More...
struct  RenderPassDesc
 Store values about color, depth and stencil attachment. More...
class  RenderPipeline
 Render pipeline. More...
class  RenderTarget
 Render Target. More...
struct  SamplerDesc
class  ShaderCache
 Create and reuse shader module. More...
class  ShaderModule
 Create shader. More...
struct  StencilDesc
 Stencil descriptor. More...
class  Texture
 A base texture. More...
struct  TextureBindingSet
 Store texture binding information. More...
struct  TextureDesc
 Store texture description. More...
class  VertexLayout
 Store vertex attribute layout. 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...

Functions

AX_ENABLE_BITMASK_OPS(ColorWriteMask) AX_ENABLE_BITSHIFT_OPS(ColorWriteMask) enum class TargetBufferFlags AX_ENABLE_BITMASK_OPS (TargetBufferFlags) inline TargetBufferFlags getMRTColorFlag(size_t index) noexcept
 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

RGB8 

24-bit texture: RGBA888

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.