Panda3D
|
#include <pandadoc.hpp>
Public Types | |
enum | { F_disable_alpha_write = 0 , F_subsume_alpha_test = 1 , F_hardware_skinning = 2 , F_shader_point_size = 3 } |
![]() | |
enum | PandaCompareFunc { M_none = 0 , M_never = 1 , M_less = 2 , M_equal = 3 , M_less_equal = 4 , M_greater = 5 , M_not_equal = 6 , M_greater_equal = 7 , M_always = 8 } |
enum | TexGenMode { M_off = 0 , M_eye_sphere_map = 1 , M_world_cube_map = 2 , M_eye_cube_map = 3 , M_world_normal = 4 , M_eye_normal = 5 , M_world_position = 6 , M_unused = 7 , M_eye_position = 8 , M_point_sprite = 9 , M_unused2 = 10 , M_constant = 11 } |
Public Member Functions | |
bool | autoGlossOn () |
bool | autoGlowOn () |
bool | autoNormalOn () |
bool | autoRampOn () |
bool | autoShader () |
If true, then this ShaderAttrib does not contain an explicit shader - instead, it requests the automatic generation of a shader. | |
bool | autoShadowOn () |
const RenderAttrib | clearAllShaderInputs () |
Clears all the shader inputs on the attrib. | |
const RenderAttrib | clearFlag (int flag) |
const RenderAttrib | clearShader () |
const RenderAttrib | clearShaderInput (const InternalName id) |
const RenderAttrib | clearShaderInput (str id) |
bool | getFlag (int flag) |
int | getInstanceCount () |
Returns the number of geometry instances. | |
const Shader | getShader () |
Returns the shader object associated with the node. | |
const ShaderInput | getShaderInput (const InternalName id) |
Returns the ShaderInput of the given name. | |
const ShaderInput | getShaderInput (str id) |
Returns the ShaderInput of the given name. | |
ShaderBuffer | getShaderInputBuffer (const InternalName id) |
Returns the ShaderInput as a ShaderBuffer. | |
const LMatrix4 | getShaderInputMatrix (const InternalName id, LMatrix4 matrix) |
Returns the ShaderInput as a matrix. | |
const NodePath | getShaderInputNodepath (const InternalName id) |
Returns the ShaderInput as a nodepath. | |
const Shader::ShaderPtrData | getShaderInputPtr (const InternalName id) |
Returns the ShaderInput as a ShaderPtrData struct. | |
Texture | getShaderInputTexture (const InternalName id, SamplerState sampler) |
Returns the ShaderInput as a texture. | |
LVecBase4 | getShaderInputVector (InternalName id) |
Returns the ShaderInput as a vector. | |
int | getShaderPriority () |
bool | hasShader () |
If true, the shader field of this attribute overrides the shader field of the parent attribute. | |
bool | hasShaderInput (const InternalName id) |
Returns true if there is a ShaderInput of the given name. | |
const RenderAttrib | setFlag (int flag, bool value) |
const RenderAttrib | setInstanceCount (int instance_count) |
Sets the geometry instance count. | |
const RenderAttrib | setShader (const Shader s, int priority) |
const RenderAttrib | setShaderAuto (BitMask32 shader_switch, int priority) |
Set auto shader with bitmask to customize use, e.g., to keep normal, glow, etc., on or off. | |
const RenderAttrib | setShaderAuto (int priority) |
const RenderAttrib | setShaderInput (const InternalName, object, int priority) |
const RenderAttrib | setShaderInput (const ShaderInput input) |
const RenderAttrib | setShaderInputs (object args, object kwargs) |
const RenderAttrib | setShaderOff (int priority) |
![]() | |
int | compareTo (const RenderAttrib other) |
Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest. | |
const RenderAttrib | compose (const RenderAttrib other) |
Returns a new RenderAttrib object that represents the composition of this attrib with the other attrib. | |
int | getHash () |
Returns a suitable hash value for phash_map. | |
int | getSlot () |
const RenderAttrib | getUnique () |
Returns the pointer to the unique RenderAttrib in the cache that is equivalent to this one. | |
const RenderAttrib | invertCompose (const RenderAttrib other) |
Returns a new RenderAttrib object that represents the composition of the inverse of this attrib with the other attrib. | |
bool | lowerAttribCanOverride () |
Intended to be overridden by derived RenderAttrib types to specify how two consecutive RenderAttrib objects of the same type interact. | |
output (Ostream out) | |
write (Ostream out, int indent_level) | |
![]() | |
object | __reduce__ () |
object | __reduce_persist__ (object pickler) |
VectorUchar | encodeToBamStream () |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. | |
bool | encodeToBamStream (VectorUchar data, BamWriter writer) |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. | |
fillin (DatagramIterator scan, BamReader manager) | |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. | |
UpdateSeq | getBamModified () |
Returns the current bam_modified counter. | |
markBamModified () | |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. | |
![]() | |
TypeHandle | getType () |
int | getTypeIndex () |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. | |
![]() | |
int | getRefCount () |
Returns the current reference count. | |
ref () | |
Explicitly increments the reference count. | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. | |
bool | unref () |
Explicitly decrements the reference count. | |
Static Public Member Functions | |
static int | getClassSlot () |
static TypeHandle | getClassType () |
static const RenderAttrib | make (const Shader shader, int priority) |
Constructs a new ShaderAttrib object with nothing set. | |
static const RenderAttrib | makeDefault () |
Returns a RenderAttrib that corresponds to whatever the standard default properties for render attributes of this type ought to be. | |
static const RenderAttrib | makeOff () |
Constructs a new ShaderAttrib object that disables the use of shaders (it does not clear out all shader data, however.) | |
static | registerWithReadFactory () |
Factory method to generate a Shader object. | |
![]() | |
static int | garbageCollect () |
Performs a garbage-collection cycle. | |
static TypeHandle | getClassType () |
static int | getNumAttribs () |
Returns the total number of unique RenderAttrib objects allocated in the world. | |
static | listAttribs (Ostream out) |
Lists all of the RenderAttribs in the cache to the output stream, one per line. | |
static bool | validateAttribs () |
Ensures that the cache is still stored in sorted order. | |
![]() | |
static TypedWritableReferenceCount | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Public Attributes | |
int | class_slot |
int | instance_count |
Returns the number of geometry instances. | |
const Shader | shader |
Returns the shader object associated with the node. | |
![]() | |
int | slot |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. | |
![]() | |
int | ref_count |
The current reference count. | |
anonymous enum |
Enumerator | |
---|---|
F_disable_alpha_write | Suppress writes to color buffer alpha channel. |
F_subsume_alpha_test | Shader promises to subsume the alpha test using TEXKILL. |
F_hardware_skinning | Shader needs pre-animated vertices. |
F_shader_point_size | Shader provides point size, not RenderModeAttrib. |
bool autoGlossOn | ( | ) |
bool autoGlowOn | ( | ) |
bool autoNormalOn | ( | ) |
bool autoRampOn | ( | ) |
bool autoShader | ( | ) |
If true, then this ShaderAttrib does not contain an explicit shader - instead, it requests the automatic generation of a shader.
bool autoShadowOn | ( | ) |
const RenderAttrib clearAllShaderInputs | ( | ) |
Clears all the shader inputs on the attrib.
const RenderAttrib clearFlag | ( | int | flag | ) |
const RenderAttrib clearShader | ( | ) |
const RenderAttrib clearShaderInput | ( | const InternalName | id | ) |
const RenderAttrib clearShaderInput | ( | str | id | ) |
|
static |
|
static |
bool getFlag | ( | int | flag | ) |
int getInstanceCount | ( | ) |
Returns the number of geometry instances.
A value of 0 means not to use instancing at all.
const Shader getShader | ( | ) |
Returns the shader object associated with the node.
If get_override returns true, but get_shader returns NULL, that means that this attribute should disable the shader.
const ShaderInput getShaderInput | ( | const InternalName | id | ) |
Returns the ShaderInput of the given name.
If no such name is found, this function does not return NULL — it returns the "blank" ShaderInput.
const ShaderInput getShaderInput | ( | str | id | ) |
Returns the ShaderInput of the given name.
If no such name is found, this function does not return NULL — it returns the "blank" ShaderInput.
ShaderBuffer getShaderInputBuffer | ( | const InternalName | id | ) |
Returns the ShaderInput as a ShaderBuffer.
Assertion fails if there is none, or if it is not a ShaderBuffer.
const LMatrix4 getShaderInputMatrix | ( | const InternalName | id, |
LMatrix4 | matrix ) |
Returns the ShaderInput as a matrix.
Assertion fails if there is none, or if it is not a matrix or NodePath.
const NodePath getShaderInputNodepath | ( | const InternalName | id | ) |
Returns the ShaderInput as a nodepath.
Assertion fails if there is none, or if it is not a nodepath.
const Shader::ShaderPtrData getShaderInputPtr | ( | const InternalName | id | ) |
Returns the ShaderInput as a ShaderPtrData struct.
Assertion fails if there is none. or if it is not a PTA(double/float)
Texture getShaderInputTexture | ( | const InternalName | id, |
SamplerState | sampler ) |
Returns the ShaderInput as a texture.
Assertion fails if there is none, or if it is not a texture.
If sampler is not NULL, the sampler state to use for this texture is assigned to it.
LVecBase4 getShaderInputVector | ( | InternalName | id | ) |
Returns the ShaderInput as a vector.
Assertion fails if there is none, or if it is not a vector.
int getShaderPriority | ( | ) |
bool hasShader | ( | ) |
If true, the shader field of this attribute overrides the shader field of the parent attribute.
bool hasShaderInput | ( | const InternalName | id | ) |
Returns true if there is a ShaderInput of the given name.
|
static |
Constructs a new ShaderAttrib object with nothing set.
|
static |
Returns a RenderAttrib that corresponds to whatever the standard default properties for render attributes of this type ought to be.
|
static |
Constructs a new ShaderAttrib object that disables the use of shaders (it does not clear out all shader data, however.)
|
static |
Factory method to generate a Shader object.
const RenderAttrib setFlag | ( | int | flag, |
bool | value ) |
const RenderAttrib setInstanceCount | ( | int | instance_count | ) |
Sets the geometry instance count.
Do not confuse this with instanceTo, which is used for animation instancing, and has nothing to do with this. A value of 0 means not to use instancing at all.
const RenderAttrib setShader | ( | const Shader | s, |
int | priority ) |
const RenderAttrib setShaderAuto | ( | BitMask32 | shader_switch, |
int | priority ) |
Set auto shader with bitmask to customize use, e.g., to keep normal, glow, etc., on or off.
const RenderAttrib setShaderAuto | ( | int | priority | ) |
const RenderAttrib setShaderInput | ( | const InternalName | , |
object | , | ||
int | priority ) |
const RenderAttrib setShaderInput | ( | const ShaderInput | input | ) |
const RenderAttrib setShaderInputs | ( | object | args, |
object | kwargs ) |
const RenderAttrib setShaderOff | ( | int | priority | ) |
int class_slot |
int instance_count |
Returns the number of geometry instances.
A value of 0 means not to use instancing at all.
const Shader shader |
Returns the shader object associated with the node.
If get_override returns true, but get_shader returns NULL, that means that this attribute should disable the shader.