15 #include "fogAttrib.h" 16 #include "graphicsStateGuardianBase.h" 17 #include "bamReader.h" 18 #include "bamWriter.h" 20 #include "datagramIterator.h" 23 int FogAttrib::_attrib_slot;
35 return return_new(attrib);
59 return return_new(attrib);
68 output(ostream &out)
const {
69 out << get_type() <<
":";
95 DCAST_INTO_R(ta, other, 0);
100 if (_fog != ta->_fog) {
101 return _fog < ta->_fog ? -1 : 1;
117 get_hash_impl()
const {
129 get_auto_shader_attrib_impl(
const RenderState *state)
const {
140 register_with_read_factory() {
170 _fog = DCAST(
Fog, fog);
190 parse_params(params, scan, manager);
191 attrib->fillin(scan, manager);
205 RenderAttrib::fillin(scan, manager);
static size_t add_hash(size_t start, const void *key)
Adds the indicated key into a running hash.
This is the base class for a number of render attributes (other than transform) that may be set on sc...
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
Base class for objects that can be written to and read from Bam files.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
Applies a Fog to the geometry at and below this node.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
virtual int complete_pointers(TypedWritable **plist, BamReader *manager)
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin()...
virtual int complete_pointers(TypedWritable **p_list, BamReader *manager)
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin()...
Specifies how atmospheric fog effects are applied to geometry.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
void register_factory(TypeHandle handle, CreateFunc *func)
Registers a new kind of thing the Factory will be able to create.
static WritableFactory * get_factory()
Returns the global WritableFactory for generating TypedWritable objects.
A class to retrieve the individual data elements previously stored in a Datagram. ...
TypeHandle is the identifier used to differentiate C++ class types.
bool is_off() const
Returns true if the FogAttrib is an 'off' FogAttrib, indicating that it should disable fog...
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
void write_pointer(Datagram &packet, const TypedWritable *dest)
The interface for writing a pointer to another object to a Bam file.
void read_pointer(DatagramIterator &scan)
The interface for reading a pointer to another object from a Bam file.