Sign in to follow this  

How do modern 3D engines work?

This topic is 4396 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I haven't been in touch with the gaming industry in the last few years and technology seems to have changed dramatically. I made a small BSP engine with shadow maps a while ago, and now I want to make something more advanced but I don't know where to start. How do engines these days work? Do they still use BSPs or is that an outdated technology? Do they use portals? I'm especially interested of course how do the Doom 3, Unreal, HL2, or other newer engines work (I haven't played any of them)? Do they use stencil shadows? Aren't stencil shadows patented? Is there infomation on the web about all these things? I searched for a while and couldn't find anything conclusive. I'd really appreciate if someone could give me some clues. Thanks in advance. [Edited by - madu on November 28, 2005 11:21:05 AM]

Share this post


Link to post
Share on other sites
Quote:
Original post by madu
I haven't been in touch with the gaming industry in the last few years and technology seems to have changed dramatically.
I made a small BSP engine with shadow maps a while ago, and now I want to make something more advanced but I don't know where to start.
How do engines these days work? Do they still use BSPs or is that an outdated technology? Do they use portals?

BSPs arent as important as they used to be. Graphics cards are much faster than when quake* was made and drawing a buch of extra triangles isnt such a big hit. You will probably be better off using Octrees. There was a nice big discussion about it here (Make sure you read Yann's posts).

Quote:
I'm especially interested of course how do the Doom 3, Unreal, HL2, or other newer engines work (I haven't played any of them)? Do they use stencil shadows?

- Doom 3 uses exclusively stencil shadows, all dynamic.
- HL2 is slightly less "next-gen" and uses lightmaps for static lighting and (I'm pretty sure) shadow mapping for dynamic entities.
- FEAR uses mainly stencil shadows, but I think I remember atleast some projected textures or shadow maps in there (there were some nice volumetric stuff too)
- Unreal 3 uses both stencil and shadow mapping,

Quote:
Aren't stencil shadows patented?

Only the ZFail version (also called Carmack's Reverse) and I'm not sure its something to be worried about. The patent owners haven't sued anyone so far and there might even be prior art. Thank god I live in europe so I dont have to worry about such things...

Quote:
Is there infomation on the web about all these things? I searched for a while and couldn't find anything conclusive. I'd really appreciate if someone could give me some clues. Thanks in advance.


well, google should have turned up answers for you with the right words typed in. "stencil shadow patent" gives you the above linked gamedev.net post for example. You can search the forum here on gamedev too if google is giving you too many hits.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Jake Simpson, a well-known and respected professional game developer has written a series of articles dealing with all of the aspects of game engine anatomy. Here´s the link:

http://www.extremetech.com/article2/0,3973,594,00.asp

Enjoy.

Share this post


Link to post
Share on other sites
Yes, that is a good question. Quake used PVS. What do these modern engines use? What about outdoor environments? Even if todays cards are much faster than they used to be, it seems to be a waste to draw many polygons which are not visible.

Share this post


Link to post
Share on other sites
I'm pretty sure Doom 3 used BSP just like Q3. not 100% sure though, and I have no idea about HL2, but with the big outdoor areas I'd guess Octrees or occlusion culling.

Quote:
Even if todays cards are much faster than they used to be, it seems to be a waste to draw many polygons which are not visible.


The trick is to define "many". There is a point where culling on the CPU becomes slower than just drawing all the triangles. This would depend on your hardware and your specific application. I'm sorry I dont have any specific numbers on this, maybe someone else can share their experience. Just dont underestimate modern cards - they can push a lot of triangles.

Share this post


Link to post
Share on other sites

This topic is 4396 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this