Using the GPU to speed-up a program?

Hui Zhou zhouhui at wam.umd.edu
Mon Feb 28 12:45:51 PST 2005


On Mon, Feb 28, 2005 at 08:23:11PM +0000, John Gay wrote:
>On Monday 28 February 2005 19:38, Hui Zhou wrote:
>> On Mon, Feb 28, 2005 at 07:14:16PM +0000, John Gay wrote:
>> >So I was wondering if programmes like POV-Ray could take advantage of the
>> > GPU in 3D cards for quicker rendering? I know that it doesn't use it, but
>> > maybe code could be added for it? It just seems strange that Maya and
>> > Houdini render much faster with a good 3D card.
>>
>> POV-Ray is a ray tracing program which calculates individual rays to
>> render an image.
>>
>> I am not sure but suspect the Maya and Houdini don't do ray tracing at
>> all and use openGL to render images, which is what a 3D card designed
>> for.
>>
>You mean to tell me that the battle of Neo and 10,000 Mr. Smiths was rendered 
>in OpenGL?

As I said I was not sure and didn't mean to tell you that. But I don't 
see why the movie is not possible to be rendered in OpenGL.

>OpenGL cheats by using polygons, mainly triangles, to simplify the images 
>before it reached the rastering stage, whereas POV-Ray uses mathematically 
>correct spheres and curves. However, they still make extensive use of 
>matrixes to perform the calculations, which should suit GPU's fine.

The existence of GPU is to do 3D calculations, hence it is equipped 
with instructions and interfaces to do specific 3D tasks. OpenGL is 
one of such interfaces. A program uses OpenGL achieves its GPU 
accelleration through a special OpenGL implementation that utilizes 
the GPU. In another word, the program doesn't need contain such "GPU" 
code.

I quite agree with your above descriptions, and I believe they both 
make extensive use of matrixes and a raytracing program probably will 
benefit from a GPU. However, in order to do that, a specilized matrix 
library or just a GPU library need to be developed, or in your word, 
need special GPU code. Even after that, I suspect how much would be 
gained.

I never meant to criticize your idea. I just find that Maya renders 
much faster than PovRay and benefits from GPU but Povray doesn't quite 
normal, which you seem to find it strange in you OP.

>Any other thoughts? I'd like some proper programmer input to send the POV-Ray 
>team to suggest adding GPU code.

I always liked the option to use openGL to do pre-rendering and an 
optional raytracing for the final rendering.

-- 
Hui Zhou



More information about the lfs-chat mailing list