40class EXPCL_PANDA_PGRAPH ShaderInput {
52 EXTENSION(
explicit ShaderInput(
CPT_InternalName name, PyObject *value,
int priority=0));
58 INLINE ShaderInput(
CPT_InternalName name,
const PTA_float &ptr,
int priority=0);
59 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase4f &ptr,
int priority=0);
60 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase3f &ptr,
int priority=0);
61 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase2f &ptr,
int priority=0);
62 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix4f &ptr,
int priority=0);
63 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix3f &ptr,
int priority=0);
64 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase4f &vec,
int priority=0);
65 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase3f &vec,
int priority=0);
66 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase2f &vec,
int priority=0);
67 INLINE ShaderInput(
CPT_InternalName name,
const LMatrix4f &mat,
int priority=0);
68 INLINE ShaderInput(
CPT_InternalName name,
const LMatrix3f &mat,
int priority=0);
70 INLINE ShaderInput(
CPT_InternalName name,
const PTA_double &ptr,
int priority=0);
71 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase4d &ptr,
int priority=0);
72 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase3d &ptr,
int priority=0);
73 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase2d &ptr,
int priority=0);
74 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix4d &ptr,
int priority=0);
75 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LMatrix3d &ptr,
int priority=0);
76 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase4d &vec,
int priority=0);
77 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase3d &vec,
int priority=0);
78 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase2d &vec,
int priority=0);
79 INLINE ShaderInput(
CPT_InternalName name,
const LMatrix4d &mat,
int priority=0);
80 INLINE ShaderInput(
CPT_InternalName name,
const LMatrix3d &mat,
int priority=0);
82 INLINE ShaderInput(
CPT_InternalName name,
const PTA_int &ptr,
int priority=0);
83 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase4i &ptr,
int priority=0);
84 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase3i &ptr,
int priority=0);
85 INLINE ShaderInput(
CPT_InternalName name,
const PTA_LVecBase2i &ptr,
int priority=0);
86 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase4i &vec,
int priority=0);
87 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase3i &vec,
int priority=0);
88 INLINE ShaderInput(
CPT_InternalName name,
const LVecBase2i &vec,
int priority=0);
93 explicit ShaderInput(
CPT_InternalName name,
Texture *tex,
bool read,
bool write,
int z=-1,
int n=0,
int priority=0);
96 enum ShaderInputType {
108 INLINE
operator bool()
const;
109 INLINE
bool operator == (
const ShaderInput &other)
const;
110 INLINE
bool operator != (
const ShaderInput &other)
const;
111 INLINE
bool operator < (
const ShaderInput &other)
const;
113 size_t add_hash(
size_t hash)
const;
117 INLINE
int get_value_type()
const;
118 INLINE
int get_priority()
const;
119 INLINE
const LVecBase4 &get_vector()
const;
127 ShaderInput() =
default;
132 static void register_with_read_factory();
135 LVecBase4 _stored_vector;
142 friend class ShaderAttrib;
This is a const pointer to an InternalName, and should be used in lieu of a CPT(InternalName) in func...
The default class template does not define any methods.
Encodes a string name in a hash table, mapping it to a pointer.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
A non-template base class of ParamValue (below), which serves mainly to define the placeholder for th...
Represents a set of settings that indicate how a texture is sampled.
This is a generic buffer object that lives in graphics memory.
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
A base class for things which need to inherit from both TypedWritable and from ReferenceCount.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.