How to reduce Display objects in v3d_View

I'd like to dispaly millions of points in V3d_View

The related codes is like the belows.

Handle_AIS_InteractiveContext AISObject;

for(i=1; i {
nIdx += 1;
gp_Pnt PosPt(m_adToolPos[nIdx], m_adToolPos[nIdx+1], m_adToolPos[nIdx+2]);

Handle(ISession_Point) PathLine=new ISession_Point(PosPt);
AISObject->Display(PathLine,0,0,FALSE);

}

AISObject->UpdateCurrentViewer();

But, When rotating and panning , these are too slow.

So, Is there ways to reduce display objects when rotating and panning in opencascade?

Please let me know the ways.

Thank you in advance.

Francois Lauzon's picture

Hello Dongman,
The performance you are getting is expected... If you need to improve performance, you should implement a new Interactive Object that will display all those points using the same Interactive Object, and this object you take advantage of the Primitive Array (in your case Graphic3d_ArrayOfPoints) which will be way faster than what you describe. We are able to display millions of points (between 15-80 millions is common in our case) and have good performance using NVidia Quadro 4000 graphic card.

Good luck,
Francois.

dongman Kim's picture

Thank you for your help.

But, I don't know about the way of Interactive Object with Graphic3d_ArrayOfPoints.

Is thre any examples or websites for that?

Thank you in advance.