Package icyllis.arc3d.granite
package icyllis.arc3d.granite
The Granite is our 2D graphics engine.
-
ClassDescriptionAtlasProvider groups various texture atlas management algorithms together.This class holds information for a glyph about its pre-rendered image in a GPU texture.A BakedTextBlob contains a fully processed TextBlob, suitable for nearly immediate drawing on the GPU.Wraps the shader outputs and HW blend state that comprise a Porter Duff blend mode with coverage.
Clip_old
is an abstract base class for producing a clip.Produced byClip_old
.GPU hierarchical clipping.Represents a recorded draw operation.This class manages one or more atlas textures on behalf of primitive draws in Device.Keep track of generation number for atlases and Plots.AtlasLocator handles atlas position information.AtlasToken is used to sequence uploads relative to each other and to batches of draws.The TokenTracker encapsulates the incrementing and distribution of AtlasTokens.The backing texture for an atlas is broken into a spatial grid of Plots.A class which can be handed back to an atlas for updating plots in bulk.An interface for eviction callbacks.Used to locate a plot in aDrawAtlas
.Manages dynamic and streaming GPU buffers.The list that holds commands of a draw pass, and can be replayed onCommandBuffer
.DrawOrder aggregates the three separate sequences that Granite uses to re-order draws and their sub-steps as much as possible while preserving the painter's order semantics of the public API.A draw pass represents a render pass, with limited and sorted draw commands.The sorting is used to minimize state change.Represents a substage of a fragment shader, providing custom shader code to the Arc3D shading pipeline.Emit assignment expression statement.BuildPaintParamsKey
and collect uniform data and texture sampler desc.The GeometryProcessor represents some kind of geometric primitive.EveryGeometryStep
must be capable of creating a subclass of ProgramImpl.Manages all baked glyphs and their texture atlases for raster text rendering.The GPU GlyphStrike holds GPUGlyphs
for a Strike.GlyphStrikeCache manages strikes which are indexed by a Strike.GlyphVector provides a way to delay the lookup ofGlyphs
until the code is running on the GPU in single threaded mode.The device that is backed by GPU.The image that is backed by GPU.The surface that is backed by GPU.Descriptor of a graphics pipeline in Granite Renderer.Parameters used for shading.Build AST for graphics pipeline.Granite defines a limited set of renderers in order to increase the likelihood of batching across draw calls, and reducing the number of shader permutations required.Manage all the fragment shader code snippets, used by Granite renderer.A SubRun represents a method to draw a subregion of a GlyphRun, where GlyphRun represents the shaped text (positioned glyphs) and a strike.SubRun defines the most basic functionality of a SubRun; the ability to draw, and the ability to be in a list.Helper to orchestrate commands for a particular surface.Used byGraniteDevice
TextBlobCache reuses data from previous drawing operations using multiple criteria to pick the best data for the draw.Secondary cache key.Add a block of data to the cache and return a stable pointer to the contents (assuming that a resettable gatherer had accumulated the input data pointer).Build a uniform data block without reordering, use std140 or std430 layout.