# Sead/Color4f

Jump to navigation
Jump to search

`sead::Color4f`

is a helper class containing red, green, blue, and alpha float values.

## Contents

## Implementation

This class has four floats.

float red; float green; float blue; float alpha;

The following operators are supported:

`+=`

`-=`

`*=`

`/=`

If provided a second `sead::Color4f`

instance, the requested operation will be performed using the RGBA values in each operand. If provided a float, the single float will be applied to all RGBA values of the target `sead::Color4f`

using the requested operation.

### setLerp(sead::Color4f, sead::Color4f, float)

Linearly interpolates between 2 Color4f values, with the float being the interpolation value.

An implementation looks something like this:

void __fastcall sead::Color4f::setLerp(sead::Color4f *this, const sead::Color4f *start, const sead::Color4f *end, float interpolation) { if ( interpolation >= 0.0 ) { if ( interpolation > 1.0 ) interpolation = 1.0; } else { interpolation = 0.0; } this->alpha = start->alpha + (interpolation * (end->alpha - start->alpha)); this->red = start->red + (interpolation * (end->red - start->red)); this->green = start->green + (interpolation * (end->green - start->green)); this->blue = start->blue + (interpolation * (end->blue - start->blue)); }

### setGammaCollection(sead::Color4f, float)

TODO...

### lerp(sead::Color4f, sead::Color4f, float)

TODO...

### adjustOverflow()

Clamps the RGBA values to 1.0f.