Page 132 of 138

Re: Progress

Posted: Tue Oct 17, 2017 5:00 pm
by Astrobe
Wow, I didn't expect such a thorough answer. Thanks!

Re: Progress

Posted: Sat Oct 28, 2017 9:35 pm
by maik
Thank you, all devs, for bringing 1.86 to life!

Re: Progress

Posted: Sat Nov 04, 2017 12:05 pm
by another_commander
A planet lighting improvement was just committed to trunk. It makes the planets feel more natural and look more like spheres and less like discs. Obligatory piccies for before / after comparison:
ImageImage
ImageImage

The really good thing about it is that it is only a shader change, so you do not need to wait until 1.88 to check this out. If you do want to check it out, open Resources/Shaders/oolite-default-planet.fragment, go to line 232 and change it from

Code: Select all

vec3 diffuseLight = diffuseIntensity * DIFFUSE_LIGHT;
to

Code: Select all

vec3 diffuseLight = diffuseIntensity * (gl_LightSource[1].diffuse * max(0.0, dot(normal, light1Vector)) + gl_LightModel.ambient).rgb;

Re: Progress

Posted: Sat Nov 04, 2017 12:15 pm
by Cody
Thankee!

Re: Progress

Posted: Sat Nov 04, 2017 2:23 pm
by Disembodied
8)

Great stuff!

Re: Progress

Posted: Sun Nov 05, 2017 4:55 am
by Diziet Sma
8)

Done!

Re: Progress

Posted: Fri Jul 20, 2018 7:49 pm
by another_commander
OK, let's see... We've got a few updates recently. Let's summarize (in no particular order).

First of all, we have the update to the fell AI as discussed elsewhere in the forum. AI with accuracy higher than 0 now flees with jinking and even surprise counter-attacks (probability of a counter attack is now set to 15%) whenever necessary.

Secondly, the escape pods cannot be damaged now by ships exploding nearby. This is done so that there can be no false perceptions for the players related to when the escape pod works or not. The escape pod now works every time and using it will save the commander. Note that the probability of the pod dying near an exploding ship was rare to begin with, but since it was observed that it can happen, we thought that it would be best if the players don't think of it as a bug.

Thirdly, we have had some bug fixes related to mouse control. Hopefully playing with the mouse will be pretty much glitch-free now.

Fourthly, the ability to edit gui color settinhgs from scripts has been added. Any key in gui-settings.plist that contains the token "color" can now be changed on the fly using the getGuiColorSettingForKey(key) and setGuiColorSettingForKey(key, color) JS methods.

Fifthly, we have made some inprovements to the Linux packaging system for the game, mainly targeting cleaner uninstalls. Anyone interested in generating a flatpak installer for Oolite could benefit from this..

Sixthly, we invreased the max number of supported joysticks to 4.

And seventhly, as per request by gsagostinho we have added the minimalistic scanner. It is basically a scanner without gridlines in order to make it less cluttered and easier to view objects inside it. It can be enabled by editing hud.plist and adding the line scanner_minimalistic = yes; or by script using the read/write JS PlayerShip property scannerMinimalistic. Below is an example screen using the latest version of Dangerous HUD.
Image

Re: Progress

Posted: Fri Jul 20, 2018 8:12 pm
by gsagostinho
The minimalist HUD looks awesome, thank you so much for putting up with all my requests! I am working on a major overhaul of the Dangerous HUD and this will be a neat new feature!

Re: Progress

Posted: Fri Aug 10, 2018 8:46 pm
by another_commander
Heads up! We have a graphics update incoming in the next nightly.

Two new specular lighting models have been implemented in Oolite's default shaders. The first one is a more modern Blinn-Phong than the one we have been using till now - and more physically accurate too. The second one is the GGX specular model, which is slightly more complex from a computational perspective, but gives slightly better results overall than Blinn-Phong.

In the next nightly, the specular effect has been exaggerated a bit in order to be immediately observable (it can be restored at a later stage, after some testing has taken place). You will find that shiny ships look better than before and light reflections seem more realistic. The default specular model in use right now is the new Blinn-Phong. We will need proper handling of a gloss or roughness parameter (preferrably using a gloss/roughness texture) in order to take full advantage of the GGX model. For testing purposes, we are using the shininess parameter divided by 10 for GGX to assume a global gloss value for each material.

All changes have been made inside the oolite-default-shader.fragment and can be applied to 1.86 too, if you feel like editing the shader. To enable the new GGX model, define OOSPECULAR_NEW_MODEL_GGX to 1 somewhere at the beginning of the shader. Leave it as-is to have the new Blinn-Phong applied.

Although the effect is best seen in motion, here are a few pics to get an idea:
New Blinn-Phong:
Image

GGX:
Image

Blinn-Phong gives generally more concentrated reflections, while GGX spreads them out a bit more.

Finally, here are a couple of pics on a vanilla Oolite, with a Cobra flying over Lave. The specular reflections are a product of the GGX model.
Image
Image

The new shader can be downloaded from github from this link: https://raw.githubusercontent.com/Oolit ... r.fragment

Re: Progress

Posted: Fri Aug 10, 2018 9:31 pm
by Getafix
Image

Re: Progress

Posted: Sat Aug 11, 2018 11:09 am
by another_commander
Just a quick note to say that, after fixing a little bug with GGX, this has been now switched to the default spec model.

Re: Progress

Posted: Sun Aug 12, 2018 8:25 pm
by another_commander
To show the importance of shininess in the new specular model, here is a comparison of shininess values from 10 to 120 (maximum shininess is 128). This series of shots was taken by freezing the game and then using the debug console to change the material properties on the fly. I hope the differences in the appearance of the material as we go up the scale are visible. Low shininess values makes it look like a painted material, while from 60 onwards the appearance starts to turn to metallic, with 120 and above starting to look more like glossy plastic or something like that. The sun light was set to red for these images, so you can see how it is reflected on the material at various shininess values. As you can see, a variety of materials can be emulated just by playing with the shininess property.

Image

Also keep in mind that shininess does not have to be a single value. You can use the alpha channel of a specular map to store shininess information. A value of 1.0 in the alpha channel will use the defined global shininess for the material, while a value of 0.0 will reduce it to near zero. Values in between can be used to adjust the shininess, which means that you can have multiple shininess values for the same material. This in turn means that you have full freedom to make models that look partly glossy and partly rough-like.

Re: Progress

Posted: Mon Aug 13, 2018 10:14 am
by another_commander
Planets have received the GGX treatment. Not much to say here, it looks like this:

Image
Image

Re: Progress

Posted: Mon Aug 13, 2018 10:41 am
by Disembodied
a variety of materials can be emulated just by playing with the shininess property.
Out of interest, is it possible to do this with planet textures too? So e.g. "seas" and "ice" could be made shiny, and "deserts", "forests" and "plains" could be matt?

Re: Progress

Posted: Mon Aug 13, 2018 11:00 am
by another_commander
Disembodied wrote: Mon Aug 13, 2018 10:41 am
Out of interest, is it possible to do this with planet textures too? So e.g. "seas" and "ice" could be made shiny, and "deserts", "forests" and "plains" could be matt?
I don't think so, at least not with the user-generated textures. We do have this in the standard game, though. I think the game handles differently its own auto-generated planet maps compared to the user made ones, but I may need to check up on that.