Package icyllis.arc3d.engine
package icyllis.arc3d.engine
Engine package provides the common part of Arc3D rendering pipeline and
the abstraction layer for different 3D graphics APIs.
-
ClassDescriptionDeprecated.Descriptor of 3D API image/texture that can be shared between recording contexts, OpenGL shared contexts and cross-API usage, including its dimension, image view type, and memory allocation.Deprecated.BlendInfo is an immutable object holding info for setting-up GPU blend states.Represents a single device-visible memory region that may be used as mesh buffers and staging buffers.Specifies a single region for copying, either from buffer to image, or vice versaStruct that can be passed into bind buffer calls on the
CommandBuffer
.Represents the capabilities of a 3D API Context.Indicates the capabilities of the fixed function blend unit.Backend-specific command buffer, executing thread only.Pipeline state object used for compute.This class is a public API, except where noted.Holds the options for creating aImmediateContext
, all fields should remain unchanged after creating the context.A client-side buffer represents an immutable block of native CPU memory.This class defines concrete depth and stencil settings that map directly to the underlying 3D API.Per-face stencil settings.ADevice
represents a logical GPU device and provides shared context info of the backend 3D API.Shared constants, enums and utilities for Arc3D Engine.Possible 3D APIs that may be used by Arc3D Engine.Budget types.Describes the intended usage (type + access) a GPU buffer.Indicates whether depth buffer or stencil buffer or both will be used.A Context's cache of backend context state can be partially invalidated.Describes image view type.Types used to describe format of indices in arrays.Indicates the type of pending IO operations that can be recorded for GPU resources.Load ops.Combination of load ops and store ops.Geometric primitives used for drawing.Shader stage flags.Store ops.Image and Surfaces can be stored such that (0, 0) in texture space may correspond to either the upper-left or lower-left content pixel.Types used to describe format of vertices in arrays.Struct to supply options to flush calls.Descriptor to create a framebuffer.Deprecated.Deprecated.Scratch key ofGpuRenderTarget
.Deprecated.Pipeline state object used for graphics.Represents GPU image resources, which may be 2D or 3D.Storage key ofImage
, may be compared withImageViewProxy
.Contains backend-specific parameters used to create GPU images, which are: mip level count, sample count, image format, image view type, image create flags, image usage flags, width, height, depth, and array layer count.Contains backend-specific mutable state of a GPU image.A factory for creatingSurfaceProxy
-derived objects.Surface views contain additional metadata for pipeline operations on surfaces.Descriptor to create image views.TheImageViewProxy
implements the proxy pattern forImage
, it targets anImage
with three instantiation methods: deferred, lazy-callback and wrapped.Lazy-callback function.Immediate context is used for command list execution and queue submission.Marker interface for scratch resource keys.Defines Surface-hierarchy constants.Marker interface for unique resource key, allows for exclusive use of a resource for a use case (AKA "domain").A key loaded with custom data (int array).Used to build a packed array as the storage or lookup key of a hash map.LinkedListMultimap<K,V> Implementation ofMultimap
that uses anLinkedList
to store the values for a given key.Base class for operating GPU resources that may be shared by multiple objects, in particular objects that are tracked by a command buffer.The interface used to receive geometry buffers fromMeshDrawTarget
for mesh-drawing operations.Deprecated.Deprecated.Deprecated.Tessellate paths.Abstract class that provides key and full information about a graphics pipeline or a compute pipeline, except for render pass information.Similar toPriorityQueue
, but supportsPriorityQueue.Access
.This allows us to store the index into the element itself to improve the performance of inserting or removing elements.AQueueManager
represents a GPU queue and manages a pool of command buffers in that queue.This class is a public API, except where noted.The subclass that supports recycling.Ref-counted object that calls a callback from its destructor.Descriptor to create a render pass.Deferred, lazy-callback or wrapped a render target.Deprecated.Deprecated.Base class for operating GPU resources that can be kept in theResourceCache
.Manages the lifetime of allResource
instances.Factory class used to obtain GPU resources with cache.Represents GPU sampler objects.Represents the filtering and tile modes used to access a texture.Shader capabilities for our pipeline builder.Represents a variable in a shader.Thread-safe class to get or create pipeline state objects (PSO) asynchronously.TheSurfaceAllocator
explicitly distributesGpuSurface
at flush time.TheSurfaceProxy
implements the proxy pattern forGpuSurface
, it targets aGpuSurface
with three instantiation methods: deferred, lazy-callback and wrapped.Lazy-callback function.Represents a color component mapping.Provides a depth-first-search topological sort algorithm for simple directed acyclic graphs.The node access.Manages the resources used by a shader program.Allocates staging buffers to update GPU-only buffer and image sub resources.Describes the vertex input state of a graphics pipeline.Describes a vertex or instance attribute.A set of attributes that can iterated.