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({
  .color = 0xFFFFFF,
  .texture_map = texture
});

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 from the given parameters.

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

cpp
SpriteMaterial::SpriteMaterial(const Parameters& params);
ParameterDescription
paramsInitialization parameters.

Factories preferred


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

Creates a shared instance of SpriteMaterial with default parameters.

cpp
static std::shared_ptr<SpriteMaterial> SpriteMaterial::Create();

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

Creates a shared instance of SpriteMaterial.

cpp
static std::shared_ptr<SpriteMaterial> SpriteMaterial::Create(const Parameters& params);
ParameterDescription
paramsInitialization parameters.

Types

SpriteMaterial::Parameters struct

Parameters for constructing a SpriteMaterial object.

ParameterDescription
color ColorBase tint color applied to the texture.
texture_map std::shared_ptr<Texture>Sprite texture sampled for color and alpha.
size_attenuation boolAttenuate sprite size by distance in perspective.

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.