Author Topic: Physically-Based Rendering Guide for Freespace Open  (Read 20199 times)

0 Members and 1 Guest are viewing this topic.

Offline Swifty

  • 210
  • I reject your fantasy & substitute my own
Re: Physically-Based Rendering Guide for Freespace Open
Yes, I'm aware that even a specular power of 2048 will still blur a cube map. However, I doubt we need specular power greater than 2048. Gloss is only 8-bits in the reflectance map which means 2^(n*gloss + 1) will start getting a lot of quantization if n is too high.

If artists want to prefilter the the MIPs of their cube maps, they're more than welcome. I tried to make PBR easier to adopt by automatically generating the MIP maps albeit it's done using downsampling. It's of course not 100% accurate but the results seem good enough for people to at least start iterating with it.

Most game engines tend to fudge the cube map filtering anyway. Very rarely is cube map matching done with 100% accuracy and most of the discretion is left to the artists how they prefilter the cube map.

Ideally I'll look into prefiltering cube maps in engine using importance sampling (which doesn't take as long as the brute force method in cube map gen), but it's not a high priority as other things.
« Last Edit: May 03, 2015, 12:58:39 pm by Swifty »

 
Re: Physically-Based Rendering Guide for Freespace Open
Excellent! Since I'm doing work in Unreal 4, the material conversion to FS2 should be much easier.
That's cool and ....disturbing at the same time o_o  - Vasudan Admiral

"Don't play games with me. You just killed someone I like, that is not a safe place to stand. I'm the Doctor. And you're in the biggest library in the universe. Look me up."

"Quick everyone out of the universe now!"

 

Offline Nemesis6

  • 28
  • Tongs
Re: Physically-Based Rendering Guide for Freespace Open
Just a slight bug I noticed -- In the target view, ships that have reflection maps will appear completely black. Ships without them will look normal.

 

Offline Echelon9

  • 210
Re: Physically-Based Rendering Guide for Freespace Open
Just a slight bug I noticed -- In the target view, ships that have reflection maps will appear completely black. Ships without them will look normal.

Do you mind registering this as an issue on the project's GitHub Issues tracker (https://github.com/scp-fs2open/fs2open.github.com/issues), including details of your graphics card and OS. Swifty or one of us will take a look at it reasonably soon I'm sure. Thanks for the bug report.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
It's a known problem, actually; the target box doesn't do any lighting. It also shouldn't go on the main FSO repo's issue tracker when it's a problem with a fork's branch that hasn't had a pull request issued for merging it with master.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline Echelon9

  • 210
Re: Physically-Based Rendering Guide for Freespace Open
Fair enough.

 

Offline Bryan See

  • Has anyone really been far as decided to use even go want to do look more like?
  • 210
  • Trying to redeem, but under Tiger Parents
    • Skype
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
Excuse me, Swifty. What about ambient occlusion? Do you have plans to integrate some modern form of dynamic screen-space ambient occlusion shading into the physically-based rendering pipeline? I hope this frees modelers such as myself from the burden of baking AO maps and mixing them to diffuse maps, thus saving model-making time.

Depending on what type of shaders you'll implement in the near future, ambient occlusion maps are either generated by the engine on the fly or perhaps a new texture format, which involves the appending of "-ambient" to the filenames of texture images.
Bryan See - My FreeSpace Wiki User Page (Talk, Contributions)

Full Projects:
Shattered Stars

Campaigns:
Lost in the Mist - Cyrene vs. Psamtik
FreeSpace: Reunited

Ships:
GTS Hygeia, GTT Argo, SC Raguel

Tools:
FSO TC/Game template

I've been under attack by Tiger Parents like Jennifer Pan...

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
Excuse me, Swifty. What about ambient occlusion? Do you have plans to integrate some modern form of dynamic screen-space ambient occlusion shading into the physically-based rendering pipeline? I hope this frees modelers such as myself from the burden of baking AO maps and mixing them to diffuse maps, thus saving model-making time.

Depending on what type of shaders you'll implement in the near future, ambient occlusion maps are either generated by the engine on the fly or perhaps a new texture format, which involves the appending of "-ambient" to the filenames of texture images.

There are no plans to implement screen-space AO. What's probably going to happen is that we're going to add support for ambient occlusion maps similar to the way glow and normal maps are handled.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Bryan See

  • Has anyone really been far as decided to use even go want to do look more like?
  • 210
  • Trying to redeem, but under Tiger Parents
    • Skype
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
There are no plans to implement screen-space AO. What's probably going to happen is that we're going to add support for ambient occlusion maps similar to the way glow and normal maps are handled.

That's cool. I will try to find ways to implement screen-space AO while you plan to add support for ambient occlusion maps similar to the way glow and normal maps are handled. By the way, I've added you as a friend on Twitter and I hope you can follow me.
Bryan See - My FreeSpace Wiki User Page (Talk, Contributions)

Full Projects:
Shattered Stars

Campaigns:
Lost in the Mist - Cyrene vs. Psamtik
FreeSpace: Reunited

Ships:
GTS Hygeia, GTT Argo, SC Raguel

Tools:
FSO TC/Game template

I've been under attack by Tiger Parents like Jennifer Pan...

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
That's cool. I will try to find ways to implement screen-space AO while you plan to add support for ambient occlusion maps similar to the way glow and normal maps are handled. By the way, I've added you as a friend on Twitter and I hope you can follow me.

Screen space AO is a bad fit for FreeSpace.

The problem is that SSAO works best when the player camera is close to a lot of geometry, this is always the case for first- or third-person shooters for example. In these cases, you have lots of geometry that interacts dynamically, in which case the gain for visual quality makes the investment in render time worth it.
In FSO, you have a bunch of mostly static models which mostly keep their distance from each other. SSAO doesn't offer much of a benefit in these cases, AO maps provided by the artists will always be of higher quality than what a shader can provide (Not to mention that an AO map lookup is orders of magnitude faster than a shader invocation).

In short: Do not waste your time implementing SSAO.

(As for Twitter, I'm sorry, but I only follow people who I know have interesting/funny things to say on there. Since your profile is protected, I was unable to check whether my Feed would be improved by adding you to it.)
« Last Edit: June 22, 2015, 04:25:49 am by The E »
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Luis Dias

  • 211
Re: Physically-Based Rendering Guide for Freespace Open
The_E, would it be possible to integrate ambient occlusion in a manner that would allow for easy intensity tweaking in FRED?

I say this because, while I do love ambient occlusion, it's incredibly un-realistic in deep dark space, where light in any object should go from extremely lit to absolute darkness. It is far more realistic in two scenarios: nebulas and well lit skyboxes (thinking about that particular mission in AoA where you meet the Vishnans, for instance).

Now, perhaps other modders would disagree and would just love to paint their ships in their mods and campaigns with a ton of ambient occlusion to get a different aesthetic, so that's why I ask if it would be possible to have a lever to its intensity right there on FRED.


e: I'm being an idiot, am I not? The lever already exists and it's called "ambient". **** me.

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
I don't see any particular difficulty in doing that. After all, it would just mean we'd have to pass another parameter into the shader; nothing really complex about it (And the move to PBR means we have to give mission designers more granular tools to affect lighting anyway)
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Luis Dias

  • 211
Re: Physically-Based Rendering Guide for Freespace Open
no no no no the lever already exists it's right there on FRED, I was being a dumbass

[attachment deleted by nobody]

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
Oh, right, that one. I didn't even think of how those would interact with AO, but you're completely right.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline fightermedic

  • 29
  • quite a nice guy, no really, i am
Re: Physically-Based Rendering Guide for Freespace Open
so, there are actually plans to support AO maps? in this case i guess it is time to stop to bake AO into the diffuse :)
>>Fully functional cockpits for Freespace<<
>>Ships created by me<<
Campaigns revised/voice-acted by me:
Lightning Marshal 1-4, The Regulus Campaign, Operation: Savior, Operation: Crucible, Titan Rebellion, Fall of Epsilon Pegasi 1.1Aftermath 2.1,
Pandora's Box 2.2, Deep Blood

Other Campaigns I have participated in:
The Antagonist, Warzone, Phantoms & Echo-Gate

All the stuff I release is free to use or change in any way for everybody who likes to do so; take whatever you need

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
I'm going to miss the days of showing off in-progress model textures and having people only respond by asking where the ao bake is....
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline Kolgena

  • 211
Re: Physically-Based Rendering Guide for Freespace Open
ao bake on the thick cables is too light, make it more like retail please

 

Offline Bryan See

  • Has anyone really been far as decided to use even go want to do look more like?
  • 210
  • Trying to redeem, but under Tiger Parents
    • Skype
    • Steam
    • Twitter
Re: Physically-Based Rendering Guide for Freespace Open
And what about -albedo and -ao maps?
Bryan See - My FreeSpace Wiki User Page (Talk, Contributions)

Full Projects:
Shattered Stars

Campaigns:
Lost in the Mist - Cyrene vs. Psamtik
FreeSpace: Reunited

Ships:
GTS Hygeia, GTT Argo, SC Raguel

Tools:
FSO TC/Game template

I've been under attack by Tiger Parents like Jennifer Pan...

 
Re: Physically-Based Rendering Guide for Freespace Open
Albedo can be placed in the diffuse channel (I see no real difference game-wise)
We still need the AO map and an Emissive map.

However what we really could use is  a Metal-Roughness/Gloss-AO-Opacity merged map.  Since each of those channels are greyscale it would be more memory effective to merge all 4 into one nice little RGBA file.
That's cool and ....disturbing at the same time o_o  - Vasudan Admiral

"Don't play games with me. You just killed someone I like, that is not a safe place to stand. I'm the Doctor. And you're in the biggest library in the universe. Look me up."

"Quick everyone out of the universe now!"

 

Offline DahBlount

  • Moderator
  • 29
  • Alpine ☆ Cancer Tribulation
    • Minecraft
    • Skype
    • Steam
Re: Physically-Based Rendering Guide for Freespace Open
We have already have AO maps which channel pack Ambient Occlusion and Cavity Occlusion. With respect to emissive, we either already have that with glow maps, or you're talking about a feature that would be very out of place performance-wise in FSO at the moment. We're most likely not going to move to a Metalness workflow as the Specular workflow is already established and changing it now would throw modders into even more of a tailspin.
<Axem> yet still more insightful than #hard-light

<Axem> jad2.23 will just be cat videos

<DahBlount> So
<DahBlount> JAD2.2 is like that
<Axem> maybe
<Axem> it can be whatever you like!
<DahBlount> A Chocolate Sundae?
<Axem> sure

My models: GTF Gilgamesh - GTD Nuadha [Redesigning] - Ningirama [WIP] - GTG Zephyrus