Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Bobboau on September 24, 2004, 02:55:03 am

Title: simulated volumetrics in the nebula
Post by: Bobboau on September 24, 2004, 02:55:03 am
this is an old idea I had, decided to try to get it to work again, and somehow I managed to do it, the big problem with it is that as it subdivides the volume it leads to some nasty color artifacts, and it devours fillrate like you wouldn't believe. I included poofs converted to tga, becase loading them into a 16 bit texture made the color problem much worse, redone poof art might help the problem further.

this will however fix, to an extent, the 'bug' were poofs intersect the hull and you can see a clear line. well it doesn't exactly fix it, but does it a hole bunch of times a lot less seveirely. I can change the level of subdivision easily, but there are problems, currently it's set at 10.

the framerate issues I'm not sure if I'm going to be able to fix or not, I'm going to wait untill I hear reactions on this before I try anything fancy to fix it.

http://freespace.volitionwatch.com/blackwater/neb_poof.zip
Title: simulated volumetrics in the nebula
Post by: Flipside on September 24, 2004, 05:12:28 am
Dlloading now, I'll give it a try in a few mins :D
Title: simulated volumetrics in the nebula
Post by: Flipside on September 24, 2004, 05:17:53 am
Hmmmmmmm... I got.....

Error: Out of memory.  Try closing down other applications, increasing your
virtual memory size, or installing more physical RAM.

File:I:\FSO\fs2_open\code\GlobalIncs\WinDebug.cpp
Line: 1492

Call stack:
------------------------------------------------------------------
    kernel32.dll 77e814c7()
------------------------------------------------------------------

I have 768Mb of Mem and another 256Meg on the Graphics card. :(

Edit : Sorry, I was still using a dodgy ships.tbl.

Works fine, one quick question, would it be feasible to do this with the thruster glows instead? I think they are more noticeable than the nebulae?
Title: simulated volumetrics in the nebula
Post by: DaBrain on September 24, 2004, 07:08:09 am
Ohh good idea. :yes:


I'll download it now.
Title: simulated volumetrics in the nebula
Post by: JR2000Z on September 24, 2004, 08:42:01 am
Works for me. I also had the color and framerate problem.
Title: simulated volumetrics in the nebula
Post by: Lightspeed on September 24, 2004, 09:07:07 am
Post screenies.

What does this do that isnt fixed by 2d_poof anyway?
Title: simulated volumetrics in the nebula
Post by: Bobboau on September 24, 2004, 10:29:22 am
2d poof is 2d, this is 3d, you see clouds that ships pass through,

this could be added to the thruster code, but it realy wouldn't do as much good as you would think.
Title: simulated volumetrics in the nebula
Post by: Bobboau on September 24, 2004, 10:38:39 am
there see how there isn't a single hard line, but it's graduated, it can be subdivided more, but that'll cause the texture quality to go down, and frame rates to crash.
Title: simulated volumetrics in the nebula
Post by: DaBrain on September 24, 2004, 10:57:44 am
Oh nice :yes:

It might help the looks of capship thrusters.

I had no time to test it myself, but I'll test it.
Title: simulated volumetrics in the nebula
Post by: Lightspeed on September 24, 2004, 12:33:48 pm
What the **** is that?!!! :eek2:
Title: simulated volumetrics in the nebula
Post by: JR2000Z on September 24, 2004, 12:39:53 pm
hmm (http://jr2000z.home.mindspring.com/fs2nebvol.jpg)
Title: simulated volumetrics in the nebula
Post by: Lynx on September 24, 2004, 12:51:34 pm
Looks like a ground mission with nebula used for atmospherics.
Title: simulated volumetrics in the nebula
Post by: Zarax on September 24, 2004, 01:31:02 pm
Quote
Originally posted by Lightspeed
What the **** is that?!!! :eek2:


Just Bobboau uber skills with a FS2 campaign mission... :D :yes:
Title: simulated volumetrics in the nebula
Post by: aldo_14 on September 24, 2004, 01:37:12 pm
Interesting............
Title: simulated volumetrics in the nebula
Post by: MetalDestroyer on September 24, 2004, 01:54:24 pm
make some blur effect, it will be very good for my eyes !! :D
Title: simulated volumetrics in the nebula
Post by: Lightspeed on September 24, 2004, 02:04:28 pm
Quote
Originally posted by Zarax


Just Bobboau uber skills with a FS2 campaign mission... :D :yes:


It looks like something REALLY went wrong. It's even more ugly than X². Looks like some sort of rendering glitch or something. :confused:
Title: simulated volumetrics in the nebula
Post by: SadisticSid on September 24, 2004, 03:43:26 pm
Looks like extremely thick fog to me. If the intensity and brightness of it can be reduced it'd be fine.
Title: simulated volumetrics in the nebula
Post by: Unknown Target on September 24, 2004, 04:24:39 pm
No offense, but it looks pretty crappy...I mean, it looks like you got stuck in a cap ship's thrusters. I'd actually prefer it if you made the background nebula image infinately far away, so it doesn't show thru, and make the nebula poofs 32 bit + more color smoothed.

That just looks....wierd. What JR2 posted is better, but now it just looks like a big blob.
Title: simulated volumetrics in the nebula
Post by: Lightspeed on September 24, 2004, 04:33:11 pm
I still can't even figure out what it's SUPPOSED to be.

It looks like some weird flickering to me, like the white rectangle missing texture thingy we had some time ago.
Title: simulated volumetrics in the nebula
Post by: Gregster2k on September 24, 2004, 04:38:59 pm
I'm not sure I understand what the intended result of applying volumetrics to a nebula would accomplish. Can you clarify, Bobbeau, what you've been trying to do here? I'm very confused...all I've known about volumetric (lighting anyway) is that its used for realistic lighting in games like Quake 3 Arena based engines and such...

EDIT: I've loaded it up and I think I see what you're trying to do. It looks like some sort of motion blur soup...only...its blurred as if it were in motion all the time. Interesting, though, that FS2 can DO an effect like this.
Title: simulated volumetrics in the nebula
Post by: Flipside on September 24, 2004, 05:28:24 pm
Also, in retail FS2, there were visible 'gradients' to the fading, sometimes a corvette would be 'cut in half' with the rear being visible and suddenly, about halfway up the model, the nebula would get thicker. This helps fix that problem :)
Title: simulated volumetrics in the nebula
Post by: Omniscaper on September 24, 2004, 05:29:18 pm
Bob, remember my attempt months ago on the same effect?
Has there been any developments on implementing "sprites" that do not follow your rotation orientation yet? The glowpoint method I used does not have as much a performance hit. Its an object with 15 + glow points as it is.

The glow point method would allow people to place localized nebula in a non-nebula environment. Nice hiding spots I would think. I wonder if theres a way to jam radar when a ship is inside a particular region?
(http://www.penguinbomb.com/omniscaper/WIPS/neb1.JPG)

(http://www.penguinbomb.com/omniscaper/WIPS/neb2.JPG)
Title: simulated volumetrics in the nebula
Post by: Deepblue on September 24, 2004, 05:44:13 pm
Yes, have a beacon inside the neb and set up an event so when the player is X distance away they will be hidden from sensors.
Title: simulated volumetrics in the nebula
Post by: DaBrain on September 24, 2004, 05:58:50 pm
Quote
Originally posted by Lightspeed


It looks like something REALLY went wrong. It's even more ugly than X². Looks like some sort of rendering glitch or something. :confused:


You can probably decrease this effect, by reducing the opacity.
Title: simulated volumetrics in the nebula
Post by: Lightspeed on September 24, 2004, 06:11:44 pm
Quote
Originally posted by Flipside
Also, in retail FS2, there were visible 'gradients' to the fading, sometimes a corvette would be 'cut in half' with the rear being visible and suddenly, about halfway up the model, the nebula would get thicker. This helps fix that problem :)


Not at all. Ships blend 100% smooth with 2d_poof enabled.

And Omniscapers attempts look nice, but not like a nebula at all. If we're going to implement a volumetric nebulae system, it will probably be necessary to code a Freelancer-esque way to do it.
Title: simulated volumetrics in the nebula
Post by: Kosh on September 24, 2004, 07:25:43 pm
One thing that I could never stand about nebula missions was that I could never even see my own HUD very well. It's ok not to be able to see anything else clearly, but I gotta see my HUD......
Title: simulated volumetrics in the nebula
Post by: Solatar on September 24, 2004, 07:27:06 pm
In the really bright nebula missions I make all the HUD gauges black. It helps a bit.
Title: simulated volumetrics in the nebula
Post by: Bobboau on September 24, 2004, 08:43:06 pm
it was a bad pic, try it in game before you go nuts.

it is sort of similar to Omniscaper's thing, but more refined.
Title: simulated volumetrics in the nebula
Post by: Omniscaper on September 24, 2004, 10:09:24 pm
NICE, can't wait to try it.
Title: simulated volumetrics in the nebula
Post by: JR2000Z on September 25, 2004, 03:31:39 am
What I say below may put some weight on some sholders so skip this post if you want to.



--------------
Has anybody actually been in a nebula? What is Bob's nebula supposed to look like?

For both Bob and Omni: Neblula density plays a big factor. IMO, Bob's nebula seemed more dense than the original. And this is the problem I had. You're flying in a nebula that seemed as dense as a cloud yet you have the same visibility if you were in the less denser parts. And of course the sun's lightning kicks in and makes an impact...
--------------
Title: simulated volumetrics in the nebula
Post by: Liberator on September 25, 2004, 04:12:31 am
The biggest problem I've always had with FS2 nebulae is that unless you're in one like when you have to rescue Snipes the nebula are bright to the point of blinding.  And turning down the brightness doesn't help much.  

I agree with LS to a point about the Freelanceresque nebula.  Those are freaky and you get a little nevous flying in them.
Title: simulated volumetrics in the nebula
Post by: Sandwich on September 25, 2004, 04:31:17 am
I think the nebulae is Freelancer / IWAR2 were much more akin to what you're trying to achieve, Bob. I didn't notice any sharp edges along ship hulls, and esp. in FL (IIRC), they seemed to be really volumetric. Looky:

(http://img.gamershell.com/imagefolio/gallery/Space_Sim/Freelancer/Freelancer31.jpg)

(http://image.com.com/gamespot/images/screenshots/gs/news/010110/iwar2_screen009.jpg)

Any chance we could figure out how those games did it? ;)
Title: simulated volumetrics in the nebula
Post by: Lightspeed on September 25, 2004, 08:12:48 am
I know more or less how it works in FL.
Title: simulated volumetrics in the nebula
Post by: Bobboau on September 25, 2004, 02:16:41 pm
we'd need full real volumetrics, wich would basicly require re-writeing the entier texture system becase it's completely inflexable and insaine.
maybe I should try puting FE2's texture system into FSO, it's set up for maximum memory efecency and use flexability.
eh, I'd rather have RT around before mucking about with that monstrosity
Title: simulated volumetrics in the nebula
Post by: Omniscaper on September 25, 2004, 02:41:58 pm
I'm still kinda partial to the way X2-The Threat handles it. Too bad a game with such a nice engine could suck so badly.

(http://www.enlight.com/x2/screenshots/images/screen07.jpg)

(http://www.enlight.com/x2/screenshots/images/screen12.jpg)
Title: simulated volumetrics in the nebula
Post by: Sandwich on September 25, 2004, 02:48:03 pm
Quote
Originally posted by Lightspeed
I know more or less how it works in FL.


More or less... how? :)
Title: simulated volumetrics in the nebula
Post by: Flipside on September 25, 2004, 02:59:00 pm
I think it uses a gradient of thickness. From the outside, the Nebula uses a Bitmap and poofs, similar to FS2, but as you get closer, it starts adding 'distance fog' from what I can see, decreasing it as you get near to centre of the 'nebula' area. Also, the Freelancer engine uses an asteroid 'generator' routine to make space look more crowded near your ship that it really is ;)
Title: simulated volumetrics in the nebula
Post by: Lightspeed on September 25, 2004, 06:04:33 pm
GAAAAAAAHHHH X² ugggglllyyyy. Seriously, X²'s nebulas are the most retarded thing I've ever seen. They both look and feel absolutely crappy.

Quote
Originally posted by Bobboau
we'd need full real volumetrics, wich would basicly require re-writeing the entier texture system becase it's completely inflexable and insaine.
maybe I should try puting FE2's texture system into FSO, it's set up for maximum memory efecency and use flexability.
eh, I'd rather have RT around before mucking about with that monstrosity


We wouldn't. Freelancer does not use volumetrics for its nebulas either.

Now what Freelancer does is the following:

-----------------------------------

A general shape is specified (sphere, ellipsoid, cube, whatever).
The game will calculate the edges of the nebula region, and place textures there (flat thingies), you can reference which textures should be used. Now, the textures will fade in and out, depending on your position looking at them. If you look from say, the left side, you will only see the side texture (stretched to fit the shape), if you're on top of it, you'll only see the top/bottom texture, stretched to the size of it.

Additionally to those textures, theres several smaller ones, that get placed around the nebula. They're rendered to always turn to your viewpoint, and make for soft transistions of the nebula with the surrounding space.

When your ship enters the specified region for the nebula (i.e. is very very close to the flat texture displayed), a solid color layer fades in (as in, overlay to the whole background). As soon as youre inside the nebula the distance-fogging is activated (i.e. ships will "fade" to the background colour with distance, as in the FS2 nebulae) and poofs appear next to your ship. They continuously keep to get spawned (fade in, fly by, fade out) so it'll look like flying through a cloud. That's basically it.

There's also the option to use "clearings" inside the nebula, where you specify a shape / model, which is then placed inside the nebula. As soon as you enter said object, ALL nebula conditions (background colour, poofs, etc) get switched off, and you'll be flying inside the model, looking at textures resembling the surrounding nebula placed on it's inner surface.

If the post isn't too clear, I can make some screenies to show what I mean :-P

Anyway, it's a damn good system to do "volumetric" nebulae, compared to X²'s ****ty way of simply using some poof images and have them rotating all the time O.o
Title: simulated volumetrics in the nebula
Post by: Sandwich on September 25, 2004, 07:10:34 pm
Well I understood it... the question is, can we implement something like it? :)
Title: simulated volumetrics in the nebula
Post by: Omniscaper on September 25, 2004, 08:23:08 pm
I take it you can leave a nebula in Freelance (installed it and played it for a week and forgot about it cuz I found this community). I like the idea that the nebula has a perimeter unlike FS2.

Volumetric-wise, I think if nebulas can be implemented the way clouds are in IL-2 Sturmovik or recent MS-Flight Simulators, localized nebulas can be executed well. I believe they utilize hardware fog and poofs beautifully.

I had an unrealistic thought baout using an insano amount of small round glowpoints to build up a nebula the way Seuratt builds up his pointelism paintings. UBER fillrate eater. Perhaps in a couple of years, voxels will make a triumphant comeback.
Title: simulated volumetrics in the nebula
Post by: Inquisitor on September 25, 2004, 10:00:28 pm
We have several things that need to be fixed before we start implementing things like this into the code base.
Title: simulated volumetrics in the nebula
Post by: Bobboau on September 26, 2004, 04:14:29 am
look in render.cpp, all I did was look at some old code and realised I had some flags set wrong.

...nuke, I wish you hadn't said that...
Title: simulated volumetrics in the nebula
Post by: DaBrain on September 26, 2004, 11:03:10 am
How about another way of implementing nebulas?


This is the way it works now:
(http://img72.exs.cx/img72/715/nebula.jpg)
The big layers cause intersections.
And all clouds come at you in intervals.


This is the better way:
(http://img72.exs.cx/img72/2903/nebula2.jpg)
As there are many small could maps there are only small intersections. And the clouds will come at you in a more real way.
The nebula itself will look better if we use at least 5 or more different mini-clouds.

However this probably effects the performance...

If anyone is willing to do it this way, I'll take care of the maps and other things that might be needed.