BillboardMaterial
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.
auto material = vglx::BillboardMaterial::Create({
.color = 0xFFFFFFu,
.texture_map = texture
});
my_scene->Add(vglx::Billboard::Create(material));INFO
Derives from Material and inherits all public properties and methods.
Construction
Constructors
BillboardMaterial()
Constructs a billboard material from the given parameters.
Transparency is enabled by default and uses the alpha channel of the provided texture.
BillboardMaterial::BillboardMaterial(const Parameters& params);| Parameter | Description |
|---|---|
| params | Initialization parameters. |
Factories preferred
BillboardMaterial::Create() std::shared_ptr<BillboardMaterial>
Creates a shared instance of BillboardMaterial with default parameters.
static std::shared_ptr<BillboardMaterial> BillboardMaterial::Create();BillboardMaterial::Create() std::shared_ptr<BillboardMaterial>
Creates a shared instance of BillboardMaterial.
static std::shared_ptr<BillboardMaterial> BillboardMaterial::Create(const Parameters& params);| Parameter | Description |
|---|---|
| params | Initialization parameters. |
Types
BillboardMaterial::Parameters struct
Parameters for constructing a BillboardMaterial object.
| Parameter | Description |
|---|---|
| color Color | Base tint color applied to the texture. |
| texture_map std::shared_ptr<Texture> | Billboard texture sampled for color and alpha. |
| size_attenuation bool | Attenuate billboard size by distance in perspective. |
Properties
size_attenuation bool
Controls whether billboard size is attenuated by distance in perspective.
bool size_attenuation {true};Billboard texture sampled in RGBA; alpha controls transparency.
std::shared_ptr<Texture> texture_map {};Functions
Identifies this material as Material::Type::BillboardMaterial.
Type BillboardMaterial::GetType() const override;