Files
XCEngine/docs/api/math/math-color.md

1.5 KiB

Color

颜色结构体,支持 RGBA 浮点分量。

头文件

#include <XCEngine/Math/Color.h>

命名空间

XCEngine::Math

结构体定义

struct Color {
    float r = 1.0f;
    float g = 1.0f;
    float b = 1.0f;
    float a = 1.0f;
};

分量范围: 0.0f ~ 1.0f

静态工厂方法

方法 返回值 描述
White() Color (1, 1, 1, 1)
Black() Color (0, 0, 0, 1)
Red() Color (1, 0, 0, 1)
Green() Color (0, 1, 0, 1)
Blue() Color (0, 0, 1, 1)
Yellow() Color (1, 1, 0, 1)
Cyan() Color (0, 1, 1, 1)
Magenta() Color (1, 0, 1, 1)
Clear() Color (0, 0, 0, 0),透明黑

静态方法

方法 返回值 描述
Lerp(a, b, t) Color 颜色线性插值

实例方法

方法 返回值 描述
ToRGBA() uint32_t 转换为 32-bit RGBA (0xAABBGGRR)
ToVector3() Vector3 转换为 RGB (丢弃 alpha)
ToVector4() Vector4 转换为 RGBA

运算符

运算符 描述
operator+(Color, Color) 颜色相加
operator-(Color, Color) 颜色相减
operator*(Color, float) 颜色乘以标量
operator/(Color, float) 颜色除以标量

使用示例

Color red = Color::Red();
Color lerped = Color::Lerp(red, Color::Blue(), 0.5f);
uint32_t rgba = lerped.ToRGBA();
Vector4 v4 = lerped.ToVector4();