New Renderer (OpenGL 3.3)
-
If you use my wrapper there are no d3d8 calls anymore and the problem still remained. So my conclusion was that it must be another problem, since it did not matter which maximum texture size I returned. I even found the return value while I was reversing FL and changing it in memory has no effect. But maybe we should continue this discussion in the other topic.
-
Schmackbolzen wrote:
@Kazinsal: Not sure what you have in mind but not that you get any ideas: I won’t have the time and I don’t plan to write another wrapper Also it will only work with Freelancer (I don’t translate every d3d8 call plus you need some hooks to get the textures etc.).Oh, no, not another engine. Something I’ve been thinking of proof-of-concepting in Freelancer. I can’t seem to tear myself away from this engine…
-
Hehe, I see. Well I am curios what people will do with it, once it is released. But it is still a long way until that
-
Here is a video of the current state: http://www.flnu.net/downloads/fl2603_q20.mp4
With the new knowledge from reverse engineering the rendering pipeline of FL I was able to render the starsphere into a cubemap und use that for environment mapping. I also experimented with different lighting models and added bicubic texture filtering.
At the end of the video you can see the scene with disabled environment mapping.
I still need to fix the calculation of the normal, tangent and binormal vectors which are stored in the models. This is the reason you see bad lighting at some locations.
If you have any suggestions, constructive criticism or already like the look let me know!
I still need to add a material system, change the shadow rendering technique, fix the remaining bugs and a lot more stuff.
Edit: Exchanged the video with a better encoded one.
-
That looks stunning mate! Really nice graphics, would make good in a mod
-
Thanks! I still am not quite satisfied with the look. We will see what I’ll come up with
Btw. here is the video encoded with h265: http://www.flnu.net/downloads/fl2603_x265q20.mkv I made it for testing purposes and it is less blurry.
-
Thanks!
So here is a video of the current state: http://www.flnu.net/downloads/fl0906.mp4This is a graphical level of which I think it is ready for release (minus the shadows! I definitely need to change the technique!). Lighting is about two third PBR plus a few tricks I used to make it work with the old FL lighting and materials including textures.
I recalculated all the normals and don’t weight in the original ones yet so the geometry is less round at some places. But all the wrong lighting is gone now.
What’s left is fixing more bugs, a material system, some optimizations and different shadows. If there is time I’ll try to render better planet atmospheres, but maybe that comes for later versions.
Also I have been working with .Nx from this thread to create better models and textures, but this will take some time.
At this point feedback would be helpful, negative and positive. Things you like and you don’t etc.
-
Id be interested in how it renders the more “exotic” textures.
e.g. Nomads, effects, semi-transparent stuff, nebulas, etc. -
Besides for models this is untouched for now. It basically uses the old fixed function pipeline from d3d8 wrapped to OpenGL. I plan to use shader for effects etc. in later versions to to neat stuff.
Here is a nomad BS spawned at the station:
Edit:
And here a station in a nebula:
P.S.: The lightning flashes do cast shadows!
Here is the same scene in Vanilla FL:
-
cool
Id be willing to jump in with texture work.
Eventhough I have only little time due to a large mod update I still believe I can afford a bit time on that. -
Sounds good! .Nx has contacted you regarding the texturing work.
No one really has commented on the video. I would like to know whether you noticed a change compared to the video before. Is it better, worse or the same? What did you notice? I realize it is a matter of taste and I had to make a choice regarding the look. If the video is too blurry I can encode it with a better quality.
Edit: .Nx noticed me that some browsers (like chrome) have buggy video players and in that case mine look way better if you download them and watch them with a normal video player.
-
The result of your modification is really good!
I have a question. Will we be able to use a modifier for each texture, because of the fact if I do a wrong height map optimisation via photoshop or any other software, it would be nice to change the values through a modifier.
-
Hi Schmackbolzen, Ive been following this thread for a year now and decided to register yesterday, so I can ask some questions.
1.) Will this renderer work for other Freelancer mods? I am coming from DiscoveryGC.
2.) How far along is the renderer from finishing? It looks absolutely amazing so far, I love the shadows and the bumpmaps.
3.) On the technical side, what modifications are you making to the vanilla models? Besides editing the MAT files and adding bumpmaps, what else needs doing for the renderer to have impact? Any specular maps and stuff like this?
I really hope you get to finish it and I hope even more that it will be available to work with other mods. It will really help to keep old Freelancer running for a bit longer!
-
Glad you guys like it!
@Freestalker.fr:
My goal is to have a file where you can change each value per texture so that there is a material system. The only bad thing about this is, that you have to change everything manually. I would rather have some automated process when the model gets exported from Max or smth. But for now I focus on a version which can get expanded later after release.@eigos:
I plan to create a mod on ModDB so everyone can incorporate it into their mod. The goal is to keep FL alive after all. Though I am thinking about first testing it on the mod I am maintaining because it is easier to get feedback and deliver updates.I can’t say when it is going to be finished. Currently I am working on polishing stuff and you never know when all the problematic bugs are gone. At least I can say it is working on AMD, Nvidia and Intel graphic cards. Hopefully I can finish it this summer.
Regarding the modifications: I only scaled up the vanilla textures and applied some filtering to make them look less blurry. Besides of that .mat files are not changed. The models need some more informations (TBN data, like the Max .cmp exporter writes) and that’s all. I have a batch process which adds the data to original models. Additional textures (height and normal maps with baked in self shadowing) are loaded from separate folders depending on the diffuse texture name. But I am currently working with .Nx to test more additional maps. We will see with what we’ll come up with.
-
So for those who enjoy my videos here are two with the current state:
http://www.flnu.net/downloads/fl0807.mp4
http://www.flnu.net/downloads/fl0807li.mp4Lots of internal fixes, fixed pipeline is gone (all shader now), optimizations and real post processing. I also added ambient occlusion maps. Plus I decided to scale down the ambient light intensity, since it is quite high in standard FL.
Still some work left, though. Feedback is welcome!
As always the stutters come from running FL server and FL on the same machine.
-
Ow! Details and specualrity of textures are gorgeous. It’s perfect! I love it!
I have and idea, for heightmaps, it should be nice to compil them to vectorial format to make them raw material for future improvements and also to be edited with ease.
-
Yeah I really like to look, too At certain places I am even surprised how good it looks now. I am still working on improving it, though. I decided to ignore point lights since it is really expensive to cast shadows for those (and I have not implemented them). Here is a video from NY without the point light at the planet: http://www.flnu.net/downloads/fl1007.mp4
Skotty and I think it is still ok. Other places look even better, because the missing shadows made it look strange.
I plan to automatically do some stuff for planets anyway so it should not be needed and also look better later on.
Regarding the heightmaps: You’re right, vector format is always better. I’ll see what I can do.
Also two nice screenshot I took while testing:
-
Wow nice! It would be an awesome thing to make vector format be readable by FL. Like that it would be saved as the graphics would never be outdated and there should be only diffuse maps to change. I’m waiting your mod so hard!
And did you changed specularity for each texture or for each model and what does it make if you totally remove specularity from the texture or model? Just to see if Nomad ships and stations and also asteroid could use heightmaps without having a metallic look.
-
Hehe, I know I am teasing you, but here are two more videos where I really liked the look:
http://www.flnu.net/downloads/fl12072.mp4
Here this model is not modified, meaning only diffuse maps:
http://www.flnu.net/downloads/fl1207.mp4Regarding the specularity: Since this is partially a PBR renderer, you have a BRDF and thus a roughness and metalness parameter for each material (also there will be some more like specular intensity for the environment maps). Currently I only know which model and texture is being rendered, so until we reverse more there will be a file where you can set all these values for each texture name (the names are taken from the .mat etc. utf nodes). I will try to make it not a pain to edit and preview those values