Handmade Hero»Forums»Code
Shazan Shums
158 posts
Some day I will make quality software. Programming FTW.
Offline rendering vs realtime rendering
Why does offline rendering of videos take lot of time is it because bad software architecture or is it normal?
While in handmade hero complicated scenes are rendered in a fraction of a second.
And does anyone know a fast video renderer I really got annoyed working with adobe after effects?
498 posts
Offline rendering vs realtime rendering
part of offline "rendering" is also compression into a file format. This file format is designed to be easily decompressable at the cost of being hard to create optimal files for.

One of the techniques used is reusing rectangles of a previous frame but with a small affine transformation. Discovering such a rectangle that can be reused is hard.
Shazan Shums
158 posts
Some day I will make quality software. Programming FTW.
Offline rendering vs realtime rendering
If I wanted to make an offline renderer want should I learn any resources to look at?
Mārtiņš Možeiko
2242 posts / 1 project
Offline rendering vs realtime rendering
Offline renderers typically do a lot more computations to get better results (lighting, shadows, etc..) And that takes much more time. Especially if you go into raytraced renderers.
Michael Cameron
31 posts
Offline rendering vs realtime rendering
Offline renderers are also usually dealing with less optimized scenes as ultimately artist time generally ends up being the greater cost than CPU time and so having a renderer that can produce good results in a reasonable time without too much hand tuning the scene saves time and money overall and also gets better results because the artists have more time to iterate on their work if they aren't caught up in the details of minimizing polycounts and optimizing texture layouts and creating extra lights and environment probes to fake reflections and bounce lighting or trying to work around some corner-case where the renderer deviated from being photorealistic/physically accurate to gain a speedup, etc.

Real-time renderers are like 90% trickery whereas offline renderers are maybe only like 50%, all the 'smoke and mirrors' of real-time renderers make them super fast but also require much more manual artist intervention to actually get good results out of them which slows everything down when your goal is delivering a movie in X amount of time rather than delivering a frame in Y amount of time.

As for learning, there is some good books on the subject but you can probably do just as well by just learning the necessary maths (ray triangle intersects and such), giving it a go, and crawling the internet for relevant blogs and research papers and such. The basics are actually really simple, it's basically like 'dual photography' in that rays actually go the opposite direction to the light (ie. they shoot out of the camera) and they just bounce around the scene (possibly colliding with light sources) and then it's just a matter of applying all those shading equations that are basically just the same as the real-time ones (except the light in each case is usually the light bounced from the previous surface).

(conceptually this is all there is to it anyway, efficient implementations might look very different)
Shazan Shums
158 posts
Some day I will make quality software. Programming FTW.
Offline rendering vs realtime rendering
I wonder what was the software Casey used to make the Handmade Hero Trailer?