I have been doing some 3D graphics in Blender in last few years and I have also tried making 3D games (in Unity 3D). I also play computer games very much and I'm surprised by one thing:
Why are 3D applications' renderers so "slow" compared to game renderers?
It is not an offensive question. I'm just curious. For example I can play Crysis or NFS: The Run seamlessly, but if I created a similar scene in Blender, I believe the rendering of one frame would take forever.
I have found some pieces of information on the Internet (like "because game renderers use many fakes and hacks"), but I'm not a graphics programmer and I would really appreciate an expert's answer.
Systems like Blender, Maya and 3D Studio Max are generally doing multi bounce raytracing for frame renders. Their engines allow you to do things like realistic glass and smoke effects and ambient lighting. Game engines have nice-looking but less photo-realistic versions of these things.
Also, Hassan's comment is right on: Blender doesn't use your graphics card for rendering, it's all CPU driven (by default). GPUs are much better at the type of parallel processing common in rendering scenes, and the graphics card vendors have put a lot of money to develop technology to run games quickly. Even then, some algorithms for very high quality photorealistc effects are difficult to implement efficiently for the GPU. People have been talking about realtime raytracing for 10 years, and there are some candidates (Nvidia's OptiX, Intel's MIC architecture)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With