View Full Version : [basis] why 3d rendering is abandoned to the CPU
05 May 2007, 11:25 AM
this may be a noob and odd question. it seems most 3d renderers work by using the cpu's performance instead GPU's of the graphics card. why?
some friends and me came to this question by discussing the render abilities of gpu and cpu. we agreed that the gpu must have been design especially for render jobs, processing all graphical elements like shading, tracing and so on. but instead of using the graphics card renderers seem more likely to use the cpu to process. we figured the financial problems that a higher gpu weighting for rendering would hit owners and builders of renderfarms, but we could not imagine that this was the reason for weighting the cpu more (mabye because you can reach a higher performance paying less.. who knows).
surely there is an easy point, that explains the decision - please tell.
PS: maybe there are some links or papers to read, just post them please.
... the next question will be why 3d apps still concentrate on opengl, although directx seems to be more actual and "mighty". but before posing this there may be some basic stuff to clear, maybe it's just the wrong question or some false information..
05 May 2007, 12:56 PM
GPUs are designed to draw lit, texture mapped triangles to the screen at realtime rates. There's nothing in the hardware that's designed to speed up raytracing or shadow sampling or many of the other mathematical operations used in CG rendering.
GPUs also weren't particularly programmable until recently. Its only now with more programmable GPUs that making a GPU raytrace, calculate GI and so forth is becoming feasible.
As for the DirectX vs OpenGL question, OpenGL is an open standard while DirectX is at the whim of Microsoft's marketing plans. You've seen what they did with DX 10. Its Vista only even though many people want to stick with XP for now.
edit: Forgot to mention that DirectX is Windows only as well. Many CAD and engineering apps need to be cross platform, so they run on Win32, OSX, Linux and various Unix based environments. OpenGL is the only API that's crossplatform and exists for all of these. Porting a DirectX software to another platform would involve a serious rewrite of everything related to realtime display.
05 May 2007, 01:40 PM
Ya, mainly opengl is the choice for multiplatform applications, and most 3D modelers such as maya, 3dsmax, cinema4d, and pretty much all them use opengl. However, you must remember that remarkable results are possible with either DirectX or OpenGL. So eitherway you cant go wrong.
05 May 2007, 01:40 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.