Castle Game Engine: CastleImages: Class TRGBFloatImage

# Class TRGBFloatImage
Description | Hierarchy | Fields | Methods | Properties
## Unit CastleImages ## Declaration `type TRGBFloatImage = class(TCastleImage)` ## Description Image with high-precision RGB colors encoded as 3 floats. ## Hierarchy TObject TEncodedImage TCastleImage TRGBFloatImage ## Overview ### Methods
| `class function PixelSize: Cardinal; override;`
| `class function ColorComponentsCount: Cardinal; override;`
| `function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PVector3Single;`
| `function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PArray_Vector3Single;`
| `procedure SetColorRGB(const x, y: Integer; const v: TVector3Single); override;`
| `procedure Clear(const Pixel: TVector3Single); reintroduce;`
| `function IsClear(const Pixel: TVector3Single): boolean; reintroduce;`
| `function ToRGBImage: TRGBImage;`
| `procedure ScaleColors(const Scale: Single);`
| `procedure ExpColors(const Exp: Single);`
| `procedure LerpWith(const Value: Single; SecondImage: TCastleImage); override;`
| `class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4Single; const Colors: TVector4Pointer); override;`
### Properties
| `property RGBFloatPixels: PVector3Single read GetRGBFloatPixels;`
## Description ### Methods
| `class function PixelSize: Cardinal; override;`
| `class function ColorComponentsCount: Cardinal; override;`
| `function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PVector3Single;`
| `function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PArray_Vector3Single;`
| `procedure SetColorRGB(const x, y: Integer; const v: TVector3Single); override;`
| `procedure Clear(const Pixel: TVector3Single); reintroduce;`
| `function IsClear(const Pixel: TVector3Single): boolean; reintroduce;`
| `function ToRGBImage: TRGBImage;`
Converts TRGBFloatImage to TRGBImage. Colors in pixels are simply rounded using Vector3Byte. So such convertion not only kills the floating-point precision in float format but also clamps color components to 0..1.
| `procedure ScaleColors(const Scale: Single);`
Every component (red, green, blue) of every pixel is multiplied by Scale.
| `procedure ExpColors(const Exp: Single);`
Every component (red, green, blue) or every pixel is changed to Power(Value, Exp). So e.g. Exp = 1/2.2 gives commonly used gamma correction.
| `procedure LerpWith(const Value: Single; SecondImage: TCastleImage); override;`
| `class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4Single; const Colors: TVector4Pointer); override;`
### Properties
| `property RGBFloatPixels: PVector3Single read GetRGBFloatPixels;`
This is the same pointer as RawPixels, only typecasted to PVector3Single
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:10