| 
    HDK
    
   | 
 
#include <GR_GeoRender.h>
 Inheritance diagram for GR_GeoRender:Public Types | |
| enum | RenderType { OPENGL, VULKAN } | 
Static Public Member Functions | |
| static bool | createTanAttrib (UT_Vector4F *tan_data, const GT_DataArray *nml, const GT_DataArray *tanu, const GT_DataArray *tanv, const GT_DataArray *vlist) | 
Protected Member Functions | |
| GR_AttribMask | hasAttribute (const GT_Primitive *prim, const char *name, GT_DataArrayHandle &h) const | 
| GT_PrimitiveHandle | getCachedGTPrimitive () | 
| void | cacheGTPrimitive (GT_PrimitiveHandle &primh) | 
| int | getCurrentLayer () const | 
| template<typename T > | |
| GR_SelectMode | addToPointSelection (const UT_Span< T > &out_select, const GU_Detail &geo, const GT_DataArrayHandle &vh, const GT_DataArrayHandle &vl, const GA_PointGroup *pntsel, bool use_vertex_for_point_select, bool &init) | 
| GR_SelectMode | addToVertexSelection (const UT_Span< uint8 > &out_select, const GU_Detail &geo, const GT_DataArrayHandle &vh, const GA_VertexGroup *vertsel, bool &init) | 
| template<typename T > | |
| GR_SelectMode | addToEdgeSelection (const UT_Span< T > &out_select, const GU_Detail &geo, const GT_DataArrayHandle &vt, const GT_DataArrayHandle &vert_list, const GA_EdgeGroup *edgesel, bool &init) | 
| GR_SelectMode | addToPrimSelection (const UT_Span< uint8 > &out_select, const GT_DataArrayHandle &vh, const GA_PrimitiveGroup *primsel, bool &init) | 
Protected Attributes | |
| RenderType | myRenderer | 
| const GR_RenderInfo * | myInfo | 
| GR_MaterialGroups | myMatGroups | 
| UT_BoundingBoxD | myBounds | 
| unsigned | myBuildPointInfo: 1 | 
| unsigned | myBuildPrimInfo: 1 | 
| unsigned | myHasDetailPrimID: 1 | 
| unsigned | myHasInstancedTransform: 1 | 
| unsigned | myHasIdentityTransform: 1 | 
| unsigned | myUseBoneDeform: 1 | 
| unsigned | myNumBoneDeform: 2 | 
| unsigned | myAllowGeoOverride: 1 | 
| UT_Matrix4D | myPrimitiveTransform | 
| GR_AttribMask | mySelectionMask | 
| GR_SelectMode | myCurrentSelection | 
| int | myCurrentPointSelectInstance | 
| int | myMaterialOverride | 
| int | myConvexFlag | 
| int | myDetailPrimID | 
| GR_Primitive * | myParentPrim | 
| int | myCurrentLayer | 
Definition at line 42 of file GR_GeoRender.h.
| Enumerator | |
|---|---|
| OPENGL | |
| VULKAN | |
Definition at line 45 of file GR_GeoRender.h.
| GR_GeoRender::GR_GeoRender | ( | GR_Primitive * | parent_prim, | 
| RenderType | type | ||
| ) | 
      
  | 
  virtual | 
| void GR_GeoRender::addRedrawError | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
| void GR_GeoRender::addRedrawFatal | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
| void GR_GeoRender::addRedrawMessage | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
| void GR_GeoRender::addRedrawWarning | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
| void GR_GeoRender::addUpdateError | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
| void GR_GeoRender::addUpdateFatal | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
| void GR_GeoRender::addUpdateMessage | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
| void GR_GeoRender::addUpdateWarning | ( | GR_ErrorManager::Source | err_source, | 
| GR_ErrorCode | gr_code, | ||
| UT_StringHolder | extra_text = UT_StringHolder(),  | 
        ||
| UT_StringHolder | src_name = UT_StringHolder()  | 
        ||
| ) | 
| void GR_GeoRender::allowGeoOverride | ( | bool | allow_overrides | ) | 
      
  | 
  inline | 
Definition at line 153 of file GR_GeoRender.h.
| GT_DataArrayHandle GR_GeoRender::buildPointIDData | ( | const GT_Primitive & | prim, | 
| const GU_ConstDetailHandle & | geo, | ||
| int | npoints | ||
| ) | 
| GT_DataArrayHandle GR_GeoRender::buildPrimitiveIDData | ( | const GT_Primitive & | prim, | 
| const GU_ConstDetailHandle & | geo | ||
| ) | 
      
  | 
  protected | 
      
  | 
  inlinevirtual | 
Reimplemented in GR_PolySurfaceGL3.
Definition at line 139 of file GR_GeoRender.h.
      
  | 
  pure virtual | 
      
  | 
  inline | 
Definition at line 181 of file GR_GeoRender.h.
      
  | 
  static | 
      
  | 
  pure virtual | 
Normal drawing method. Only issue rendering commands.
Implemented in GR_VolumeGL3, GR_GaussianSplatVK, GR_VolumeVK, GR_PolySurfaceVK, GR_HeightFieldVK, GR_ImageVK, GR_PolyCurveGL3, GR_PolyCurveVK, GR_PointVK, GR_PolyRibbonVK, GR_OSDSubdSurfaceGL4, GR_PolySurfaceGL3, GR_PointGL3, GR_PointSplatVK, and GR_SpriteVK.
      
  | 
  inlinevirtual | 
Called if another entity makes changes to the RE_Geometry after update() is called (usually the entity is a GR_Primitive object).
Reimplemented in GR_PolyCurveGL3.
Definition at line 84 of file GR_GeoRender.h.
      
  | 
  protected | 
      
  | 
  inlineprotected | 
Definition at line 241 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 184 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 301 of file GR_GeoRender.h.
      
  | 
  inlinevirtual | 
Reimplemented in GR_GeoRenderVK, and GR_GeoRenderGL.
Definition at line 96 of file GR_GeoRender.h.
      
  | 
  pure virtual | 
return the number of GL primitives that this renderer produces. May be roughly estimated.
Implemented in GR_VolumeGL3, GR_GaussianSplatVK, GR_VolumeVK, GR_PolyCurveGL3, GR_PolySurfaceVK, GR_PolyCurveVK, GR_PolyRibbonVK, GR_HeightFieldVK, GR_PolySurface, GR_ImageVK, GR_PointVK, GR_PointGL3, GR_PointSplatVK, and GR_SpriteVK.
      
  | 
  inline | 
Definition at line 151 of file GR_GeoRender.h.
| GR_BasePrimType GR_GeoRender::getParentType | ( | ) | const | 
      
  | 
  inlinevirtual | 
Reimplemented in GR_GaussianSplatVK, GR_GeoRenderGL, GR_PolyCurveVK, GR_PolyRibbonVK, GR_SpriteVK, and GR_PolySurfaceVK.
Definition at line 100 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 107 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 149 of file GR_GeoRender.h.
| GR_RenderVersion GR_GeoRender::getRenderVersion | ( | ) | const | 
      
  | 
  inline | 
Definition at line 171 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 176 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 166 of file GR_GeoRender.h.
      
  | 
  inlinevirtual | 
Reimplemented in GR_GeoRenderVK.
Definition at line 98 of file GR_GeoRender.h.
      
  | 
  inlinevirtual | 
check if there is a specifc geometry and connect group that should be used for pick rendering
Reimplemented in GR_PolySurfaceVK, GR_HeightFieldVK, and GR_ImageVK.
Definition at line 128 of file GR_GeoRender.h.
      
  | 
  inlinevirtual | 
Reimplemented in GR_GeoRenderVK.
Definition at line 194 of file GR_GeoRender.h.
      
  | 
  protected | 
      
  | 
  inlinevirtual | 
returns true if this drawable renders some transparent elements
Reimplemented in GR_GaussianSplatVK, GR_PolySurfaceVK, GR_PolyRibbonVK, GR_PolyCurveVK, GR_HeightFieldVK, GR_ImageVK, GR_PointVK, GR_PolySurface, GR_PointGL3, GR_PointSplatVK, and GR_SpriteVK.
Definition at line 89 of file GR_GeoRender.h.
| bool GR_GeoRender::inViewFrustum | ( | const UT_Matrix4D & | objviewproj, | 
| const UT_BoundingBoxD * | bbox | ||
| ) | 
      
  | 
  inlinevirtual | 
Reimplemented in GR_PolySurfaceGL3.
Definition at line 80 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 52 of file GR_GeoRender.h.
| bool GR_GeoRender::isRasterizedInView | ( | const UT_Matrix4F & | objviewproj, | 
| const UT_Vector2F & | min_proj_size, | ||
| const UT_BoundingBoxF * | bbox = nullptr  | 
        ||
| ) | 
      
  | 
  inline | 
Definition at line 53 of file GR_GeoRender.h.
      
  | 
  inlinevirtual | 
Reimplemented in GR_PolySurface, and GR_GeoRenderGL.
Definition at line 86 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 300 of file GR_GeoRender.h.
Definition at line 179 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 169 of file GR_GeoRender.h.
Definition at line 174 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 164 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 161 of file GR_GeoRender.h.
      
  | 
  inline | 
Definition at line 159 of file GR_GeoRender.h.
| bool GR_GeoRender::showSelections | ( | ) | const | 
      
  | 
  inlinevirtual | 
By default, no instanced drawing support.
Reimplemented in GR_PolyCurveGL3, and GR_PolySurfaceGL3.
Definition at line 78 of file GR_GeoRender.h.
      
  | 
  pure virtual | 
Update the geometry of this render object using the GT primitive. No rendering commands should be issued.
Implemented in GR_VolumeGL3, GR_GaussianSplatVK, GR_VolumeVK, GR_PolySurfaceVK, GR_HeightFieldVK, GR_PolySurface, GR_ImageVK, GR_PolyCurveGL3, GR_PolyCurveVK, GR_PointVK, GR_PolyRibbonVK, GR_OSDSubdSurfaceGL4, GR_OSDSubdSurfaceGL3, GR_PointGL3, GR_PointSplatVK, and GR_SpriteVK.
      
  | 
  inlinevirtual | 
Called when the view changes, if the parent primitive requested view changes
Reimplemented in GR_VolumeGL3, GR_GaussianSplatVK, and GR_VolumeVK.
Definition at line 64 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 307 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 322 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 326 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 320 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 319 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 323 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 305 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 321 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 306 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 325 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 317 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 304 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 318 of file GR_GeoRender.h.
      
  | 
  protected | 
Definition at line 308 of file GR_GeoRender.h.