HDK
|
#include <GR_GeoRender.h>
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 151 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 179 of file GR_GeoRender.h.
|
static |
|
pure virtual |
Normal drawing method. Only issue rendering commands.
Implemented in GR_VolumeGL3, 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 236 of file GR_GeoRender.h.
|
inline |
Definition at line 182 of file GR_GeoRender.h.
|
inline |
Definition at line 296 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_VolumeVK, GR_PolyCurveGL3, GR_PolySurfaceVK, GR_PolyCurveVK, GR_PolyRibbonVK, GR_PolySurface, GR_HeightFieldVK, GR_ImageVK, GR_PointVK, GR_PointGL3, GR_PointSplatVK, and GR_SpriteVK.
GR_BasePrimType GR_GeoRender::getParentType | ( | ) | const |
|
inlinevirtual |
Reimplemented in 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 169 of file GR_GeoRender.h.
|
inline |
Definition at line 174 of file GR_GeoRender.h.
|
inline |
Definition at line 164 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.
|
protected |
|
inlinevirtual |
returns true if this drawable renders some transparent elements
Reimplemented in 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 295 of file GR_GeoRender.h.
Definition at line 177 of file GR_GeoRender.h.
|
inline |
Definition at line 167 of file GR_GeoRender.h.
Definition at line 172 of file GR_GeoRender.h.
|
inline |
Definition at line 162 of file GR_GeoRender.h.
|
inline |
Definition at line 159 of file GR_GeoRender.h.
|
inline |
Definition at line 157 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_VolumeVK, GR_PolySurfaceVK, GR_PolySurface, GR_HeightFieldVK, 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, and GR_VolumeVK.
Definition at line 64 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.
|
protected |
Definition at line 302 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.
|
protected |
Definition at line 317 of file GR_GeoRender.h.
|
protected |
Definition at line 321 of file GR_GeoRender.h.
|
protected |
Definition at line 315 of file GR_GeoRender.h.
|
protected |
Definition at line 314 of file GR_GeoRender.h.
|
protected |
Definition at line 318 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.
|
protected |
Definition at line 300 of file GR_GeoRender.h.
|
protected |
Definition at line 316 of file GR_GeoRender.h.
|
protected |
Definition at line 301 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.
|
protected |
Definition at line 320 of file GR_GeoRender.h.
|
protected |
Definition at line 312 of file GR_GeoRender.h.
|
protected |
Definition at line 299 of file GR_GeoRender.h.
|
protected |
Definition at line 313 of file GR_GeoRender.h.
|
protected |
Definition at line 303 of file GR_GeoRender.h.