New Renderer (OpenGL 3.3)
-
(Sorry for the long delay, was busy plus got a bad cold.)
Yeah, I see what you want to do, and I was hoping there was a way. I would use it for automatic height map creation. But for my understanding, you would need different neural network layouts for that. Btw. there is a network which creates normal maps in the wiki. I tested it, but it creates weird results (probably not good training data).
I already tried training my network with height map data, but the cnns I used seemed not to work with it. When I have the time I will try some more stuff, probably using ESRGAN.
Regarding the wrapper:
I was able to change the rendering pipeline to be nearly like: https://learnopengl.com/PBR/Theory
I don’t use any AO maps, since the bent normal maps already create a nice effect. I also changed the lights to be sphere lights and not point lights, since the suns are quite large. The latter is from UE4 engine presentation notes plus some annoying testing, since the general implementations I found seem to be incorrect and the notes are not clear on the equations.In general I noticed most of the stuff I use now is from UE4 (if they still use the stuff).
Here is a video from a few days later back in January: http://www.flnu.net/downloads/Fl1901.mp4 In the end I disable the environment maps so that one can compare. It looks really good now in my opinion.
Basically I am now hunting the last bugs, which sadly are not that easy to find. Plus I don’t have that much time currently.
-
I found this.
I tried but I don’t know how to make it work. I think it can help to seperate heights and normals (not normal maps).
I tried to remove shadows and highlights with GIMP but the result was never good, as in the original shadow details are missed as you can see in Defender’s texture. I had a converstation with somebody on GameUpscale Discord and he gave me some Imagemagicks .sh delight and deshadow scripts. It worked but there is a sort of bloom after applying them…
-
Sorry for double post but WOW ! Just WOW !
https://www.youtube.com/watch?v=548sCh0mMRc&feature=emb_title
-
Looks interesting, but I think they still have a long way to go.
Last weekend I had time to test an idea I had for a while. Took me the whole Saturday to finish it, but the results are way better than I expected. Basically I use the generated normal maps to smooth the textures, so that I lose the details. This actually is correct, since the details are in the normal map. Before I had to downscale the impact of the normal maps, because it would look very weird. Now I can have stronger normal maps and it looks really good.
Here is a video of the result: http://www.flnu.net/downloads/fl1503.mkv
The codec is h265 this time, because with h264 it was about 250mb. Took me a while to find good settings, but now it only has about 120mb and looks quite the same.
Edit: Here is a second, shorter video, where you also can see the more 3D look of the textures:
http://www.flnu.net/downloads/fl1503_2.mp4 -
Nice ! I had the same idea but I used crazybump normal map generator and render the nrms in Paint.net but it was not good. Is there a way to have the detail removal without using normal maps ? It’s just to see how effective it is.
BTW I think modelizing gribles would be good. I already started Bretonia capships. Then with station, importing original model and after place gribles, then remove station model, export grible. Add an hardpoint called HP_gribles to station CMP at the position 0;0;0. Make an equipment entry for gribles and finally add a code line in station loadout :
equip = "Station"_gribles, Hp_gribles
It can also be done for ships.
Do you think it’s a good idea ?
-
I don’t know what you mean with “gribles”. Can you elaborate?
Here is an example of the smoothing:
Before:
After:
As you can see, it only removes the smaller edges. That’s why I wasn’t expecting it to work as well as it does. Also I did write it more as a proof of concept. There is still some room for improvement.
For the larger ones I do have an idea for an algorithm, but this is for later when I have the time for it. -
-
Yes, it already is batch processing along the normal map generation.
Do you have some example images of the greebles and how it looks in the game? It is difficult to image how it will look.
Also I made quite some progress. There are not many things left to do now. Here is a video of the current look:
http://www.flnu.net/downloads/fl0305.mp4
The shadow flickering issue will stay for the moment. I will look into it after the release as it is not that easy to fix. -
A batch of questions:
Are specular maps seperate?
In the vids you have posted over the the past months you have mostly shown metallic surfaces but also in 1 or 2 (IIRC) there were asteroids which looked like having a shiny surface. I am not entirely sure if that was intentional or just a side effect of the demo.
I think some surfaces better shouldn’t be reflective.How does this translate to interiors of bases?
FL renders them slightly different.Are adv. texture settings such as detailmaps, glowmaps, animated textures etc still supported?
-
Most of questions I already answered in this thread, but I give a short summary:
The material appearance is implemented like here:
https://learnopengl.com/PBR/Theory (except the ao maps - not needed. Example maps are at the end of the article). This should cover all the needed materials plus it is sort of a standard and should look the same in other PBR renderers. Additional height maps are also used for the pre baked extended normal maps (ssbump) and parallax mapping.There is a json file where you can set default values (metalness and roughness) for all textures and also different values for specific texture names. But you also can use textures for both values instead (loaded by default if they exist). In my videos I use automatically generated roughness textures (that really creates a cool look) and a default metalness value. For the glass of the space domes I currently use settings of roughness 0 and and metalness 1 which gives perfect reflections. For the rest I did not have the time to create settings yet. This is why everything else is metal.
All the stuff FL can do is still supported. If it does not work I will fix it. There still is a shader for the old lighting, which I wrote to map all the states from D3D8 to OpenGL. You can see it in action here:
http://www.flnu.net/downloads/fl0405_options.mp4
It is still used for the GUI and other stuff (effects etc).For bases the rendering is mixed (both new and old lighting). Although I did not upscale the textures yet, here is a image which looks quite nice:
-
-
Hi there !
I did some progress with greebles.
I send you some Khed screens. I need some feedbacks to see if it looks good. The Br ones that I am working are nearely finished.
-
So basically you want to replace part of the textures with real geometry, do I understand this correctly? It would help if there were any screenshots how it looks in FL, if you have some already.
P.S.: I am making quite good progress. Polishing just takes really a lot of time.
-
You understood well ! I’m just doing the kitbash and I will se how it look ingame after. You’re write though, puting it in the 3D models is good. I will try to see if it’s good enough.
Khed is far better than MS3D as you have complex polygone creation, pipe tool and lathe tool.
I would like to see your progress. Did you managed to remove bevels on texture or is it too hard ? I know how to remove lightings in textures but removing bevel is tough as High Pass alway does some ringing artifacts and make the textures blurrier at the same time of removing bevel. I tried to use selective gaussian blur and so on but it is hard. And also the settings aren’t always the same. The shadows are also difficult to remove.
Simultaneously I do some HD UI textures. My computer has crashed at the end of 2019 and my CMP/3DS files are corrupted so I need to import all the current files I did before the crash. I did some mips to be used at different resolution. -_-
-
With polishing I meant getting it ready for everyday use. Like adding options, in game menu for those and getting rid of any annoying enough bugs I find. Also testing how the automatic texture upscaling / generation works for our custom models (for some surprisingly good, some have too bad base textures). So there is nothing really new to show currently. I still need to find a solution for duplicate texture names, like automatic renaming of them in the UTF file if they are not identical.
And yes, removing those additional details from the textures will really be hard. I did not try anything further for now.
I hope you did not lose a lot of data because of that crash. I actually currently use one of the heightmaps you did I just wonder whether it will look better than those parallax/normal maps I currently use.
P.S.: I finally renamed the topic, since the name originally was chosen by wodka back then when he split another topic into two threads. It should be more clear now.
-
In fact I didn’t lose any files thanks to the man who repaired my computer. In fact I will need to tidy up the source files folder. For some UI elements I redid them but for some I upscaled. I made the mod to be usable up to 4K or 8K.
I have some masters that aren’t as big as my target specifications so I need to upscale them. It’s the occasion to burn my CPU ! XD
And Freelancer’s UI resolution management is very odd some time for a big element on screen you have a tiny icon and vice versa, it’s hard to have a clear image of how it will looks ingame.
I started working on it mid 2017.I’m also using Meshlab’s Twosteps smoothing to smooth the 3D models after subdividing them. Starlancer 3D models can be smoothed with it and every other games that has extremely low poly meshes.
-
Just wanted to drop in and thank you for working on this. It’s amazing work well beyond what I can do. Would love to be able to work on shader creation and implementing it one day. For now, it’s just creating more content, haha.
I’d like to learn about shaders, but how are you even getting it into the game? Are you having to write it and then inject a DLL into the game .exe so it can have those resources? Or is there another way you’re managing to get it loaded? Curious.
Hope you’re both well and progress is still going well, too.
-
Sorry I totally forgot to reply here (usually I write in FL discord nowadays).
Thank you! It basically is a Direct3D 8 dll which gets loaded by the game. But it does way more than just wrap the rendering calls to OpenGL. There is a lot of hooking into the game engine (which needed a lot of reverse engineering) in the background. The shaders are plain text GLSL, so you indeed can play with them if you are up to it.
I managed to do much progress and currently am working on getting the mod in a state where I can ship an installer (last minute fixes, clean up stuff, updating the installer etc).
I was able to increase the texture quality a lot (including normal and roughness maps). Here are some screenshots and a video:
-
No worries! I’m on the Discord too as 5anitybane/inhaledchaos. Trying to relearn all the modding knowledge I lost and make a set of videos for our community to try and draw some new blood in.
Holy frolicking spaceballs. Your work is AMAZING. I usually hate graphics update mods as they change the flavour entirely, e.g. Morrowind. For Freelancer, you’ve just made it feel like a graphical remaster while keeping the feeling alive. That’s special. Is this something you’re making publicly available or donation based? I’d like to donate at least a few coffees if you’re releasing that. The FL community has been dear to me for a long time (though I am relatively new to The Starport, I modded back in TLR days) and what you’re doing helps it in a BIG way. Modding FL again is already exciting, but I cannot wait to open up FL in your new renderer. Very, very exciting.
-
Thanks! I actually feel the same. It’s very hard to find mods which keep the original mood. So if you think I succeeded here it makes me very happy
I did not like the current normal maps (somehow it looked a bit like there were compression artefacts) and did some tweaking to the generating process. They are now way more clean. Here is an example:
Regarding donations: That is very kind of you. I still am not sure how to handle this, since I am not so fond of PayPal and do not plan on making an account there. Nevertheless the new renderer will be free for anyone as it should help keeping Fl alive. Donations would be completely optional.