I am a 3d modeler with an interest in the more technical aspects of rendering and 3d optimization. I primarily use 3ds max and unreal engine 3 and have been trying to get a more advanced grasp of how real time rendering works, what are the main steps involved and whether this sequence is universal or differs between programs and engines.
As a 3d artist your generally given very basic guidelines for optimization like keep polys low/evenly space your quads/avoid long thin triangles etc but i'd really like to know why for my own curiosity, or is it way too technical?
For example do the real time renderers of engines like crysis/unreal 3 follow fundamentally the same process of doing all the occluding/culling/T&L etc? I know shaders apply specific tweaks to the same data to achieve a wide range of effects but i'm a bit confused about it all to be honest, if theres a link or document you recommend i'd appreciate a nudge towards it to cure my ignorance
.
Thanks.
Replies
There was some excellent discussion in this thread: http://boards.polycount.net/showthread.php?t=50588
I'd also suggest picking over the Wiki (and joining the community!) at www.tech-artists.org (you can find all wiki categories here: http://tech-artists.org/wiki/Special:Categories )
I'll also point you towards the Shaders portal which has lots of good information.
That's quite a generalization maybe industry guys have a different view but yer I find both areas interesting and I think it can only help having an understanding of the tech aspects if your an artist although as I understand it you have to be very good at math to really grasp it all which would of course suit the more logically inclined
the industry is very pipeline oriented, and unless you have small companies of people doing both (art/code) e.g casual games... Mostly you will not have the time to stay "very good" in both fields. Simply as each field requires you to stay in shape.
That said, when you are young imo one should try a bit of everything to see what kind of talent is oneself.
The math bit really depends, there is a certain set of math skills that will be your everyday toolset in 3d space. But that is not that much. Of course you can go beyond that for more fancy stuff, but for the start you dont need to understand that much imo. Basic vector math will do.
As for how rendering works, as the hardware is same/similar for most games these days, the engines are also quite similar when it comes to rendering. Where the engines excell individually however is more the architecture than certain effects. Think of the composer, that is also where the big differences are. And what separates unreal3 from some self-made engine, eventhough both might be able to generate the same pictures from the same assets.
I've recently posted some slides on rendering techniques in games
http://boards.polycount.net/showthread.php?t=57871
Although they are not very deep, as it was an overview talk and I used the whiteboard quite a bit for additionaly explanation.
As for how the rendering pipeline works, a good start would be looking into the nvidia books they released as online version.
http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html
Here you will find how hardware rendering is done in principle.
http://www.rsart.co.uk/mediawiki/index.php?title=Links