How to speed up OpenGL rendering?

I'm displaying dense triangle meshes using patch() and it's extremely slow to rotate. I have a nice graphics card and I know that isn't the bottleneck. I've seen some older threads asking this same question, but I wanted to know if any progress has been made.
I'm using OpenGL hardware mode for the figure render. My graphics card is a GeForce GTX 660. Is there any hope of improved performance?
-Keith

Answers (2)

Sean de Wolski
Sean de Wolski on 27 Jun 2013
Downsample! Downsampling just a little bit in each dimension will save tons of time.

3 Comments

I actually need this at full resolution because I'm editing specific individual vertices. I know OpenGL and my graphics card are capable of displaying a mesh of this complexity without lag.
A common technique is to downsample during rotation, and to use the full resolution when you stop the rotation.
I'm trying to downsample as reported here: http://www.mathworks.com/matlabcentral/answers/119748-working-with-reducepatch-to-speed-up-the-rotation-of-3d-mesh-models but I've some problems. If you know a solution it will be very appreciated. Salvatore

Sign in to comment.

Jan
Jan on 28 Jun 2013
Matlab's OpenGL connection is not fast. I'd even dare to claim, that it is slow. For a small world defined by 20 objects, which draw less than 1000 triangles, I get frame rates below 10/s.
I've seen some code before, which tried to rotate a body in steps of 0.01 deg. Of course this looked slower than it was.
Rotating the camera can be cheaper than rotating the object. But it depends on the details. So perhaps showing us the command for your "rotation" might reveal an problem.

4 Comments

I should have clarified that I am talking about camera rotation using the Rotate 3D tool from the figure toolbar. The mesh has 150K verts and 300K faces, so it's sizable but I know it can be rendered faster.
I think, that Matlab is not a suiting tool to display objects with 300'000 faces. Surely it can be rendered faster - with another program.
Do you know of some program that interfaces nicely with Matlab? Something I could pipe my mesh information to in real time that would then handle the display faster?
Keith, have you found a solution to speed up rotation of rendered 3d object in matlab? I have the same problem. Looking around it seems that the problem can be solved by using opengl programming in matlab. Salvatore

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Asked:

on 27 Jun 2013

Commented:

on 1 Mar 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!