Thread: RE: [Algorithms] Massive spaces
Brought to you by:
vexxed72
From: Tom F. <to...@mu...> - 2000-08-21 01:56:19
|
(1) Partition your Z buffer. In D3D this is done using the dvMinZ and dvMaxZ values in the viewport. There is a pretty direct equivalent in OpenGL - I forget what it's called. Then you can even out your precision quite happily. (2) They're planets. Big spherical things. And they don't (usually - depends what sort of game you are doing I guess :-) actually intersect in space. Possibly nothing in the universe is easier to sort from back to front and draw that way. So you can nail them to the far clip plane, set your Z test to LESSTHAN, and there you go. (3) Move your near clip plane according to the nearest object. So if you are on a planet's surface, the near clip plane is quite close. If you are zooming about in space, it's millions of miles away. By using all these three, you can get huge spaces done pretty easily. If the archives are working, this has been discussed a fair number of times. Tom Forsyth - Muckyfoot bloke. Whizzing and pasting and pooting through the day. -----Original Message----- From: Sam Kuhn [mailto:sa...@ip...] Sent: 21 August 2000 02:33 To: gda...@li... Subject: [Algorithms] Massive spaces Hey, I've got a little mind game for you lot. Say you needed to render an entire solar system, in which you can zoom down to a planet surface and see detail of about 1/100000 meter, or shoot over to the sun and see the same sort of detail. There are a couple of immediate problems: You would need need an enormous view volume (what say 20 lightyears big) which gives an appauling zbuffer resolution. So whats are you to do? Render the distant objects closer than they actually are (i.e. at the far end of a planet-sized view volume) and scale them down accordingly?. This surely would give incorrect parralax between the distant objects Also you need the planets to be of enormous size so that the front clipping plane doesn't cut through the planets fine detail when you are in very close (lets say an ant view for example). Which again buggers the zbuffer, since you're using a planet sized view volume. Any ideas? Regards, Sam. |
From: Sam K. <sa...@ip...> - 2000-08-21 12:28:00
|
Thanks for the info tom, exactly what I wanted to hear. A couple of questions: 1) Interesting.. do you have to clear the zbuffer when rendering each partition? 2) Yeah, but if you nail all distant objects to the back clip plane, they have the same z and consequently the same parallax. dont they? I guess I could treat the back of the view volume as the back of the galaxy, and nail the objects into the view volume at their relevant scaled positions. That should work. 3) Your dead right dude, I tried this yesterday after I sent the mail... works very nicely! ;) Cheers, Sam. -----Original Message----- From: Tom Forsyth <to...@mu...> To: gda...@li... <gda...@li...> Date: 21 August 2000 2:59 AM Subject: RE: [Algorithms] Massive spaces >(1) Partition your Z buffer. In D3D this is done using the dvMinZ and dvMaxZ >values in the viewport. There is a pretty direct equivalent in OpenGL - I >forget what it's called. Then you can even out your precision quite happily. > >(2) They're planets. Big spherical things. And they don't (usually - depends >what sort of game you are doing I guess :-) actually intersect in space. >Possibly nothing in the universe is easier to sort from back to front and >draw that way. So you can nail them to the far clip plane, set your Z test >to LESSTHAN, and there you go. > >(3) Move your near clip plane according to the nearest object. So if you are >on a planet's surface, the near clip plane is quite close. If you are >zooming about in space, it's millions of miles away. > >By using all these three, you can get huge spaces done pretty easily. > >If the archives are working, this has been discussed a fair number of times. > >Tom Forsyth - Muckyfoot bloke. >Whizzing and pasting and pooting through the day. >-----Original Message----- >From: Sam Kuhn [mailto:sa...@ip...] >Sent: 21 August 2000 02:33 >To: gda...@li... >Subject: [Algorithms] Massive spaces > > >Hey, > >I've got a little mind game for you lot. > >Say you needed to render an entire solar system, in which you can zoom down >to a planet surface and see detail of about 1/100000 meter, or shoot over to >the sun and see the same sort of detail. There are a couple of immediate >problems: > >You would need need an enormous view volume (what say 20 lightyears big) >which gives an appauling zbuffer resolution. >So whats are you to do? Render the distant objects closer than they actually >are (i.e. at the far end of a planet-sized view volume) and scale them down >accordingly?. This surely would give incorrect parralax between the distant >objects > >Also you need the planets to be of enormous size so that the front clipping >plane doesn't cut through the planets fine detail when you are in very close >(lets say an ant view for example). Which again buggers the zbuffer, since >you're using a planet sized view volume. > >Any ideas? > >Regards, > >Sam. > > > >_______________________________________________ >GDAlgorithms-list mailing list >GDA...@li... >http://lists.sourceforge.net/mailman/listinfo/gdalgorithms-list |
From: Sam K. <sa...@ip...> - 2000-08-21 12:31:41
|
Ah the old, through the clouds and "fwip!" :) Love it! Sam. -----Original Message----- From: jason watkins <jas...@po...> To: gda...@li... <gda...@li...> Date: 21 August 2000 3:28 AM Subject: Re: [Algorithms] Massive spaces >imperium galactica has some some very nice transitions from solar system >level down to surface level. If you want a real mathematical approach, I'm >sure there is one out there.. the principle is one of scaling the viewspace >1 unit to something that matches the current scope. The other approach is >the animators approach: as you fly down to the ground, you go through >clouds, which obscure the screen enough to swap to a completely different >scene database. > > >_______________________________________________ >GDAlgorithms-list mailing list >GDA...@li... >http://lists.sourceforge.net/mailman/listinfo/gdalgorithms-list |
From: jason w. <jas...@po...> - 2000-08-21 12:41:46
|
> Ah the old, through the clouds and "fwip!" :) > Love it! Yeah, it's a nice cinematic moment reguardless of weither you need it... :) |
From: Stephen J B. <sj...@li...> - 2000-08-21 13:24:54
|
On Mon, 21 Aug 2000, Sam Kuhn wrote: > Ah the old, through the clouds and "fwip!" :) > Love it! For variety (and planets without clouds) you can do the "burning up in the atmosphere" thing - lots of nice red fire...and *then* "fwip!" (that's a technical term - right? :-) Of course if your planet doesn't even have an atmosphere then... erm... Steve Baker (817)619-2657 (Vox/Vox-Mail) L3Com/Link Simulation & Training (817)619-2466 (Fax) Work: sj...@li... http://www.link.com Home: sjb...@ai... http://web2.airmail.net/sjbaker1 |
From: gl <gl...@nt...> - 2000-08-21 13:38:02
|
> Of course if your planet doesn't even have an atmosphere then... > erm... ... well, then it's just not cool to hang out there anyway, right? ;) -- gl |
From: Tom F. <to...@mu...> - 2000-08-22 14:34:53
|
(1) Not as long as your partitions in dvMinZ, dvMaxZ don't overlap, though that is another way of getting even more precision. But it chews fillrate. It's not usually necessary. Tom Forsyth - Muckyfoot bloke. Whizzing and pasting and pooting through the day. > -----Original Message----- > From: Sam Kuhn [mailto:sa...@ip...] > Sent: 21 August 2000 13:28 > To: gda...@li... > Subject: Re: [Algorithms] Massive spaces > > > Thanks for the info tom, exactly what I wanted to hear. A couple of > questions: > > 1) Interesting.. do you have to clear the zbuffer when rendering each > partition? > > 2) Yeah, but if you nail all distant objects to the back clip > plane, they > have the same z and consequently the same parallax. dont > they? I guess I > could treat the back of the view volume as the back of the > galaxy, and nail > the objects into the view volume at their relevant scaled > positions. That > should work. > > 3) Your dead right dude, I tried this yesterday after I sent > the mail... > works very nicely! ;) > > Cheers, > > Sam. > > > -----Original Message----- > From: Tom Forsyth <to...@mu...> > To: gda...@li... > <gda...@li...> > Date: 21 August 2000 2:59 AM > Subject: RE: [Algorithms] Massive spaces > > > >(1) Partition your Z buffer. In D3D this is done using the dvMinZ and > dvMaxZ > >values in the viewport. There is a pretty direct equivalent > in OpenGL - I > >forget what it's called. Then you can even out your precision quite > happily. > > > >(2) They're planets. Big spherical things. And they don't (usually - > depends > >what sort of game you are doing I guess :-) actually > intersect in space. > >Possibly nothing in the universe is easier to sort from back > to front and > >draw that way. So you can nail them to the far clip plane, > set your Z test > >to LESSTHAN, and there you go. > > > >(3) Move your near clip plane according to the nearest > object. So if you > are > >on a planet's surface, the near clip plane is quite close. If you are > >zooming about in space, it's millions of miles away. > > > >By using all these three, you can get huge spaces done pretty easily. > > > >If the archives are working, this has been discussed a fair number of > times. > > > >Tom Forsyth - Muckyfoot bloke. > >Whizzing and pasting and pooting through the day. > >-----Original Message----- > >From: Sam Kuhn [mailto:sa...@ip...] > >Sent: 21 August 2000 02:33 > >To: gda...@li... > >Subject: [Algorithms] Massive spaces > > > > > >Hey, > > > >I've got a little mind game for you lot. > > > >Say you needed to render an entire solar system, in which > you can zoom down > >to a planet surface and see detail of about 1/100000 meter, > or shoot over > to > >the sun and see the same sort of detail. There are a couple > of immediate > >problems: > > > >You would need need an enormous view volume (what say 20 > lightyears big) > >which gives an appauling zbuffer resolution. > >So whats are you to do? Render the distant objects closer than they > actually > >are (i.e. at the far end of a planet-sized view volume) and > scale them down > >accordingly?. This surely would give incorrect parralax > between the distant > >objects > > > >Also you need the planets to be of enormous size so that the > front clipping > >plane doesn't cut through the planets fine detail when you > are in very > close > >(lets say an ant view for example). Which again buggers the > zbuffer, since > >you're using a planet sized view volume. > > > >Any ideas? > > > >Regards, > > > >Sam. > > > > > > > >_______________________________________________ > >GDAlgorithms-list mailing list > >GDA...@li... > >http://lists.sourceforge.net/mailman/listinfo/gdalgorithms-list > > > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > http://lists.sourceforge.net/mailman/listinfo/gdalgorithms-list > |