- Joined
- Sep 12, 2010
- Messages
- 3,133
- Reaction score
- 407
- Points
- 123
- Location
- Rome
- Website
- www.tuttovola.org
Ok, thanks. That did it.Hey Ripley,
could you please try this one? I've added filling the render area with black background first...
Ok, thanks. That did it.Hey Ripley,
could you please try this one? I've added filling the render area with black background first...
Though the two things to change now would be to boost the intensity of the sun light so it's brighter than the atmosphere; right now with the tonemapping the ships look dull and washed out compared to the atmosphere below. That should go for the star billboard texture as well. Now that we have a way higher dynamic range, we shouldn't be afraid to use it. Tonemapping and exposure adaptation will take care of displaying the scene under a [0,1] range.
EDIT: Actually, that should also go for all emissive materials as well. Exhausts and emissive particle systems also look washed but once properly lighted they'll shine back again.
Speaking of adapration, my idea of a local average kinda failed as the 4x4 mipmap wasn't behaving the way I expected; I'd have thought mipmapping would average the values, but there's some kind of weighting being done that emphasizes the center pixel from what I see, and that in turn gives weird results. So I resorted to a geometric mean but with the 4x4 mipmap and that weird emphasizing it's still behaving weirdly.
So my question is, would a 1x1 mipmap be an average of the whole image? If yes, then could you change that for it?
The sun intensity for meshes is already added there "#define fSunIntensity 1.0".
Eye adaption would need to be an integral of light received by eye during the past few minutes. How an average value of back-buffer would be any use ?
Will there be any way to control the .refl roughness separately from the specular power?
That would be for proper eye adaptation with progressive exposure correction. Here it we only consider one frame, which might not be the best for motion under such a great contrast, but for now it'll be better than nothing.
I recently installed d3d9 testbuild 6. Since I didn't like it's features, I then downloaded the latest general build of the client and installed it on top of test build 6. Now, the graphics is back to normal, but, why is the deltaglider's wings so shiny? As if environment reflection has been enabled for them? How is that possible? Or is it a new feature of the latest general build?
---------- Post added at 10:39 PM ---------- Previous post was at 10:36 PM ----------
These shiny wings and exhaust nozzles weren't there in test build 6. They are present now.
---------- Post added at 10:40 PM ---------- Previous post was at 10:39 PM ----------
Only the wings are shiny? Why? Why not the full body of the deltaglider's?
The glossy finish is a Fresnel reflection and it should be possible to have it in basic shader otherwise a material like that would need to be sent to some other shader for rendering.
#if defined(_ENVMAP)
if (gEnvMapEnable) {
// Compute LOD level for blur effect
float fLOD = (1.0f - fRghn) * 5.0f;
// Get reflection with roughness parameter
float3 cEnv = texCUBElod(EnvMapAS, float4(RflW, fLOD)).rgb;
// Get mirror reflection for fresnel
float3 cEnvFres = texCUBElod(EnvMapAS, float4(RflW, 0)).rgb;
// Compute a fresnel term
float fFrsl = gMtrl.fresnel.y * pow(abs(1.0f - dCN), gMtrl.fresnel.z);
// Compute material reflectivity
float fRefl = cmax(cRefl);
// Compute reflection
cRefl.rgb *= cEnv;
// Compute total reflected light with fresnel reflection
cRefl.rgb = any(cRefl)*fFrsl*cEnvFres*(1.0f - cRefl) + cRefl;
// Accummulate in cSpec
cSpec.rgb += cRefl.rgb;
// Intensity of reflected light
float fInt = dot(cSpec.rgb, cLuminosity);
//float fInt = cmax(cTotal);
// Attennuate diffuse surface
cTex.rgb *= (1.0f - fRefl) * saturate(1.0f - fInt);
// Re-compute output alpha for alpha blending stage
cTex.a = saturate(cTex.a + fInt);
}
#endif
Speaking of adapration, my idea of a local average kinda failed as the 4x4 mipmap wasn't behaving the way I expected; I'd have thought mipmapping would average the values, but there's some kind of weighting being done that emphasizes the center pixel from what I see, and that in turn gives weird results. So I resorted to a geometric mean but with the 4x4 mipmap and that weird emphasizing it's still behaving weirdly.
So my question is, would a 1x1 mipmap be an average of the whole image? If yes, then could you change that for it?
Has it? Isn't it directly included in the builds?...Don't ask me where to get the "DX9ExtMFD.dll", it has been posted somewhere in the forum I think
Has it? Isn't it directly included in the builds?
(I can't check by myself right now)
...However, running the Map MFD in DX9ExtMFD window (Included in Beta 6 package)...
Fresnel reflections do not have any roughness, at least at low viewing angles. There's probably a way to make the roughness match the normal reflection at high angles and then transition to no roughness at low angles, but that would take away the control I'm trying to achieve, which is the ability to simulate a dual-layer material. Here's some code I tweaked to make sure the Fresnel reflection is always sharp, separate from the ordinary reflection which can have roughness.
in the R16-5 build of the client for 2010p1 there is a definite performance degradation with prolonged use of external MFDs. Seen it take a frame rate of 400+ and eventually bring it down to the 30s. Only shows up after very long sessions, first showed up for me when doing a fly around after undocking from a space station so I had two MFDs (Pursuit and RPOP) open for quite some time.