Panda3D
|
A Light Ramp is any unary operator that takes a rendered pixel as input, and adjusts the brightness of that pixel. More...
#include "lightRampAttrib.h"
Public Types | |
enum | LightRampMode { LRT_default, LRT_identity, LRT_single_threshold, LRT_double_threshold, LRT_hdr0, LRT_hdr1, LRT_hdr2 } |
Public Member Functions | |
virtual TypeHandle | force_init_type () |
float | get_level (int n) const |
Returns the nth lighting level. | |
LightRampMode | get_mode () const |
Returns the LightRampAttrib mode. | |
virtual int | get_slot () const |
float | get_threshold (int n) const |
Returns the nth threshold level. | |
virtual TypeHandle | get_type () const |
virtual void | output (ostream &out) const |
virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
Writes the contents of this object to the datagram for shipping out to a Bam file. | |
Static Public Member Functions | |
static | CPT (RenderAttrib) make_default() |
static | CPT (RenderAttrib) make_identity() |
static | CPT (RenderAttrib) make_double_threshold(float thresh0 |
static | CPT (RenderAttrib) make_hdr0() |
static | CPT (RenderAttrib) make_single_threshold(float thresh0 |
static | CPT (RenderAttrib) make_hdr2() |
static | CPT (RenderAttrib) make_hdr1() |
static int | get_class_slot () |
static TypeHandle | get_class_type () |
static void | init_type () |
static void | register_with_read_factory () |
Tells the BamReader how to create objects of type LightRampAttrib. | |
Public Attributes | |
static float | lev0 |
static float float float | lev1 |
static float float | thresh1 |
Protected Member Functions | |
virtual int | compare_to_impl (const RenderAttrib *other) const |
Intended to be overridden by derived LightRampAttrib types to return a unique number indicating whether this LightRampAttrib is equivalent to the other one. | |
void | fillin (DatagramIterator &scan, BamReader *manager) |
This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new LightRampAttrib. | |
Static Protected Member Functions | |
static TypedWritable * | make_from_bam (const FactoryParams ¶ms) |
This function is called by the BamReader's factory when a new object of type LightRampAttrib is encountered in the Bam file. |
A Light Ramp is any unary operator that takes a rendered pixel as input, and adjusts the brightness of that pixel.
For example, gamma correction is a kind of light ramp. So is HDR tone mapping. So is cartoon shading. See the constructors for an explanation of each kind of ramp.
Definition at line 32 of file lightRampAttrib.h.
int LightRampAttrib::compare_to_impl | ( | const RenderAttrib * | other | ) | const [protected, virtual] |
Intended to be overridden by derived LightRampAttrib types to return a unique number indicating whether this LightRampAttrib is equivalent to the other one.
This should return 0 if the two LightRampAttrib objects are equivalent, a number less than zero if this one should be sorted before the other one, and a number greater than zero otherwise.
This will only be called with two LightRampAttrib objects whose get_type() functions return the same.
Reimplemented from RenderAttrib.
Definition at line 231 of file lightRampAttrib.cxx.
void LightRampAttrib::fillin | ( | DatagramIterator & | scan, |
BamReader * | manager | ||
) | [protected, virtual] |
This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new LightRampAttrib.
Reimplemented from RenderAttrib.
Definition at line 309 of file lightRampAttrib.cxx.
References DatagramIterator::get_float32(), and DatagramIterator::get_int8().
Referenced by make_from_bam().
float LightRampAttrib::get_level | ( | int | n | ) | const [inline] |
Returns the nth lighting level.
Definition at line 47 of file lightRampAttrib.I.
LightRampAttrib::LightRampMode LightRampAttrib::get_mode | ( | ) | const [inline] |
Returns the LightRampAttrib mode.
Definition at line 37 of file lightRampAttrib.I.
Referenced by ShaderGenerator::analyze_renderstate().
float LightRampAttrib::get_threshold | ( | int | n | ) | const [inline] |
Returns the nth threshold level.
Definition at line 58 of file lightRampAttrib.I.
TypedWritable * LightRampAttrib::make_from_bam | ( | const FactoryParams & | params | ) | [static, protected] |
This function is called by the BamReader's factory when a new object of type LightRampAttrib is encountered in the Bam file.
It should create the LightRampAttrib and extract its information from the file.
Definition at line 290 of file lightRampAttrib.cxx.
References fillin().
Referenced by register_with_read_factory().
void LightRampAttrib::register_with_read_factory | ( | ) | [static] |
Tells the BamReader how to create objects of type LightRampAttrib.
Definition at line 258 of file lightRampAttrib.cxx.
References BamReader::get_factory(), make_from_bam(), and Factory< Type >::register_factory().
Writes the contents of this object to the datagram for shipping out to a Bam file.
Reimplemented from RenderAttrib.
Definition at line 269 of file lightRampAttrib.cxx.
References Datagram::add_float32(), and Datagram::add_int8().