Panda3D
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions

LightRampAttrib Class Reference

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"

Inheritance diagram for LightRampAttrib:
RenderAttrib TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject MemoryBase MemoryBase

List of all members.

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 TypedWritablemake_from_bam (const FactoryParams &params)
 This function is called by the BamReader's factory when a new object of type LightRampAttrib is encountered in the Bam file.

Detailed Description

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.


Member Function Documentation

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().

void LightRampAttrib::write_datagram ( BamWriter manager,
Datagram dg 
) [virtual]

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().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations