| 
| GR_API GR_AttribMask  | hasSelection (const GR_UpdateParms &p) | 
|   | Returns the selection type in p.geometry.  More...
  | 
|   | 
| GR_API bool  | inPrimitiveSelection (const GR_UpdateParms &p, GA_Offset prim_id, const GU_Detail *geo=nullptr) | 
|   | 
| GR_API bool  | inPointSelection (const GR_UpdateParms &p, GA_Offset point_id, const GU_Detail *geo=nullptr) | 
|   | Returns true if point_id is in the selection list for p.geometry.  More...
  | 
|   | 
| GR_API bool  | inVertexSelection (const GR_UpdateParms &p, GA_Offset vert_id, const GU_Detail *geo=nullptr) | 
|   | Returns true if vert_id is in the selection list for p.geometry.  More...
  | 
|   | 
| GR_API GR_SelectMode  | inPrimitiveSelection (const GR_UpdateParms &p, const UT_Array< GA_Offset > &pids, UT_BitArray &selected) | 
|   | Checks if passed prim offsets are in p.geometry's selection. Returns GR_SELECT_PRIM_PARTIAL/FULL if some or all of the prim offsets are in the cook or temp selections, as indicated by the parms in p, otherwise GR_SELECT_NONE is returned. The individual selection results are returned in 'selected'.  More...
  | 
|   | 
| GR_API GR_SelectMode  | inPointSelection (const GR_UpdateParms &p, const UT_Array< GA_Offset > &pids, UT_BitArray &selected) | 
|   | Checks if passed point offsets are in p.geometry's selection. Returns GR_SELECT_POINT_PARTIAL/FULL if some or all of the point offsets are in the cook or temp selections, as indicated by the parms in p, otherwise GR_SELECT_NONE is returned. The individual selection results are returned in 'selected'.  More...
  | 
|   | 
| GR_API GR_SelectMode  | inVertexSelection (const GR_UpdateParms &p, const UT_Array< GA_Offset > &vids, UT_BitArray &selected) | 
|   | Checks if passed vertex offsets are in p.geometry's selection.  More...
  | 
|   | 
| GR_API RE_CacheVersion  | getAttribVersion (const GT_DataArrayHandle &ph, RE_CacheVersion geo_version) | 
|   | Return the cache version for attribute 'ph'.  More...
  | 
|   | 
| GR_API RE_CacheVersion  | getTopologyVersion (const GT_Primitive *prim, RE_CacheVersion geo_version) | 
|   | Return the cache version for the topology of primitive 'prim'.  More...
  | 
|   | 
| GR_API bool  | hasPrimTransform (const RE_Geometry *geo) | 
|   | Return true if the geometry has a per-prim transform or per-prim visibility.  More...
  | 
|   | 
| GR_API void  | setupGhosting (RE_RenderContext r, int opaque_data[3], fpreal transparency=0.25f) | 
|   | 
| GR_API void  | cleanupGhosting (RE_RenderContext r, int opaque_data[3]) | 
|   | 
| RE_GPUType  | getREType (GT_Storage s) | 
|   | Convenience method to return an RE type from a GT storage type.  More...
  | 
|   | 
| GR_API void  | assignInstanceGroupArray (RE_Geometry *to_geo, const RE_VertexArray *array, int instance_group=-1) | 
|   | 
| GR_API bool  | removeInstanceGroupArray (RE_Geometry *from_geo, int instance_group, const char *attrib_name, RE_GenericAttribID id=RE_GENATTRIB_NONE) | 
|   | 
| GR_API RE_GPUType  | getAttributeType (RE_Render *r, const char *attrib_name, int &vsize, const GT_DataArrayHandle &pa, const GR_DisplayOption &opts, RE_ArrayType array_type) | 
|   | 
| GR_API bool  | buildInstanceObjectMatrix (RE_Render *r, const GT_PrimitiveHandle &h, const GR_UpdateParms &p, RE_Geometry *geo, RE_CacheVersion version, int instance_group=0, UT_Matrix4D *transform=NULL) | 
|   | 
| GR_API void  | buildInstanceIndex (RE_Render *r, RE_Geometry *geo, bool has_partial_visibility, const UT_IntArray &inst_indices, int instance_group, int max_capacity) | 
|   | 
| GR_API void  | buildBoneRegionsAndWeights (RE_Render *r, RE_VertexArray **bone_idx, RE_VertexArray **bone_weight, const GT_DataArrayHandle &dh, RE_CacheVersion version, int bone_limit, int &ret_bone_limit) | 
|   | contributors are taken (to fit in a up to 3 vec4/ivec4 attribute pairs).  More...
  | 
|   | 
| GR_API RE_VertexArray *  | fillAttribArray (RE_Render *r, RE_Geometry *geo, const char *attrib_name, const GT_DataArrayHandle &h, const GR_DisplayOption &opts, RE_ArrayType atype, RE_CacheVersion geo_version) | 
|   | 
| GR_API void *  | fillAttribData (RE_Render *r, const char *attrib_name, const GT_DataArrayHandle &pa, const GR_DisplayOption &opts, RE_ArrayType array, bool build_string_tables=true) | 
|   | 
| GR_API void  | fillStringAttrib (RE_Render *r, const GT_DataArrayHandle &dh, RE_Geometry *geo, RE_VertexArray *array, const RE_CacheVersion &version) | 
|   | 
| GR_API RE_Shader *  | getWireShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getRibbonShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getRibbonUVShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getConstPointShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getColorShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getMatteShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getMatteDisplaceShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthPrimTransformShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCubeShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCubeLineShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCubePointShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCubeDisplaceShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCubePrimTransformShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthLinearShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthLinearDisplaceShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthLinearPrimTransformShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthWireShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthWirePrimTransformShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCascadeShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCascadeLineShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCascadePointShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCascadeDisplaceShader (RE_Render *r) | 
|   | 
| GR_API RE_Shader *  | getDepthCascadePrimTransformShader (RE_Render *r) | 
|   | 
| GR_API void  | buildInstancedCenterPoints (RE_RenderContext r, const GT_PrimitiveHandle &handle, const GR_UpdateParms &p, const UT_Matrix4DArray &primxforms, const GT_DataArrayHandle &prim_ids, const GT_DataArrayHandle &pnt_ids, const GT_DataArrayHandle &vtx_ids, const UT_Vector3F &point, RE_CacheVersion point_version, GR_GeoRender *gr, const char *cache_name, GT_PrimitiveHandle *pt_handle=nullptr, GR_SelectMode *pnt_sel_mode=NULL, bool is_offsets=true) | 
|   | 
| GR_API void  | buildCenterPoint (RE_Render *r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const UT_Matrix4DArray &prim_xforms, const GT_DataArrayHandle &prim_ids, const GT_DataArrayHandle &point_ids, const GT_DataArrayHandle &vert_ids, const UT_Vector3F &point, RE_CacheVersion point_version, RE_Geometry *geo, RE_VertexArrayRef *p_ref, RE_VertexArrayRef *inst_mat_ref, GR_SelectMode *point_select_mode, bool is_offsets) | 
|   | 
| GR_API void  | buildCenterPoints (RE_RenderContext r, const GT_PrimitiveHandle &handle, const GR_UpdateParms &p, const UT_Matrix4DArray &primxforms, const GT_DataArrayHandle &prim_ids, const GT_DataArrayHandle &pnt_ids, const GT_DataArrayHandle &vtx_ids, GR_GeoRender *gr, const char *cache_name, GT_PrimitiveHandle *pt_handle=nullptr, GR_SelectMode *pnt_sel_mode=NULL, bool is_offsets=true, bool build_selection=true) | 
|   | 
| GR_API void  | buildCenterPoints (RE_Render *r, const GT_PrimitiveHandle &handle, const GR_UpdateParms &p, const UT_Matrix4DArray &primxforms, const GT_DataArrayHandle &prim_ids, const GT_DataArrayHandle &pnt_ids, const GT_DataArrayHandle &vtx_ids, RE_Geometry *geo, GR_SelectMode *pnt_sel_mode=NULL, bool is_offsets=true, bool build_selection=true) | 
|   | 
| GR_API void  | buildCenterPointSelection (RE_Render *r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const GT_DataArrayHandle &prim_ids, const GT_DataArrayHandle &pnt_ids, const GT_DataArrayHandle &vert_ids, RE_Geometry *geo, GR_SelectMode *point_select_mode, bool is_offsets) | 
|   | 
| GR_API void  | createCenterPointAttribs (RE_Render *r, const GT_PrimitiveHandle &ph, const GR_UpdateParms &p, RE_Geometry *geo) | 
|   | 
| GR_API void  | buildCenterPointIDs (RE_Render *r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const GT_DataArrayHandle &prm_id, const GT_DataArrayHandle &pnt_id, const GT_DataArrayHandle &vtx_id, RE_Geometry *geo, bool is_offsets) | 
|   | 
| GR_API GR_SelectMode  | buildSelection (UT_Array< uint8 > &selected, const GR_UpdateParms &p, GT_DataArrayHandle prim_id, GT_DataArrayHandle pnt_id, GT_DataArrayHandle vert_id, bool is_offset, int repeat_count) | 
|   | 
| GR_API GR_SelectMode  | buildInstSelectInfo (RE_Render *r, RE_Geometry *geo, const GR_UpdateParms &p, RE_CacheVersion top_ver, GT_DataArrayHandle primid, GT_DataArrayHandle vtxid, GT_DataArrayHandle vertid, bool is_offsets=true, int instances_per_prim=1, UT_Array< uint8 > *result=NULL) | 
|   | 
| GR_API int  | getMaxTextureSize (RE_RenderContext rc) | 
|   | 
| GR_API int  | getMaxTexture3DSize (RE_RenderContext rc) | 
|   | 
| GR_API bool  | inViewFrustum (const UT_BoundingBoxD &bbox, const UT_Matrix4D &objviewproj, const UT_Vector4D *frustum_area=NULL) | 
|   | 
| GR_API bool  | inViewFrustum (const UT_BoundingBoxF &bbox, const UT_Matrix4F &objviewproj) | 
|   | 
| GR_API bool  | inViewFrustumWithLOD (const UT_BoundingBoxF &bbox, const UT_Matrix4F &objviewproj, bool &has_bounds, UT_Vector2F &bounds_2d) | 
|   | 
| GR_API bool  | isRasterized (const UT_Matrix4F &objviewproj, const UT_Vector2F &min_proj_size, const UT_BoundingBoxF &bbox) | 
|   | 
| GR_API GU_Connectivity  | getConnectivityFromString (const char *str) | 
|   | 
GR_API UT_Array< std::pair 
< gr_MatBucket *, int > > *  | bucketMaterials (const GT_DataArrayHandle &mat_id) | 
|   | 
| GR_API void  | cleanupBuckets (UT_Array< std::pair< gr_MatBucket *, int >> *&buckets) | 
|   | 
| GR_API void  | printUpdateReason (GR_UpdateReason r, std::ostream *os=NULL) | 
|   | 
| GR_API void  | updateReasonString (GR_UpdateReason r, UT_WorkBuffer &buf) | 
|   | 
| GR_API void  | printDrawMode (GR_RenderMode mode, std::ostream *os=NULL) | 
|   | 
| GR_API void  | printDrawFlags (GR_RenderFlags flags, std::ostream *os=NULL) | 
|   | 
| GR_API void  | drawFlagsString (GR_RenderFlags flags, UT_WorkBuffer &buf) | 
|   | 
| GR_API void  | drawModeString (GR_RenderMode mode, UT_WorkBuffer &buf) | 
|   | 
| RV_GPUType  | getRVType (GT_Storage s) | 
|   | 
| GR_API RV_GPUType  | getAttributeType (RV_Render *r, const char *attrib_name, const GT_DataArrayHandle &pa, const GR_DisplayOption &opts, RV_AttributeType array_type, int &out_vsize, bool &out_isnormalized) | 
|   | 
| GR_API void *  | fillAttribData (RV_Render *r, const char *attrib_name, const GT_DataArrayHandle &pa, const GR_DisplayOption &opts, RV_AttributeType array, bool build_string_tables=true, const UT_Span< uint8 > &out_data=UT_Span< uint8 >()) | 
|   | 
| GR_API GR_SelectMode  | buildInstSelectInfo (RV_Render *r, RV_Geometry *geo, const GR_UpdateParms &p, RE_CacheVersion top_ver, GT_DataArrayHandle prim_id, GT_DataArrayHandle pnt_id, GT_DataArrayHandle vert_id, bool is_offset=true, int inst_per_prim=1, UT_Array< uint8 > *selected=nullptr) | 
|   | 
| GR_API bool  | createOrReuseSet (RV_Render *r, UT_UniquePtr< RV_ShaderVariableSet > &set, int set_num, const RV_ShaderProgramBase *shader, bool *created=nullptr, const char *name=nullptr) | 
|   | 
| GR_API bool  | initBuiltinBlock (RV_Render *r, UT_UniquePtr< RV_ShaderBlock > &block, const char *name, RV_ShaderVariableSet *set, const RV_ShaderProgramBase *shader, uint32_t array_size=0) | 
|   | 
| GR_API void  | loadAtlas (RV_Instance *inst, RV_ShaderAtlas &atlas, UT_Map< exint, RV_ShaderProgram * > &programmap) | 
|   | 
| GR_API void  | buildCurvePrimInfo (const GT_PrimCurveMesh *cmesh, const GR_UpdateParms &p, RV_Geometry *geo, GR_GeoRender *gr, RE_CacheVersion geo_version, UT_Vector4iArray &data, UT_Int32Array *opt_curve_oder=nullptr) | 
|   | 
| template<typename Range , typename Body >  | 
| void  | renderParallelFor (RE_RenderContext main_rc, const Range &range, const Body &body, int subscribe_ratio=2, int min_grain_size=1) | 
|   | 
Utility GR methods common to all renderers.