19 #include "pandabase.h" 20 #include "typedWritableReferenceCount.h" 21 #include "pointerTo.h" 22 #include "internalName.h" 23 #include "paramValue.h" 24 #include "pta_float.h" 25 #include "pta_double.h" 26 #include "pta_LMatrix4.h" 27 #include "pta_LMatrix3.h" 28 #include "pta_LVecBase4.h" 29 #include "pta_LVecBase3.h" 30 #include "pta_LVecBase2.h" 31 #include "samplerState.h" 57 INLINE ShaderInput(
CPT_InternalName name,
Texture *tex,
bool read,
bool write,
int z=-1,
int n=0,
int priority=0);
59 INLINE ShaderInput(
CPT_InternalName name,
const PTA_float &ptr,
int priority=0);
60 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase4f &ptr,
int priority=0);
61 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase3f &ptr,
int priority=0);
62 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase2f &ptr,
int priority=0);
63 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix4f &ptr,
int priority=0);
64 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix3f &ptr,
int priority=0);
71 INLINE ShaderInput(
CPT_InternalName name,
const PTA_double &ptr,
int priority=0);
72 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase4d &ptr,
int priority=0);
73 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase3d &ptr,
int priority=0);
74 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase2d &ptr,
int priority=0);
75 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix4d &ptr,
int priority=0);
76 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix3d &ptr,
int priority=0);
83 INLINE ShaderInput(
CPT_InternalName name,
const PTA_int &ptr,
int priority=0);
84 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase4i &ptr,
int priority=0);
85 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase3i &ptr,
int priority=0);
86 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase2i &ptr,
int priority=0);
93 enum ShaderInputType {
103 INLINE
const InternalName *get_name()
const;
105 INLINE
int get_value_type()
const;
106 INLINE
int get_priority()
const;
107 INLINE
Texture *get_texture()
const;
108 INLINE
const LVecBase4 &get_vector()
const;
112 const NodePath &get_nodepath()
const;
117 static void register_with_read_factory();
130 int _bind_level : 16;
137 static void init_type() {
138 ReferenceCount::init_type();
139 register_type(_type_handle,
"ShaderInput",
140 TypedWritableReferenceCount::get_class_type());
143 return get_class_type();
145 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
152 #include "shaderInput.I" 154 #endif // SHADERINPUT_H This is the base class for all three-component vectors and points.
This is a const pointer to an InternalName, and should be used in lieu of a CPT(InternalName) in func...
This is a 4-by-4 transform matrix.
This is the base class for all two-component vectors and points.
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
This is the base class for all two-component vectors and points.
This is the base class for all three-component vectors and points.
This is the base class for all three-component vectors and points.
This is a 3-by-3 transform matrix.
A non-template base class of ParamValue (below), which serves mainly to define the placeholder for th...
This is a 4-by-4 transform matrix.
This is the base class for all two-component vectors and points.
This is the base class for all three-component vectors and points.
A base class for things which need to inherit from both TypedWritable and from ReferenceCount.
Represents a set of settings that indicate how a texture is sampled.
This is the base class for all three-component vectors and points.
This is the base class for all three-component vectors and points.
TypeHandle is the identifier used to differentiate C++ class types.
This is a 3-by-3 transform matrix.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...