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,
Next gen graphics engine
Started by yakul, Jul 24 2007 10:09 AM
5 replies to this topic
#1
Posted 24 July 2007 - 10:09 AM
#2
Posted 24 July 2007 - 12:02 PM
It's all in the lighting equations. One added effect that makes a big difference is Ambient Occlusion (http://en.wikipedia....ient_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).
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).
http://www.nutty.ca - Being a nut has its advantages.
#3
Posted 24 July 2007 - 06:42 PM
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.
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.
#4
Posted 24 July 2007 - 08: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.
reedbeta.com - developer blog, OpenGL demos, and other projects
#5
Posted 25 July 2007 - 08: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.
#6
Posted 25 July 2007 - 02:55 PM
Never under estimate the power of a good artist ...
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












