Author Topic: Specularmap thing again.  (Read 1320 times)

0 Members and 1 Guest are viewing this topic.

Offline DahBlount

  • 29
  • Posts: 732
  • Violence is always the answer
    • Minecraft
    • Skype
    • Steam
Re: Specularmap thing again.
Short answer: The shaders were (probably) designed with (mildly stylistic) rendering of the old retail models and mvps models in mind.

Long answer:I can't give one because I can't explain it fully without going back and reading through the old shaders.
<Axem> yet still more insightful than #hard-light

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

Twilit Sagittarius

 

Offline niffiwan

  • 211
  • Posts: 3,658
  • Eluder Class
Re: Specularmap thing again.
So.. maybe a default roughness/bump effect was applied to all surfaces by default?  (just speculatin', no need to read the old shader code)
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Linux OBS Packages: FSO 3.7.0 | FSO BP Build | wxLauncher (?) | PCS2 (?) | wxVPView (?)
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

 

Offline Swifty

  • 210
  • Posts: 1,193
  • I reject your fantasy & substitute my own
Re: Specularmap thing again.
I feel like chief and nyctaeus are describing two separate problems.

Chief's problem looks like an issue with normals not properly being interpolated across primitives. Which may be a problem limited to Macs. Someone needs to see if this issue looks the same on a PC. Chief, if you can tell me what mission that is, I'll do comparisons to figure out what really is the issue here.

And I feel Nyctaeus' issue is that the diffuse map is slightly muted, which is causing a lot of the dirty details to get lost (unless it's your -shine map that has all that variance in detail). That's because diffuse textures are now gamma corrected when doing lighting calculations. Read about gamma correct lighting here: http://filmicworlds.com/blog/linear-space-lighting-i-e-gamma/. If we don't gamma correct diffuse, then HDR/tonemapping completely falls apart. It's kind of hard to think of a solution for this while keeping us HDR capable.
« Last Edit: February 23, 2017, 09:13:25 pm by Swifty »

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • Posts: 7,825
  • ⬇️⬆️⬅️⬅️À➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: Specularmap thing again.
If we're talking about the asteroids, yeah, it looks about the same to me on Windows.  Win 10, GF 970, all updates installed, Feb 23 nightly.  Below is the opening of my debug log.  I can't attach it all as it's 37MB, I have a few filters enabled.  But a huge chunk of that is OpenGL debugging messages, they're like 95% of the log once it gets going.  Mostly repeating stuff like this, over and over again:

Code: [Select]
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 6 (bound to GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (0), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB (1), and GL_ARRAY_BUFFER_ARB, usage hint is GL_STREAM_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 7 (bound to GL_UNIFORM_BUFFER (0), and GL_UNIFORM_BUFFER_EXT, usage hint is GL_STREAM_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 7 (bound to GL_UNIFORM_BUFFER (0), and GL_UNIFORM_BUFFER_EXT, usage hint is GL_STREAM_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 7 (bound to GL_UNIFORM_BUFFER (0), and GL_UNIFORM_BUFFER_EXT, usage hint is GL_STREAM_DRAW) will use VIDEO memory as the source for buffer object operations.

Code: [Select]
  Initializing SDL...
FreeSpace 2 Open version: 3.7.5.20170223_4f9f0b6
Passed cmdline options:
  -missile_lighting
  -nomotiondebris
  -soft_particles
  -post_process
  -fxaa
  -fb_explosions
  -fb_thrusters
  -enable_shadows
  -no_vsync
  -ballistic_gauge
  -dualscanlines
  -rearm_timer
  -targetinfo
  -3dwarp
  -snd_preload
  -window
Building file index...
Found root pack 'E:\Games\Freespace2\FS2OGGcutscenepack.vp' with a checksum of 0x84396e99
Found root pack 'E:\Games\Freespace2\multi-mission-pack.vp' with a checksum of 0x377695e0
Found root pack 'E:\Games\Freespace2\multi-voice-pack.vp' with a checksum of 0xd50e7442
Found root pack 'E:\Games\Freespace2\root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'E:\Games\Freespace2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'E:\Games\Freespace2\sparky_fs2.vp' with a checksum of 0x164fe65a
Found root pack 'E:\Games\Freespace2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'E:\Games\Freespace2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'E:\Games\Freespace2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'E:\Games\Freespace2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'E:\Games\Freespace2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'E:\Games\Freespace2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\' ... 10 files
Searching root 'E:\Games\Freespace2\' ... 132 files
Searching root pack 'E:\Games\Freespace2\FS2OGGcutscenepack.vp' ... 10 files
Searching root pack 'E:\Games\Freespace2\multi-mission-pack.vp' ... 110 files
Searching root pack 'E:\Games\Freespace2\multi-voice-pack.vp' ... 307 files
Searching root pack 'E:\Games\Freespace2\root_fs2.vp' ... 157 files
Searching root pack 'E:\Games\Freespace2\smarty_fs2.vp' ... 10 files
Searching root pack 'E:\Games\Freespace2\sparky_fs2.vp' ... 3027 files
Searching root pack 'E:\Games\Freespace2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'E:\Games\Freespace2\stu_fs2.vp' ... 2355 files
Searching root pack 'E:\Games\Freespace2\tango1_fs2.vp' ... 32 files
Searching root pack 'E:\Games\Freespace2\tango2_fs2.vp' ... 15 files
Searching root pack 'E:\Games\Freespace2\tango3_fs2.vp' ... 10 files
Searching root pack 'E:\Games\Freespace2\warble_fs2.vp' ... 52 files
Found 14 roots and 7564 files.
os_config_read_string(): section = "Default", name = "Language", default value: "NULL"
Requested file font01.vf found at: E:\Games\Freespace2\sparky_fs2.vp
AutoLang: Language auto-detection successful...
Requested file strings.tbl found at: E:\Games\Freespace2\root_fs2.vp
Setting language to English
Requested file strings.tbl found at: E:\Games\Freespace2\root_fs2.vp
Requested file tstrings.tbl found at: E:\Games\Freespace2\root_fs2.vp
Game Settings Table: Using Standard Loops For SEXP Arguments
Game Settings Table: Using standard event chaining behavior
Game Settings Table: External shaders are DISABLED
Requested file ships.tbl found at: E:\Games\Freespace2\root_fs2.vp
Requested file weapons.tbl found at: E:\Games\Freespace2\root_fs2.vp
Initializing OpenAL...
os_config_read_string(): section = "Sound", name = "PlaybackDevice", default value: "NULL"
os_config_read_string(): section = "Sound", name = "CaptureDevice", default value: "NULL"
  Available Playback Devices:
    Speakers (Realtek High Definition Audio) on OpenAL Soft  *preferred*
    Realtek Digital Output (Realtek High Definition Audio) on OpenAL Soft

  Available Capture Devices:
    Microphone (Realtek High Definition Audio) on OpenAL Soft  *default*
    Microphone (Logitech Mic (Orbit/Sphere MP)) on OpenAL Soft

  OpenAL Vendor     : OpenAL Community
  OpenAL Renderer   : OpenAL Soft
  OpenAL Version    : 1.1 ALSOFT 1.17.0

  Found extension "AL_EXT_float32".
  Found extension "ALC_EXT_EFX".
Enhanced sound is enabled.

  Sample rate: 48000 (44100)
  EFX version: 1.0
  Max auxiliary sends: 4
  Playback device: Speakers (Realtek High Definition Audio) on OpenAL Soft
  Capture device: Microphone (Realtek High Definition Audio) on OpenAL Soft
... OpenAL successfully initialized!
Speech init succeeded!
Play SpeechTechroom: true
Play SpeechBriefings: true
Play SpeechIngame: true
Play SpeechMulti: true
  Initializing SDL video...
os_config_read_string(): section = "Default", name = "VideocardFs2open", default value: "NULL"
Initializing OpenGL graphics device at 1920x1080 with 32-bit color...
  Requested SDL Pixel values = R: 8, G: 8, B: 8, depth: 24, stencil: 8, double-buffer: 1, FSAA: 0
  Requested SDL Pixel values = R: 8, G: 8, B: 8, depth: 24, stencil: 8, double-buffer: 1, FSAA: 0
  Actual SDL Video values    = R: 8, G: 8, B: 8, depth: 24, stencil: 8, double-buffer: 1, FSAA: 0
Using OpenGL debug extension
  OpenGL Vendor    : NVIDIA Corporation
  OpenGL Renderer  : GeForce GTX 970/PCIe/SSE2
  OpenGL Version   : 4.1.0 NVIDIA 378.66

os_config_read_string(): section = "Default", name = "OGL_AnisotropicFilter", default value: "1.0"
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 1 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 2 (bound to GL_ELEMENT_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 3 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL Debug: Source:OpenGL Type:Other ID:131185 Severity:Unknown Message:Buffer detailed info: Buffer object 4 (bound to GL_ELEMENT_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
Compiling new shader:
Particle Effects
   Loading built-in default shader for: effect-v.sdr
   Loading built-in default shader for: effect-particle-f.sdr
Requested file ogl_shader-e04e8b1981f9a918c2c9661eca058251.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-e04e8b1981f9a918c2c9661eca058251.json
Requested file ogl_shader-e04e8b1981f9a918c2c9661eca058251.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-e04e8b1981f9a918c2c9661eca058251.bin
Shader Variant Features:
Compiling new shader:
Particle Effects
   Loading built-in default shader for: effect-v.sdr
   Loading built-in default shader for: effect-particle-f.sdr
   Loading built-in default shader for: effect-screen-g.sdr
Requested file ogl_shader-cf89d1250c1d5eec3c62a41e0d8cf67d.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-cf89d1250c1d5eec3c62a41e0d8cf67d.json
Requested file ogl_shader-cf89d1250c1d5eec3c62a41e0d8cf67d.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-cf89d1250c1d5eec3c62a41e0d8cf67d.bin
Shader Variant Features:
Geometry shader point-based particles
Compiling new shader:
Distortion Effects
   Loading built-in default shader for: effect-distort-v.sdr
   Loading built-in default shader for: effect-distort-f.sdr
Requested file ogl_shader-7723ebf7adcc398f8758a473c56b5ec0.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-7723ebf7adcc398f8758a473c56b5ec0.json
Requested file ogl_shader-7723ebf7adcc398f8758a473c56b5ec0.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-7723ebf7adcc398f8758a473c56b5ec0.bin
Shader Variant Features:
Compiling new shader:
Shield Decals
   Loading built-in default shader for: shield-impact-v.sdr
   Loading built-in default shader for: shield-impact-f.sdr
Requested file ogl_shader-f4bf22b4351b792b635a588413bb93e1.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-f4bf22b4351b792b635a588413bb93e1.json
Requested file ogl_shader-f4bf22b4351b792b635a588413bb93e1.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-f4bf22b4351b792b635a588413bb93e1.bin
Shader Variant Features:
Compiling new shader:
Deferred Lighting
   Loading built-in default shader for: deferred-v.sdr
   Loading built-in default shader for: deferred-f.sdr
Requested file ogl_shader-554ee44bb4d25807b62b7db9a7fb3cd9.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-554ee44bb4d25807b62b7db9a7fb3cd9.json
Requested file ogl_shader-554ee44bb4d25807b62b7db9a7fb3cd9.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-554ee44bb4d25807b62b7db9a7fb3cd9.bin
WARNING: Failed to find uniform 'specFactor'.
Shader Variant Features:
Compiling new shader:
Clear Deferred Lighting Buffer
   Loading built-in default shader for: deferred-clear-v.sdr
   Loading built-in default shader for: deferred-clear-f.sdr
Requested file ogl_shader-407c73d96d021b11bc5969e059a8023a.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-407c73d96d021b11bc5969e059a8023a.json
Requested file ogl_shader-407c73d96d021b11bc5969e059a8023a.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-407c73d96d021b11bc5969e059a8023a.bin
Shader Variant Features:
Compiling passthrough shader...
Compiling new shader:
Passthrough
   Loading built-in default shader for: passthrough-v.sdr
   Loading built-in default shader for: passthrough-f.sdr
Requested file ogl_shader-c4db9d7ccd67aea4347bdb41723d24f7.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-c4db9d7ccd67aea4347bdb41723d24f7.json
Requested file ogl_shader-c4db9d7ccd67aea4347bdb41723d24f7.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-c4db9d7ccd67aea4347bdb41723d24f7.bin
Shader Variant Features:

Compiling passthrough shader...
Compiling new shader:
Post Processing
   Loading built-in default shader for: post-v.sdr
   Loading built-in default shader for: post-f.sdr
Requested file ogl_shader-36e14fd12aa5b433c041fa6cf711db30.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-36e14fd12aa5b433c041fa6cf711db30.json
Requested file ogl_shader-36e14fd12aa5b433c041fa6cf711db30.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-36e14fd12aa5b433c041fa6cf711db30.bin
WARNING: Failed to find uniform 'depth_tex'.
WARNING: Failed to find uniform 'timer'.
Shader Variant Features:
Compiling new shader:
Bloom Brightpass
   Loading built-in default shader for: post-v.sdr
   Loading built-in default shader for: brightpass-f.sdr
Requested file ogl_shader-e56885889b694997b38e6682a4de2cd5.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-e56885889b694997b38e6682a4de2cd5.json
Requested file ogl_shader-e56885889b694997b38e6682a4de2cd5.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-e56885889b694997b38e6682a4de2cd5.bin
Shader Variant Features:
Compiling new shader:
Gaussian Blur
   Loading built-in default shader for: post-v.sdr
   Loading built-in default shader for: blur-f.sdr
Requested file ogl_shader-89ee702714f217d11c9b36c344c3f5c1.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-89ee702714f217d11c9b36c344c3f5c1.json
Requested file ogl_shader-89ee702714f217d11c9b36c344c3f5c1.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-89ee702714f217d11c9b36c344c3f5c1.bin
WARNING: Failed to find uniform 'debug'.
Shader Variant Features:
Horizontal blur pass
Compiling new shader:
Gaussian Blur
   Loading built-in default shader for: post-v.sdr
   Loading built-in default shader for: blur-f.sdr
Requested file ogl_shader-b28aa9aa978112858695a9c2b9a8a69f.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-b28aa9aa978112858695a9c2b9a8a69f.json
Requested file ogl_shader-b28aa9aa978112858695a9c2b9a8a69f.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-b28aa9aa978112858695a9c2b9a8a69f.bin
WARNING: Failed to find uniform 'debug'.
Shader Variant Features:
Vertical blur pass
Compiling new shader:
Bloom Compositing
   Loading built-in default shader for: post-v.sdr
   Loading built-in default shader for: bloom-comp-f.sdr
Requested file ogl_shader-9282e649ff409fce193fc35a67284de8.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-9282e649ff409fce193fc35a67284de8.json
Requested file ogl_shader-9282e649ff409fce193fc35a67284de8.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-9282e649ff409fce193fc35a67284de8.bin
Shader Variant Features:
Compiling new shader:
FXAA
   Loading built-in default shader for: fxaa-v.sdr
   Loading built-in default shader for: fxaa-f.sdr
Requested file ogl_shader-197d2aba6f9b780a9c7b428279ef5269.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-197d2aba6f9b780a9c7b428279ef5269.json
Requested file ogl_shader-197d2aba6f9b780a9c7b428279ef5269.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-197d2aba6f9b780a9c7b428279ef5269.bin
Shader Variant Features:
Compiling new shader:
FXAA Prepass
   Loading built-in default shader for: post-v.sdr
   Loading built-in default shader for: fxaapre-f.sdr
Requested file ogl_shader-422b6e46830ac20178c63d18dfc18266.json found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-422b6e46830ac20178c63d18dfc18266.json
Requested file ogl_shader-422b6e46830ac20178c63d18dfc18266.bin found at: C:\Users\Cliff\AppData\Roaming\HardLightProductions\FreeSpaceOpen\data\cache\ogl_shader-422b6e46830ac20178c63d18dfc18266.bin
Shader Variant Features:
  Max texture units: 2 (32)
  Max client texture states: 2 (1)
  Max elements vertices: 1048576
  Max elements indices: 1048576
  Max texture size: 16384x16384
  Max render buffer size: 16384x16384
  Can use compressed textures: YES
  Texture compression available: YES
  Post-processing enabled: YES
  Using trilinear texture filter.
  OpenGL Shader Version: 4.10 NVIDIA via Cg compiler
... OpenGL init is complete!

I'd hoped we would have deferred lighting working on Macs before the 3.8 release, Swifty have you had any time to take a look at Mac graphics since we got the builds working mostly ok?
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline m!m

  • 210
  • Posts: 1,620
Re: Specularmap thing again.
You can disable the OpenGL debug messages by disabling the "OpenGL Debug" group in the debug_filter file.

 

Offline zookeeper

  • *knock knock* Who's there? Poe. Poe who?
  • 210
  • Posts: 1,100
Re: Specularmap thing again.
Chief's problem looks like an issue with normals not properly being interpolated across primitives.

That's presumably simply because that's what the retail asteroid models are like. They are faceted/unsmoothed so there can and should be no normal interpolation on them.

 

Offline Phantom Hoover

  • 211
  • Posts: 2,596
Re: Specularmap thing again.
There should be something to keep them from looking like giant panels of flat cardboard IMO. I don't care what the technical reasons are, there's no excuse for graphical upgrades making existing models look worse.
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 

Offline zookeeper

  • *knock knock* Who's there? Poe. Poe who?
  • 210
  • Posts: 1,100
Re: Specularmap thing again.
There should be something to keep them from looking like giant panels of flat cardboard IMO. I don't care what the technical reasons are, there's no excuse for graphical upgrades making existing models look worse.

Well, that's simple: they shouldn't be shiny/glossy/whatever-the-word-is at all.

It would seem to make sense that the default (that is, when no special textures are provided, such as is the case with retail assets) should be different depending on object type. Ships can be sorta shiny by default, but asteroids shouldn't be. Because even if the models had nicely interpolated normals, they'd still look like lacquered rocks.

 

Offline Phantom Hoover

  • 211
  • Posts: 2,596
Re: Specularmap thing again.
I've addressed the issue in the past on several occasions, I should probably just make a copy paste for it at this point. Anyways, for many models that were never designed to have -shine maps (covers all of retail and the UEF fighters), PBR isn't going to look good without people going back and making the textures (Hell, the current UEF fighters still don't have normal maps!). In this case, your ideal solution is not only nigh impossible, it's highly impractical given the nature of the issue.

Would it be impossible to literally just fall back to the old shaders for ships without PBR textures?
The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell.

 

Offline m!m

  • 210
  • Posts: 1,620
Re: Specularmap thing again.
I'm relatively sure that that is not possible since the PBR ships and non-PBR ships share a common color buffer for storing their lighting information but Swifty could probably tell you more about that possibility.
Another solution could be to enable PBR on a per-mod basis at which point every asset would be rendered using the PBR method which may result in suboptimal visual for non-PBR assets but it could be toggled on a per-mod basis, e.g. by setting a game_settings flag.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • Posts: 7,825
  • ⬇️⬆️⬅️⬅️À➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: Specularmap thing again.
Barring any better hybrid asset approach, if that last suggestion is feasible, it is one of the better ones I've heard yet.  I think it's very reasonable to expects mods to be able to be all or no PBR, considering virtually no mods have PBR today, and going forward, it would be expected that any release would know it needs to be all or no PBR.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline Swifty

  • 210
  • Posts: 1,193
  • I reject your fantasy & substitute my own
Re: Specularmap thing again.
I don't really like that idea. I'd rather spend some time figuring out if what chief is reporting is really a bug with the new renderer before writing it off as something that's endemic to PBR entirely.

But I'd like to emphasize, lower contrast from diffuse lighting contributions is definitely something that cannot be removed as gamma correction is very important to HDR/tonemapping. But I'll try to go the extra mile to figure out some technical solutions to this problem. I'm not promising anything though.

 

Offline Bryan See

  • Has anyone really been far as decided to use even go want to do look more like?
  • 29
  • Posts: 660
  • Visionary modder and coder
    • Skype
    • Steam
    • Twitter
Re: Specularmap thing again.
Without macrosurface (normals) and microsurface (gloss/shine) details, models are, of course, going to look bad.

I've addressed the issue in the past on several occasions, I should probably just make a copy paste for it at this point. Anyways, for many models that were never designed to have -shine maps (covers all of retail and the UEF fighters), PBR isn't going to look good without people going back and making the textures (Hell, the current UEF fighters still don't have normal maps!). In this case, your ideal solution is not only nigh impossible, it's highly impractical given the nature of the issue.

I ask you to take the time to read my previous posts in this thread and others related to PBR. My knowledge on the matter is, of course, not perfect and in fact evolves based on my observations of other rendering engines, research, and things I encounter in real life (****ing vantablack...). I'm doing my best to develop workflows and guides to fixing assets up for PBR in FSO.
I'm new to this, but how to migrate specularmaps to PBR? I'm using GIMP, rather than Photoshop or any proprietary program.
Bryan See - My FreeSpace Wiki User Page (Talk, Contributions)

Campaigns:
FreeSpace: Reunited - Shattered Stars

Ships:
GTS Hygeia, GTT Argo, SC Raguel

 

Offline Swifty

  • 210
  • Posts: 1,193
  • I reject your fantasy & substitute my own
Re: Specularmap thing again.
After some experiments, it looks like the issue involving models without specular maps is with the Fresnel specular component. Because the engine uses diffuse color as a substitution for specular data if none is available, dark albedo will shine less while brighter albedo shines more.

Problem is, Fresnel lighting doesn't work that way. At grazing angles, light contributions gets brighter.

I mean i could disable Fresnel if no specular map is available. But that will only work for the forward model shader. The deferred lighting shader has no idea if a pixel needs to have a different lighting model or not. So then that means I have to figure out a way to code the g-buffer so we can tell it to use Fresnel or not. That's... going to be difficult figuring out how to do that without ballooning the amount of video memory the g-buffer consumes.

 

Offline Kolgena

  • 211
  • Posts: 2,249
Re: Specularmap thing again.
It's great that the issue has been found. @Swifty: I presume that this is the same bug plaguing the Orion and Steve-O fighters? And yeah, the asteroid/orion bug is definitely on Windows as well, with the deferred renderer.


 

Offline Swifty

  • 210
  • Posts: 1,193
  • I reject your fantasy & substitute my own
Re: Specularmap thing again.
I think this should rectify the issues raised in this thread: https://github.com/scp-fs2open/fs2open.github.com/pull/1271

 

Offline Kolgena

  • 211
  • Posts: 2,249
Re: Specularmap thing again.
Thanks for the fix!

All UEF fighters now look much better. Retail Orion looks as I would expect it to. (It still looks way too shiny, but it doesn't look like it has glitchy mirror lighting anymore)

Well done!