NURBS and GFX cards

 From:  Michael Gibson
520.2 In reply to 520.1 
> When programs like MoI use the graphics cards for the
> viewports, is the videocards processing NURBS surfaces, or is it
> somewhere converted to a polymesh?

Currently it is always converted to a polygon mesh by the program first, and then polygons are sent to the video card. Video cards are focused on rendering polygons.

There has been research done to try and treat video cards as a more general purpose "coprocessor", using the programmable shader capabilities of the cards. I believe some of this research has included trying to handle NURBS in this manner (still converting to a polygon mesh, but trying to do the calculation on the shader processors of the video card), but this is still quite difficult to do for many reasons right now. I don't really expect this to be practical anytime very soon.

> or does MoI just do a better job at delivering a poly representation,

MoI just does a better job. Thanks for noticing! :)

This area of work was probably the single most difficult part of MoI to code. But I invested a lot of time on this because it has a huge impact.

Actually, normally other programs are capable of doing a good quality job if you crank up the settings. But the problem is that they're rather slow in calculating the better quality. Slow enough that you will have to wait around a lot of times for the meshes to be calculated. Coarser settings are quicker to calculate, so most programs use a coarse default setting to try and reduce the amount of wait time.

MoI's display mesher is highly optimized for speed. The extra speed made it possible for me to use a much more dense default setting than is typically done.

- Michael