It's all in your head, Part 8
Well, I'm not a software developer either, but I had a thought, or two.
First: It seems that a lot of polys are being tied up in all the tiny buildings off in the distance. Could the LOD be scaled back even furthur in the distance, converting whole blocks of lots into a single 'building'?
For example, a block has lots filled with one or two story buildings. When the block is far away, it is rendered as a single object with a height equal to the average of the heights of the buildings. That way the skyline won't change much when you get close, but you save a lot on the haze of buildings around the periphery.
Second: Could the LOD of a building be weighted to its size, or even a random weight, as well as the distance from the camera? That way the "dividing line" is spread out, causing (perhaps) less distraction.
First: It seems that a lot of polys are being tied up in all the tiny buildings off in the distance. Could the LOD be scaled back even furthur in the distance, converting whole blocks of lots into a single 'building'?
For example, a block has lots filled with one or two story buildings. When the block is far away, it is rendered as a single object with a height equal to the average of the heights of the buildings. That way the skyline won't change much when you get close, but you save a lot on the haze of buildings around the periphery.
Second: Could the LOD of a building be weighted to its size, or even a random weight, as well as the distance from the camera? That way the "dividing line" is spread out, causing (perhaps) less distraction.
Re: It's all in your head, Part 8
Chris wrote:The Game.
- shinygerbil
- level5
- Posts: 4667
- Joined: Wed Dec 22, 2004 10:14 pm
- Location: Out, finding my own food. Also, doing the shinyBonsai Manoeuvre(tm)
- Contact:
- NeoThermic
- Introversion Staff
- Posts: 6256
- Joined: Sat Mar 02, 2002 10:55 am
- Location: ::1
- Contact:
prophile wrote:I hope very much that you're not rendering that in immediate mode.
EDIT: 1337st post!
The second screenshot contains a faded menu on the left at the bottom. Altering it in Photoshop shows one of the menu items to say "Display List Ca{something}". So I'd wager it is being rendered as a display list.
NeoThermic
- NeoThermic
- Introversion Staff
- Posts: 6256
- Joined: Sat Mar 02, 2002 10:55 am
- Location: ::1
- Contact:
- shinygerbil
- level5
- Posts: 4667
- Joined: Wed Dec 22, 2004 10:14 pm
- Location: Out, finding my own food. Also, doing the shinyBonsai Manoeuvre(tm)
- Contact:
Procedural generation is the overlooked phenomenon of the gaming industry, to say the least. I just thought, for some reason, of a completely procedural GTA. With Darwinians instead of people - maybe 20 years after the Sepulveda incident, the DWs have managed to create a modern civilization. Calling in Air Strikes over a virtual Manhattan... hmm...
Maybe you could do procedural generation for more than the city and buildings - say, countries. Continents. Planets. Star systems. Galaxies. The universe.
Such a fun topic. And such an amazing project. Bravo - I only hope I can eventually be as good as you guys are.
Maybe you could do procedural generation for more than the city and buildings - say, countries. Continents. Planets. Star systems. Galaxies. The universe.
Such a fun topic. And such an amazing project. Bravo - I only hope I can eventually be as good as you guys are.
As someone who knows a thing or two about Urban design I have to say, that that's a pretty good looking City you've got going on there. Just the right mix of Urban & Green spaces. Bravo.
Regarding the LoD I'd say you need to go down the gradient fade route that someone earlier mentioned, both in terms of detail and saturation. It's rare except after a good thunderstorm has cleared the atmosphere that you see things at distance with any degree of clarity.
Regarding the LoD I'd say you need to go down the gradient fade route that someone earlier mentioned, both in terms of detail and saturation. It's rare except after a good thunderstorm has cleared the atmosphere that you see things at distance with any degree of clarity.
Re: It's all in your head, Part 8
Chris wrote:I’ve started work on a basic Level Of Detail system to try to render distant buildings at lower details, but it currently suffers from the same problem all LOD systems fail to hide : your eye is constantly drawn to the dividing line between high detail and low, and you see things popping between the two, which looks naff.
You could use some kind of image blending between high-res and low-res sections to avoid obvious popping. The Jonathan Blow articles "Unified Rendering Level-of-Detail" explain the technique (although it is a per-object LOD, and you have a whole city. Maybe per-block LOD...).
http://number-none.com/product/
reagrds,
Marco
omicron1 wrote:Maybe you could do procedural generation for more than the city and buildings - say, countries. Continents. Planets. Star systems. Galaxies. The universe.
http://www.spore.com/
And now also Kotaku: http://kotaku.com/352086/new-introversi ... like-a-god
Re: It's all in your head, Part 8
You can avoid a certain amount of popping by interpolating between LOD meshes - i.e. slide vertices until they're in line with their neighbours before removing them, using a vertex shader - but for this kind of system I'd probably abandon 3D rendering of distant buildings altogether and see about using imposters instead, probably for multiple buildings at a time. Fade them in to reduce popping and 'dividing line' artifacts.
It's probably also worth looking into some occlusion culling - small, distant buildings will get hidden entirely by larger, nearer ones, no? If you group the buildings by block and then by height within the block, you can split them up into occlusion "layers" that you quickly test, tallest first, to see if there's any point rendering the buildings in that block at all. Tall skyscrapers are most likely to be seen from a distance so they all go into the top layer and are tested first, while small houses end up in the bottom layer.
It's probably also worth looking into some occlusion culling - small, distant buildings will get hidden entirely by larger, nearer ones, no? If you group the buildings by block and then by height within the block, you can split them up into occlusion "layers" that you quickly test, tallest first, to see if there's any point rendering the buildings in that block at all. Tall skyscrapers are most likely to be seen from a distance so they all go into the top layer and are tested first, while small houses end up in the bottom layer.
Superpig
- Saving pigs from untimely fates
- Saving pigs from untimely fates
Who is online
Users browsing this forum: No registered users and 7 guests