FAQ: Is it possible to eliminate all culling in 3DF?

When zooming out you may notice that certain geometry may abruptly disappear. The following 3DF code produces a scene with a few markers:

HC_Open_Segment_By_Key(m_pHView->GetModelKey());
HC_Set_Visibility("markers=on,faces=off,vertices=on");
HC_Set_Heuristics("culling = off");
char tempstr[1024];
float marker_size = (float)50 / 100;
sprintf(tempstr, "%f wsu", marker_size);
HC_Set_Variable_Marker_Size(tempstr);
   
/*Setting the marker symbol to one of the two allowable symbols*/
HC_Set_Marker_Symbol("(*)");
   
/*Setting the Driver Option for Hardware Acceleration*/
HC_Open_Segment_By_Key(m_pHView->GetViewKey());
HC_Set_Driver_Options("marker drawing = fastest");
HC_Close_Segment();
HC_Insert_Shell(pcount, pts, flist_count, faces);
HC_Close_Segment();

If you zoom out a little, the result looks something like the following:
culled

Zooming out further causes the geometry to disappear. This behavior is part of a HOOPS Visualize optimization which culls geometry smaller than a certain size.

To prevent this from happening, disable all culling using the following function call:

HC_Open_Segment_By_Key(m_pHView->GetSceneKey());
HC_Set_Heuristics("culling = off");
HC_Close_Segment();

Is it possible to eliminate all culling in HPS?
So is there a HPS function similar to: HC_Set_Heuristics("culling = off");?

Hello Julian,

Yes, HPS have options equivalent to Set_Heuristics(“culling=off”).

For example:

model_seg.GetCullingControl().SetBackFace(false).SetExtent(false, 0).SetFrustum(false);

If your looking for other functions mapping between 3DF and HPS, please see the following link:

https://docs.techsoft3d.com/hps/latest/prog_guide/appendix_mapping.html