New Renderer (OpenGL 3.3)
-
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.
-
@Schmackbolzen looks awesome, except old textures. Can you try this render with my 2k station textures? You can find it in Freelancer HD or I can send it directly.
Example:
https://media.moddb.com/images/mods/1/35/34380/Freelancer_2021-02-14_16-39-49-52.png -
Thanks! Sure I can try, but my textures are not the original textures. They are 4x upscaled with ESRGAN and the model I wrote a few posts before. I attached a texture as an example.
I will try the the same process for roughness and normal map creation to some of your textures and we will see. For the height maps I can use the same as I currently use (drawn by me and one by Freestalker).
If you want perfect results you would have to create metalness, roughness and normal maps for your textures yourself. Also you would have to convert the textures to albedo maps, as the details are in the normal / height maps. My method currently tries to do exactly that, but it only can do it for the fine details.
Edit: I had a look at the mods and it would be better if you can send me the original images in png/jpg format to avoid compression artefacts. The ones from the mat files in the SOLAR folder (no subfolders) are enough to get a good impression.
-
Hey Schmack ! I found Swinir Super res And it gives a nice look to straight line compared to ESRGAN Ground textures and it gives a subtle metalic roughness texture. It’s accurate and not that blurry compared to some ESRGAN pretrained models. I think you can try foolhardy remacry. Swinir removes random dithering too.
Here is another DXT compression reducer : https://drive.google.com/file/d/1WXBNdlqDWV10a3L1_U7zuNkSpN9aBF0M/view I gonna try to look how it behaves with Swinir and Foolhardy Remacry. I’m testing it curently [d]I gonna do a post to show the result with Swinir and foolhardy remacry.[/d] OK I tried ! So BC1 smooth used once or twice + Swinir or foolhardy remacry is better than these two other methodes.
For albedo creation, I can use Blender but as my PC isn’t powerful enough, it crashes if I have too much polys… -_- I already created te base material by doing some blender displacement tricks. I can use bump maps to do the displacement too. So I can have a good base by downloading free PBR materials and materials that have bump maps in it. There is this : Artomatix It can convert any diffuse to PBR. I think I will have to try it but if it needs CUDA cores or a powerful PC, I will not be able to use it.
Edit : System requirement for Unity ArtEngine : https://unity3d.atlassian.net/wiki/spaces/AR/pages/454426739/System+requirements+and+compatibility
Edit 2 : Here is an example of how to use the PBR material generation. https://unity3d.atlassian.net/wiki/spaces/AR/pages/454426727/Material+Generation
Edit 3 : Albedo Generation : https://unity3d.atlassian.net/wiki/spaces/AR/pages/454426754/Albedo+Generation