cgv
Loading...
Searching...
No Matches
cgv::render::device_color_scale_arguments Struct Reference

Color scale arguments as used by the graphics device or shader program. More...

#include <device_color_scale.h>

Public Attributes

vec2 domain = { 0.0f, 1.0f }
 
rgba8 unknown_color = { 0, 0, 0, 255 }
 
float midpoint = 0.5f
 
float exponent = 1.0f
 
float log_base = 1.0f
 
float log_midpoint = 0.5f
 
float log_lower_bound = 0.0f
 
float log_upper_bound = 1.0f
 
float log_sign = 1.0f
 
uint16_t transform = 0
 The next three fields "transform, mapping_options and sample_mode" take up 4 bytes in total.
 
DeviceColorScaleMappingOptions mapping_options = DeviceColorScaleMappingOptions::kNone
 
DeviceColorScaleSampleMode sample_mode = DeviceColorScaleSampleMode::kContinuous
 
int32_t indexed_color_count = 0
 

Static Public Attributes

static constexpr size_t k_max_indexed_color_count = 255
 

Detailed Description

Color scale arguments as used by the graphics device or shader program.

Generalizes the mapping options of different color scale implementations to make them usable within a shader. Members must follow the alignment rules of the device and the size of the struct must be a multiple of 16 bytes, which may necessitate the use of padding.

Definition at line 42 of file device_color_scale.h.

Member Data Documentation

◆ domain

vec2 cgv::render::device_color_scale_arguments::domain = { 0.0f, 1.0f }

Definition at line 44 of file device_color_scale.h.

◆ exponent

float cgv::render::device_color_scale_arguments::exponent = 1.0f

Definition at line 47 of file device_color_scale.h.

◆ indexed_color_count

int32_t cgv::render::device_color_scale_arguments::indexed_color_count = 0

Definition at line 58 of file device_color_scale.h.

◆ k_max_indexed_color_count

constexpr size_t cgv::render::device_color_scale_arguments::k_max_indexed_color_count = 255
staticconstexpr

Definition at line 43 of file device_color_scale.h.

◆ log_base

float cgv::render::device_color_scale_arguments::log_base = 1.0f

Definition at line 48 of file device_color_scale.h.

◆ log_lower_bound

float cgv::render::device_color_scale_arguments::log_lower_bound = 0.0f

Definition at line 50 of file device_color_scale.h.

◆ log_midpoint

float cgv::render::device_color_scale_arguments::log_midpoint = 0.5f

Definition at line 49 of file device_color_scale.h.

◆ log_sign

float cgv::render::device_color_scale_arguments::log_sign = 1.0f

Definition at line 52 of file device_color_scale.h.

◆ log_upper_bound

float cgv::render::device_color_scale_arguments::log_upper_bound = 1.0f

Definition at line 51 of file device_color_scale.h.

◆ mapping_options

DeviceColorScaleMappingOptions cgv::render::device_color_scale_arguments::mapping_options = DeviceColorScaleMappingOptions::kNone

Definition at line 56 of file device_color_scale.h.

◆ midpoint

float cgv::render::device_color_scale_arguments::midpoint = 0.5f

Definition at line 46 of file device_color_scale.h.

◆ sample_mode

DeviceColorScaleSampleMode cgv::render::device_color_scale_arguments::sample_mode = DeviceColorScaleSampleMode::kContinuous

Definition at line 57 of file device_color_scale.h.

◆ transform

uint16_t cgv::render::device_color_scale_arguments::transform = 0

The next three fields "transform, mapping_options and sample_mode" take up 4 bytes in total.

They have to be specified in reverse order of how they are used in the shader to account for different endianness.

Definition at line 55 of file device_color_scale.h.

◆ unknown_color

rgba8 cgv::render::device_color_scale_arguments::unknown_color = { 0, 0, 0, 255 }

Definition at line 45 of file device_color_scale.h.


The documentation for this struct was generated from the following file: