- Adbot
-
ADBOT LOVES YOU
|
|
#
¿
May 14, 2024 08:02
|
|
- Yaoi Gagarin
- Feb 20, 2014
-
|
https://web.archive.org/web/20021201104847/http://simcity.ea.com/dev/3d.html
Paul Pedriana, Software Engineer posted:
After reading the explanation above, you might ask, "Why not simply increase the number of polygons in the buildings and increase the texture detail in the building textures and use mip-mapping to achieve high graphical detail from any viewpoint?" Yes, we could do this, but doing so to acheive a level similar to what we get with a fixed view would require a prohibitively large amount of memory and disk space and would require much faster 3D accelleration than currently available. How much more memory would we need and how much more 3D accelleration would we need? A conservative estimate would be that the game would require about 4-8GB of disk space, the video card would need to have about 1-2GB of RAM, and the video card would need to be about 10-20 times as fast as a current GeForce 4 card. And AGP is going to have to get 4-8 times as fast is it currently is. We are looking forward to the day when such a PC is available, but until then we'll be sticking with somewhat fixed viewing capabilities.
It turns out that even with the simplified texturing and polygon usage that SimCity 4 has now, current PCs still aren't fast enough to draw a large (1024x768+) screen of a complex city viewed from far above. There are simply too many polyons, textures, lighting effects and particle effects for even the fastest GeForce 4 and Pentium 4 to be able to draw. Current measurements are that such a machine draws such a view at about 2 frames per second. You might say, "But my computer can render the same -sized screen in Quake or Unreal Tournament at 90 frames per second. Why is SimCity so much slower?" The answer is that the polygon detail visible in SimCity 4 is 10 or more times the detail you see in a first-person dungeon game. SimCity requires far more textures and far more polygons to draw its view than those games do. On top of that, SimCity's simulation gameplay logic is an order of magnitude more complicated as well and this eats into CPU time needed to draw 3D graphics. See the pictures below for some examples of high density polygons, lighting, and blending that are common in SimCity 4.
So if current PCs aren't fast enough to draw SimCity 4, how is it that we draw SimCity 4? The answer is that we implement a surprisingly elaborate system of "static view preservation," 3D dirty rectangles, billboarded, semi-polygonal, and fully-polygonal models. In essence, every time we update the screen view, we only redraw what has changed since the last draw. As long as you are viewing from the same position and angle, much of the view stays the same as you look at the city. When the user scrolls the view, however, the entire screen is changing constantly. So how do we scroll the view quickly? Well it turns out that because we have chosen to use an orthographic projection, the scrolled view is the exact same as the previous view, only moved sideways on the screen. So we can just copy the view bitmap without doing an expensive 3D draw of it. This is not the case with a perspective projection. Now you know why use use an orthographic projection in SimCity. I have left out a lot of tricky details here, but suffice it to say that the SimCity 4 graphics engine is not simple by any means. There are a lot of translucent texture issues, projective shadow issues, and "Z-fighting" issues that we've had to overcome. In addition, we have a powerful particle and effects system that is significant enough that it warrants an tech article of its own.
It's a really interesting article from the good/bad old days.
|
#
¿
Feb 20, 2015 09:25
|
|
- Adbot
-
ADBOT LOVES YOU
|
|
#
¿
May 14, 2024 08:02
|
|