PDA

View Full Version : Next gen graphics engine


yakul
07-24-2007, 03:09 AM
What does one need to do in order to create a next gen 3D graphics engine?
I have developed my own 3D engine with normal mappings for instance. But I see a game like Mass effect and I have no idea what they are doing to make it look that good?
So maybe I am just looking fot terminology or the names of the techniques used in such a game. Maybe there are some sort of special lighting models, but I don't know how to call them so I don't know where to look for them.
Or does the graphics engine developer of mass effect invented the wheel and have a bag of all sort of techniques no one knows about?

Thank you,

TheNut
07-24-2007, 05:02 AM
It's all in the lighting equations. One added effect that makes a big difference is Ambient Occlusion (http://en.wikipedia.org/wiki/Ambient_occlusion). Another factor in lighting quality is using correct materials. Metal reflects light far more than cotton, so you need to setup an architecture that allows you to specify those properties. It makes a difference when you mix together a bunch of different objects in a scene and they all emit light differently and correctly.

Textures also make a big difference. A model that uses a 4096x4096 is going to look a million times better than a 512x512 image, even without shaders. Bioware looks to be using some top notch quality texturing.

Finally, there's also a bit of post-processing involved. You render your scene completely, then in a fragment shader you brush it up like you would use Photoshop to brush up a digital image. Glows (including solar blare), HDR, DOF, motion blur, atmospheric haze, etc... You don't want to overdo it, just add enough to complete the scene (check Transformers the Game: Blooming effect was total overkill).

yakul
07-24-2007, 11:42 AM
I have read the wiki entry but I didnt understand how this can be dynamically achieved in graphics card shaders.
Ray casting for on a hemisphere for every pixel seems to be too much.
I also didnt understand how can you render from the surface normal as view and practically use this in real time.
Do you have a link for a good article about how to do this?
It seems GPU GEMS2 have an article about it, maybe I will look into it one day.

Reedbeta
07-24-2007, 01:38 PM
Ambient occlusion isn't done in real time, it's done as a preprocess, when you build the model, and the result is stored either per-vertex or in some channel of a texture.

yakul
07-25-2007, 01:29 AM
So we get back to the point that I dont know how is it that the characters in the mass effect look so good.

Goz
07-25-2007, 07:55 AM
Never under estimate the power of a good artist ...