Here is the promised version for everyone to test: Download beta 2
Update: Version 1.1 Beta 1 is here: Download.
Screenshots what it does can be seen here (or if you want to know how it started read from the beginning)
All my videos and screenshots are from our mod: https://www.flnu.net
You can try the renderer out yourself there.
You will need the 1.1 patch installed (including server.dll) as the renderer loads it (might change later on).
For showing the renderer menu you need to add this entry to your keymap.ini in DATA\INTERFACE\
[KeyCmd]
nickname = USER_RESET
ids_name = your id (add entry in your resource dll)
ids_info = your id (add second entry in your resource dll)
state = keydown
and pretty far down in section
[KeyMap]
nickname = IDR_ALWAYS_PRESENT
you also need to add
key = USER_RESET
Also add this to your keylist.ini (same folder)
[key]
id = USER_RESET
The group under which you insert it decides the page on which it appears. Also the order matters here. E.g. if you put it right under group 0 it will be on top on the first page.
Then you can choose a key for opening it in the controls menu of Freelancer.
For converting your models if you want to use normal maps etc. I uploaded a modified UTF editor (including source) here: https://github.com/Schmackbolzen/UTFEditor. You need to add Tangent/Binormal data to a model (there is a button) or use the mass processing in the Tools menu (last menu item). I also added a tool to scan your models for errors (the menu item above).
Important: Do not add Tangent/Binormal data to asteroids/mines etc. (ASTEROIDS\MODELS folder). It will crash FL. For them this data is automatically calculated by the renderer when loading the models.
I have written some documentation here: https://the-starport.com/forums/topic/6276/advanced-renderer-documentation-question-answer-thread
Other tools (with source) e.g. for mass converting textures etc. will follow. I did not have the time yet.
I also will add to the documentation later what I used to upscale the textures. A good starting point is https://github.com/ptrsuder/IEU.Winforms and https://github.com/JingyunLiang/SwinIR.
Feedback is highly appreciated! You can also write found bugs here.
Looking forward to some nice screenshots / videos!
P.S.:
You will probably have to adapt your light sources in the system ini files. Range and color play a role for the new lighting. You also can have color values larger that 255 if you want very bright light sources (original FL does not allow that).
Note also that point lights are ignored for now. Only directional lights work (and will be converted internally to point lights).
The default materials is metal. This means If you have custom planet/atmosphere textures those planets appear metallic . You have to add those textures to the materials.json (I already added the default ones there at the first entry). Same applies to any other texture you donโt want to be metal. If you have mixed materials where a constant value is not enough, then you have to create special metalness/roughness maps. More details are in my documentation thread. Also for bases when docked this might not work yet (FL uses different rendering for most geometry there).
Also Freelancer has this weird bug that on some PCs it detects the maximum texture size as very small resulting in every texture being really blurred. For this reason the renderer applies my offset hack: https://the-starport.com/wiki/fl-binaries/limit-breaking/visibility offset 01AD6F in Freelancer.exe.
Known issues:
- Planets outside the light range of a light source can have bugged lighting
- Planet rings can have artifacts looking like gaps
- Light sources too close to objects can bug out the shadows
- Planets and static asteroids currently do not cast shadows (dynamic ones do)
- Planets currently do not occlude sun for light scattering
- There seem to be some weird shadow bugs in Vanilla FL sometimes (e.g. Starflier shadow on itself if you fly it)
- Currently only directional light sources (in system inis) are enabled. They are being converted to points lights internally. The rest will follow soon. This means spot and point lights in space do not work for now.
- I did not do much for bases yet (meaning when you are docked)
- Some nomads ships do not use new shading yet
- If the envmapbasic.txm is not a cubemap this will break the old lighting (e.g. the one from HD Edition mod)
- Rendering of distant objects is currently different due to how FL manages them
- Light scattering can sometimes be enabled erroneously
- Distant dynamic asteroids can quickly appear and disappear when e.g. you rotate the view quickly
- (Stuff I forgot and will add later )