Skip to content

SpriteMaterial

Lightweight material for textured 2D sprites and billboards.

Designed for camera-facing quads such as UI elements, particles, and glyphs. Renders without lighting (unlit) and uses an RGBA texture with an optional tint color. Transparency is enabled by default and driven by the texture's alpha channel.

cpp
auto material = vglx::SpriteMaterial::Create(texture, 0xFFFFFF);
my_scene->Add(vglx::Sprite::Create(material));

INFO

Derives from Material and inherits all public properties and methods.

Construction

Constructors


SpriteMaterial()

Constructs a sprite material.

Transparency is enabled by default and uses the alpha channel of the provided texture.

cpp
SpriteMaterial::SpriteMaterial(std::shared_ptr<Texture> texture_map, const Color& color=0xFFFFFF);
ParameterDescription
texture_mapSprite texture to sample for color and alpha.
colorBase tint color applied to the texture.

Factories preferred


SpriteMaterial::Create() std::shared_ptr<SpriteMaterial>

Creates a shared instance of SpriteMaterial.

cpp
static std::shared_ptr<SpriteMaterial> SpriteMaterial::Create(std::shared_ptr<Texture> texture_map, const Color& color=0xFFFFFF);
ParameterDescription
texture_mapSprite texture to sample for color and alpha.
colorBase tint color applied to the texture.

Properties

color Color

Base tint color applied multiplicatively to the sprite texture.

cpp
Color color {};

size_attenuation bool

Controls whether sprite size is attenuated by distance in perspective.

cpp
bool size_attenuation {true};

texture_map std::shared_ptr<Texture>

Sprite texture sampled in RGBA; alpha controls transparency.

cpp
std::shared_ptr<Texture> texture_map {};

Functions

GetType() Type virtual

Identifies this material as Material::Type::SpriteMaterial.

cpp
Type SpriteMaterial::GetType() const override;

Released under the MIT License.