Foundation
Loading...
Searching...
No Matches
Functions
Texture.cpp File Reference
#include "Texture.hpp"
#include <bc7enc.h>
#include <limits>
#include <stb_image_write.h>
#include <stb_image.h>

Functions

float4 SampleF32Bilinear (Span< const float4 > mip, uint32_t mipW, uint32_t mipH, float u, float v)
 
float4 SampleF32Trilinear (const float4 *const *mips, const uint32_t *mipW, const uint32_t *mipH, uint32_t mipCount, float u, float v, float mip)
 
float2 EquirectDirectionToUV (float3 dir)
 
float3 EquirectUVToDirection (float2 uv)
 
void LoadDDS (FTexture &texture, StringView path)
 
void LoadRGBA8 (FTexture &texture, StringView path, bool gamma)
 
void LoadRGBA8 (FTexture &texture, Span< const unsigned char > data, bool gamma)
 
void LoadHDR (FTexture &texture, StringView path)
 
void LoadHDR (FTexture &texture, Span< const unsigned char > data)
 
void SaveHDR (const float *data, int width, int height, StringView path)
 
void SavePNG (const unsigned char *data, int width, int height, StringView path)
 

Function Documentation

◆ EquirectDirectionToUV()

float2 EquirectDirectionToUV ( float3  dir)

◆ EquirectUVToDirection()

float3 EquirectUVToDirection ( float2  uv)

◆ LoadDDS()

void LoadDDS ( FTexture texture,
StringView  path 
)

Loads a DDS file into a texture

Note
This is an alias of FSerialize. FTexture is in fact in standard DDS format.

◆ LoadHDR() [1/2]

void LoadHDR ( FTexture texture,
Span< const unsigned char >  data 
)

◆ LoadHDR() [2/2]

void LoadHDR ( FTexture texture,
StringView  path 
)

Loads HDR image formats (.hdr) via stb_image into an R32G32B32A32Float texture. Used for environment maps.

◆ LoadRGBA8() [1/2]

void LoadRGBA8 ( FTexture texture,
Span< const unsigned char >  data,
bool  gamma = true 
)

Loads standard image formats (PNG, JPG, etc.) via stb_image into an uncompressed R8G8B8A8 texture from memory

Parameters
gammaWhether to load the image as sRGB (true) or linear (false) encoding.

◆ LoadRGBA8() [2/2]

void LoadRGBA8 ( FTexture texture,
StringView  path,
bool  gamma = true 
)

Loads standard image formats (PNG, JPG, etc.) via stb_image into an uncompressed R8G8B8A8 texture

Parameters
gammaWhether to load the image as sRGB (true) or linear (false) encoding.

◆ SampleF32Bilinear()

float4 SampleF32Bilinear ( Span< const float4 mip,
uint32_t  mipW,
uint32_t  mipH,
float  u,
float  v 
)

◆ SampleF32Trilinear()

float4 SampleF32Trilinear ( const float4 *const *  mips,
const uint32_t *  mipW,
const uint32_t *  mipH,
uint32_t  mipCount,
float  u,
float  v,
float  mip 
)

◆ SaveHDR()

void SaveHDR ( const float *  data,
int  width,
int  height,
StringView  path 
)

Saves float RGBA pixel data as an HDR image. Output format is Radiance HDR (stb_image_write), RGB only (alpha discarded).

Parameters
dataPointer to float RGBA pixel data (4 floats per pixel).
widthImage width in pixels.
heightImage height in pixels.
pathOutput file path.

◆ SavePNG()

void SavePNG ( const unsigned char *  data,
int  width,
int  height,
StringView  path 
)

Saves RGBA8 data as a PNG (.png) file via stb_image_write.

Parameters
dataPointer to uint8 RGBA pixel data (4 bytes per pixel).
widthImage width in pixels.
heightImage height in pixels.
pathOutput file path.