15 #ifndef RE_VertexState_h
16 #define RE_VertexState_h
52 void setMapSize(
int nv);
58 int attribute_location);
63 int64 *maskptr =
nullptr);
80 void clearAttrib(
int attribute_location);
107 int64 mem = inclusive ?
sizeof(*this) : 0;
108 mem += myCustomAttribs.getMemoryUsage(
false);
109 mem += myAttribLocs.getMemoryUsage(
false);
110 mem += myTexAttribNames.getMemoryUsage(
false);
111 mem += myAttribIDs.getMemoryUsage(
false);
122 int64 myBoundLocations;
123 int64 myBoundAttributes;
124 int64 myBoundConstants;
125 int64 myBoundTexAttribs;
126 int myUndefAttribIndex;
128 class re_CustomAttrib
132 re_CustomAttrib(
const char *
name,
int loc)
133 : attrib_name(name),
location(loc) {}
171 int attrib_location);
180 int attrib_location);
195 bool checkDirty(
RE_Render *r,
int serial_index);
210 bool hasBoundTBO(
int tex_unit)
const;
216 bool *in_instance_group =
227 static bool texBufferDeleted(
void *,
void *);
229 static void dumpGLVertexState(
RE_Render *r);
233 int64 getMemoryUsage(
bool inclusive)
const;
239 unsigned char *myConstAttribSize;
243 int myNumVertexAttribs;
255 if(myDirtySerial != serial_index)
257 myDirtySerial = serial_index;
258 if(myBoundState >= 0)
278 return (tex_unit < myHasBoundTBO.
entries() && myHasBoundTBO(tex_unit));
virtual bool init(RE_Render *r)=0
int64 getLocationMask() const
UT_StringHolder mode_uniform
int64 getMemoryUsage(bool inclusive) const
static RE_GraphicsDevice getGraphicsDevice()
bool hasBoundTBO(int tex_unit) const
int64 getTextureMask() const
GLint GLenum GLboolean GLsizei stride
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
int64 getAttributeMask() const
GLuint const GLchar * name
void setVertexStride(int stride)
exint entries() const
Alias of size(). size() is preferred.
int64 getConstantMask() const
FMT_INLINE void print(format_string< T...> fmt, T &&...args)
bool checkDirty(RE_Render *r, int serial_index)
UT_StringHolder samp_uniform