package
0.22.0
Repository: https://github.com/mokiat/lacking.git
Documentation: pkg.go.dev

# Packages

Package ubo provides uniform buffer object utilities.

# Functions

NewTextureBinding creates a new TextureBinding with the specified name and index.
NewUniformBinding creates a new UniformBinding with the specified name and index.
NewVertexArrayAttribute creates a new VertexArrayAttribute with the specified binding, location, offset and format.
NewVertexArrayBinding creates a new VertexArrayBinding with the specified buffer and stride.
PlainTextureAttachment creates a TextureAttachment that for the specified texture at the root mipmap layer and depth.

# Constants

BlendFactorConstantAlpha specifies that the blend factor is the constant alpha.
BlendFactorConstantColor specifies that the blend factor is the constant color.
BlendFactorDestinationAlpha specifies that the blend factor is the destination alpha.
BlendFactorDestinationColor specifies that the blend factor is the destination color.
BlendFactorOne specifies that the blend factor is one.
BlendFactorOneMinusConstantAlpha specifies that the blend factor is one minus the constant alpha.
BlendFactorOneMinusConstantColor specifies that the blend factor is one minus the constant color.
BlendFactorOneMinusDestinationAlpha specifies that the blend factor is one minus the destination alpha.
BlendFactorOneMinusDestinationColor specifies that the blend factor is one minus the destination color.
BlendFactorOneMinusSourceAlpha specifies that the blend factor is one minus the source alpha.
BlendFactorOneMinusSourceColor specifies that the blend factor is one minus the source color.
BlendFactorSourceAlpha specifies that the blend factor is the source alpha.
BlendFactorSourceAlphaSaturate specifies that the blend factor is the source alpha saturated.
BlendFactorSourceColor specifies that the blend factor is the source color.
BlendFactorZero specifies that the blend factor is zero.
BlendOperationAdd specifies that the blend operation is addition.
BlendOperationMax specifies that the blend operation is maximum.
BlendOperationMin specifies that the blend operation is minimum.
BlendOperationReverseSubtract specifies that the blend operation is reverse subtraction.
BlendOperationSubtract specifies that the blend operation is subtraction.
ComparisonAlways specifies that the comparison should always pass.
ComparisonEqual specifies that the comparison should pass if the source value is equal to the destination value.
ComparisonGreater specifies that the comparison should pass if the source value is greater than the destination value.
ComparisonGreaterOrEqual specifies that the comparison should pass if the source value is greater than or equal to the destination value.
ComparisonLess specifies that the comparison should pass if the source value is less than the destination value.
ComparisonLessOrEqual specifies that the comparison should pass if the source value is less than or equal to the destination value.
ComparisonNever specifies that the comparison should never pass.
ComparisonNotEqual specifies that the comparison should pass if the source value is not equal to the destination value.
CullModeBack specifies that back-facing primitives should be culled.
CullModeFront specifies that front-facing primitives should be culled.
CullModeFrontAndBack specifies that all oriented primitives should be culled.
CullModeNone specifies that no culling should be performed.
DataFormatRGBA16F indicates that the format is RGBA16F.
DataFormatRGBA32F indicates that the format is RGBA32F.
DataFormatRGBA8 indicates that the format is RGBA8.
DataFormatUnsupported indicates that the format is not supported.
FaceOrientationCCW specifies that counter-clockwise primitives are front-facing.
FaceOrientationCW specifies that clockwise primitives are front-facing.
FenceStatusNotReady indicates that the GPU has not reached the fence yet.
FenceStatusSuccess indicates that the GPU has processed all commands up to the fence.
FilterModeAnisotropic indicates that the anisotropic filtering should be used for sampling.
FilterModeLinear indicates that the linear interpolation of the nearest texels should be used for sampling.
FilterModeNearest indicates that the nearest texel should be used for sampling.
IndexFormatUnsignedU16 specifies that the index buffer is unsigned short.
IndexFormatUnsignedU32 specifies that the index buffer is unsigned int.
LoadOperationClear means that the contents of the resource should be cleared.
LoadOperationLoad means that the contents of the resource should be made available as is.
QualityHigh indicates that the implementation is running on hardware with high performance capabilities.
QualityLow indicates that the implementation is running on hardware with low performance capabilities.
QualityMedium indicates that the implementation is running on hardware with medium performance capabilities.
SizeF16 represents the number of bytes in a float16.
SizeF32 represents the number of bytes in a float32.
SizeU16 represents the number of bytes in a uint16.
SizeU32 represents the number of bytes in a uint32.
SizeU8 represents the number of bytes in a uint8.
StencilOperationDecrease specifies that the stencil value should be decremented, clamping to zero.
StencilOperationDecreaseWrap specifies that the stencil value should be decremented, wrapping to the maximum value if zero is exceeded.
StencilOperationIncrease specifies that the stencil value should be incremented, clamping to the maximum value.
StencilOperationIncreaseWrap specifies that the stencil value should be incremented, wrapping to zero if the maximum value is exceeded.
StencilOperationInvert specifies that the stencil value should be bitwise inverted.
StencilOperationKeep specifies that the current stencil value should be kept.
StencilOperationReplace specifies that the stencil value should be set to the reference value.
StencilOperationZero specifies that the stencil value should be set to zero.
StoreOperationDiscard means that the contents of the resource may be discarded if that would improve performance.
StoreOperationStore means that the contents of the resource should be preserved.
TopologyLineList specifies that the primitive topology is a line list.
TopologyLineStrip specifies that the primitive topology is a line strip.
TopologyPoints specifies that the primitive topology is points.
TopologyTriangleFan specifies that the primitive topology is a triangle fan.
TopologyTriangleList specifies that the primitive topology is a triangle list.
TopologyTriangleStrip specifies that the primitive topology is a triangle strip.
VertexAttributeFormatR16F specifies that the vertex attribute is a single 16-bit float.
VertexAttributeFormatR16S specifies that the vertex attribute is a single 16-bit signed integer.
VertexAttributeFormatR16SN specifies that the vertex attribute is a single 16-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatR16U specifies that the vertex attribute is a single 16-bit unsigned integer.
VertexAttributeFormatR16UN specifies that the vertex attribute is a single 16-bit unsigned integer that is normalized to [0, 1].
VertexAttributeFormatR32F specifies that the vertex attribute is a single 32-bit float.
VertexAttributeFormatR8IU specifies that the vertex attribute is a single 8-bit unsigned integer that should be treated as an integer on the GPU.
VertexAttributeFormatR8S specifies that the vertex attribute is a single 8-bit signed integer.
VertexAttributeFormatR8SN specifies that the vertex attribute is a single 8-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatR8U specifies that the vertex attribute is a single 8-bit unsigned integer.
VertexAttributeFormatR8UN specifies that the vertex attribute is a single 8-bit unsigned integer that is normalized to [0, 1].
VertexAttributeFormatRG16F specifies that the vertex attribute is a two-component 16-bit float.
VertexAttributeFormatRG16S specifies that the vertex attribute is a two-component 16-bit signed integer.
VertexAttributeFormatRG16SN specifies that the vertex attribute is a two-component 16-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatRG16U specifies that the vertex attribute is a two-component 16-bit unsigned integer.
VertexAttributeFormatRG16UN specifies that the vertex attribute is a two-component 16-bit unsigned integer that is normalized to [0, 1].
VertexAttributeFormatRG32F specifies that the vertex attribute is a two-component 32-bit float.
VertexAttributeFormatRG8IU specifies that the vertex attribute is a two-component 8-bit unsigned integer that should be treated as an integer on the GPU.
VertexAttributeFormatRG8S specifies that the vertex attribute is a two-component 8-bit signed integer.
VertexAttributeFormatRG8SN specifies that the vertex attribute is a two-component 8-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatRG8U specifies that the vertex attribute is a two-component 8-bit unsigned integer.
VertexAttributeFormatRG8UN specifies that the vertex attribute is a two-component 8-bit unsigned integer that is normalized to [0, 1].
VertexAttributeFormatRGB16F specifies that the vertex attribute is a three-component 16-bit float.
VertexAttributeFormatRGB16S specifies that the vertex attribute is a three-component 16-bit signed integer.
VertexAttributeFormatRGB16SN specifies that the vertex attribute is a three-component 16-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatRGB16U specifies that the vertex attribute is a three-component 16-bit unsigned integer.
VertexAttributeFormatRGB16UN specifies that the vertex attribute is a three-component 16-bit unsigned integer that is normalized to [0, 1].
VertexAttributeFormatRGB32F specifies that the vertex attribute is a three-component 32-bit float.
VertexAttributeFormatRGB8IU specifies that the vertex attribute is a three-component 8-bit unsigned integer that should be treated as an integer on the GPU.
VertexAttributeFormatRGB8S specifies that the vertex attribute is a three-component 8-bit signed integer.
VertexAttributeFormatRGB8SN specifies that the vertex attribute is a three-component 8-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatRGB8U specifies that the vertex attribute is a three-component 8-bit unsigned integer.
VertexAttributeFormatRGB8UN specifies that the vertex attribute is a three-component 8-bit unsigned integer that is normalized to [0, 1].
VertexAttributeFormatRGBA16F specifies that the vertex attribute is a four-component 16-bit float.
VertexAttributeFormatRGBA16S specifies that the vertex attribute is a four-component 16-bit signed integer.
VertexAttributeFormatRGBA16SN specifies that the vertex attribute is a four-component 16-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatRGBA16U specifies that the vertex attribute is a four-component 16-bit unsigned integer.
VertexAttributeFormatRGBA16UN specifies that the vertex attribute is a four-component 16-bit unsigned integer that is normalized to [0, 1].
VertexAttributeFormatRGBA32F specifies that the vertex attribute is a four-component 32-bit float.
VertexAttributeFormatRGBA8IU specifies that the vertex attribute is a four-component 8-bit unsigned integer that should be treated as an integer on the GPU.
VertexAttributeFormatRGBA8S specifies that the vertex attribute is a four-component 8-bit signed integer.
VertexAttributeFormatRGBA8SN specifies that the vertex attribute is a four-component 8-bit signed integer that is normalized to [-1, 1].
VertexAttributeFormatRGBA8U specifies that the vertex attribute is a four-component 8-bit unsigned integer.
VertexAttributeFormatRGBA8UN specifies that the vertex attribute is a four-component 8-bit unsigned integer that is normalized to [0, 1].
WrapModeClamp indicates that the texture coordinates should be clamped to the range [0, 1].
WrapModeMirroredRepeat indicates that the texture coordinates should be repeated with mirroring.
WrapModeRepeat indicates that the texture coordinates should be repeated.

# Variables

ColorMaskFalse specifies that no color channels should be written to.
ColorMaskTrue specifies that all color channels should be written to.

# Structs

Area describes a rectangular area to be used for rendering.
BufferInfo describes the information needed to create a new Buffer.
ColorAttachmentInfo describes how a color attachment should be handled.
ColorTexture2DInfo represents the information needed to create a 2D color Texture.
ColorTextureCubeInfo represents the information needed to create a cube color Texture.
CopyFramebufferToBufferInfo describes the configuration of a copy operation from the current framebuffer to a pixel transfer buffer.
CopyFramebufferToTextureInfo describes the configuration of a copy operation from the current framebuffer to a texture.
DepthStencilTexture2DInfo represents the information needed to create a 2D depth-stencil Texture.
DepthTexture2DArrayInfo represents the information needed to create a 2D array depth Texture.
DepthTexture2DInfo represents the information needed to create a 2D depth Texture.
FramebufferInfo describes the configuration of a Framebuffer.
Mipmap2DLayer represents a single layer of a 2D texture.
MipmapCubeLayer represents a single layer of a cube texture.
PipelineInfo describes the information needed to create a new Pipeline.
ProgramInfo represents the information needed to create a Program.
RenderPassInfo describes the information needed to begin a new render pass.
SamplerInfo represents the information needed to create a Sampler.
StencilOperationState specifies the stencil operation state.
StencilTexture2DInfo represents the information needed to create a 2D stencil Texture.
TextureAttachment represents a framebuffer attachment.
TextureBinding represents a texture binding for a program.
UniformBinding represents a uniform binding for a program.
VertexArrayAttribute represents a vertex attribute for a VertexArray.
VertexArrayBinding represents a vertex buffer binding for a VertexArray.
VertexArrayInfo represents the information needed to create a VertexArray.

# Interfaces

API provides access to low-level graphics manipulation and rendering.
Buffer is used to store data that can be used by the GPU.
BufferMarker marks a type as being a Buffer.
CommandBuffer is used to record commands that should be executed on the GPU.
BufferMarker marks a type as being a CommandBuffer.
Fence is the interface that provides the API with the ability to synchronize with the GPU.
FenceMarker marks a type as being a Fence.
Framebuffer represents a combination of target textures to be rendered to.
FramebufferMarker marks a type as being a Framebuffer.
Limits describes the limits of the implementation.
Pipeline is used to configure the GPU for drawing.
PipelineMarker marks a type as being a Pipeline.
Program represents a graphics program.
ProgramCode represents the shader language source code for a program.
ProgramCodeMarker marks a type as being a ProgramCode.
ProgramMarker marks a type as being a Program.
Queue is the interface that provides the API with the ability to schedule commands to be executed on the GPU.
QueueMarker marks a type as being a Queue.
Resource represents an object that consumes resources and needs to be released when no longer in use.
Sampler represents a texture sampling configuration.
SamplerMarker marks a type as being a Sampler.
Texture is the interface that provides the API with the ability to store image data.
TextureMarker marks a type as being a Texture.
VertexArray represents the geometry for a mesh.
VertexArrayMarker marks a type as being a VertexArray.

# Type aliases

BlendFactor specifies the blend factor.
BlendOperation specifies the blend operation.
Comparison specifies the comparison function.
CullMode specifies the culling mode.
DataFormat describes the format of the data that is stored in a Texture object.
FaceOrientation specifies the front face orientation.
FenceStatus represents the status of a Fence.
FilterMode is an enumeration of the supported texture filtering modes.
IndexFormat specifies the format of an index buffer.
LoadOperation describes how the contents of a resource should be loaded.
Quality is an enumeration of the supported render quality levels.
StencilOperation specifies the stencil operation.
StoreOperation describes how the contents of a resource should be stored.
Topology specifies the primitive topology.
VertexAttributeFormat specifies the format of a vertex attribute.
WrapMode is an enumeration of the supported texture wrapping modes.