New Renderer (OpenGL 3.3)
-
I had to learn for another exam more than I thought (was for my minor in microelectronics) and after that I took a break. Freestalker has started to help me out with height maps, so I hope this will save me some time. I will get back working on this in the next week I guess. As always I have gotten some new ideas and perspective after taking a break, so I hope this will help me improving it further and find the last remaining bugs
-
Alright, I managed to fix lots of rendering issues and also completely changed the pipeline for upscaling the textures. Additionally I redid some of the height maps. You can see a video here: http://www.flnu.net/downloads/fl1410.mp4 I think it never did look that good before.
Btw. sorry for the stuttering. I was testing OBS studio with HEVC hardware encoding and there seem to be some issues, since I did not see them in the game.For those of you who wanted to see metal - Trent and his friends plus the interiors: http://www.flnu.net/downloads/fl1410int.mp4
Keep in mind that the textures are the unchanged vanilla ones.Also Freestalker and I have been testing how to make new textures: http://www.flnu.net/downloads/flnewtex.png
But we are not finished, yet.As always, feedback is welcome It helps me to judge whether I am doing the right thingsâŚ
-
Looks even better! Iâd like to get my hands on that renderer as soon as possible!~
Question: the heightmaps, are you putting them into the MAT or are they separate in a folder somewhere? How do you reference them for the renderer to work with it?
-
you are right
it looks better than ever before -
@eigos: They just lie in a folder and if the texture from a mat file is being loaded has a file with the same filename in it (e.g. âSTADTL1_256.tga.ddsâ ) this one is loaded. Same applies to normal and ambient occlusion maps plus any future maps I might add (each have an own folder). I donât know which material is being used, yet.
Actually I am quite surprised how well it looks now. Had some small ideas and the combination of them plus some rendering fixes really work well. E.g. I was not expecting how well it works here (apart from the rocks): http://www.flnu.net/downloads/fl1510.png
Today I finally was able to fix the fake lights in nebulas (fog did not work), so here is a video: http://www.flnu.net/downloads/fl1510neb.mp4
There is still some work left, but we are getting closer
-
Just boring stuff. Tested window management and OpenGL context creation with SDL2, but sadly the event processing breaks the controls. Plus it does not fix the wrong resolution in fullscreen mode (since FL manages the window, something seems to break there). Also I had to patch SDL2 to make it use an existing window with OpenGL.
I also did some further clean up and optimizations. On my NV 970m it is now nearly about 1,5 times faster as the original d3d8 renderer (with disabled shadows), but on my AMD RX480 the d3d8 renderer is faster. So either a driver problem or I am doing something wrong / something the driver does not like. Not much left I can do, though, since I have not that much control about how FL renders things. Sadly weapons fire also seems to impact FPS (on AMD). This is something I need to investigate further. I tested the newer OpenGL debug callback functionality, but neither on AMD nor on NV this helped.
Shadows also seem to impact the FPS a lot, but not when generating the maps, but when using them in the shaders. So Iâll have to investigate whether this is normal or not. Could be a fillrate problem, though. The scenes I am testing with have a lot of overdraw, since FL renders back to front and there a hundreds of objects. A z-prepass could help here.
I also have been working on getting the TB vectors generated like presented here: http://crytek.com/cryengine/presentations/triangle-mesh-tangent-space-calculation (there is existing c++ code but I need to adapt it to the UTF Editor code in c#).
As you can see, nothing of interest for the normal user (who doesnât understand anything of the above anyway). I will post progress here when I have to show something new
-
Schmackbolzen wrote:
I also have been working on getting the TB vectors generated like presented here: http://crytek.com/cryengine/presentations/triangle-mesh-tangent-space-calculation (there is existing c++ code but I need to adapt it to the UTF Editor code in c#).
As you can see, nothing of interest for the normal user (who doesnât understand anything of the above anyway). I will post progress here when I have to show something new
Maybe you find this interesting: http://forge.the-starport.net/projects/utfeditor/repository/revisions/35/diff/UTFEditor/UTFForm.cs
(we also had to add tangent/binormal data for our normal maps etc. in Freeworlds)Or do you use the tangent data as provided by the UTF editor? Is it faulty?
-
Sry, I am again very busy due to university and my student job.
@Wodka: Yes, this implementation produces wrong TBN data. I have modified it locally and also added code so that new vertices can be inserted. Currently I recalculate all normals and duplicate vertices in case the angle between the normals is too large. But this is only a stopgap measure until I can convert the code I linked above, since there are still case where the TBN data is wrong. Plus everything looks very edged right now since the original normals were smoothed a lot. Maybe I also should have a look at your MAX plugin in case you have used a better algorithm there.
I hope that I can get a public beta test running after I had some time off during the upcoming holidays, but no promises. It will only work on our New Universe server so you would have to check out our mod. Iâll probably use the current ugly shadow implementation, but at least you could test it out. We will seeâŚ
-
Youâd have to detail whatâs wrong about it because itâs been in use with FW for years now without any issue whatsoever.
-
You can read about that in the linked presentation. Also I only tested the UTF version. Wodka once wrote to me that you donât use that. As far as I remember there also was problem with references in the vector maths and thus wrong results. But since you donât use it anyway I never committed it.
-
Weâve used both actually. New models use the 3ds Max exporter, but older ones were just upgraded through the UTF ed. I havenât noticed errors with either.
-
It highly depends on the model (vertices and texture coordinates). Unfortunately FL has a lot which donât go well with it
-
I have skipped them and worked on my master thesis instead since it takes days of calculations to test all the parameters for the evaluation and thus needed to finish the code for every test I need to do as soon as possible. It is looking good right now, but you never know what is coming next
Btw. you donât need to ask all the time. If I donât post I did not make enough progress (as I wrote before). I need to find the remaining bugs (e.g. fullscreen does not work correctly) and you never know how much time that will cost. I have done some small things (like using much better dds compression for the textures), but you wonât see that in a video.
-
Just dont forget to get some rest in between
-
Hey ! I did a render in xNormal and I wish some feedbacks.
Here are some pictures :
-
My question is where so I pick up the software? Groups I worked with in the past (2008-9) fell flat trying to get a .dds DXT5 implementation into the FL engine for at least some normals mapping. And your renders look good. Can you change the lighting angle a bit more oblique to show the height variation a bit more? Also does it stand up w\ lod distances? Iâd shoot someone to get normal mapped textures on my ships. Whatever youâre doing is getting close. There are other people doing normals on other threads, but I think theyâre running down the same paths that dead ended when the output worked only on a certain class of graphics card.
So again, what software and where do I filch it?
And is it on implemented in the modeler or through the graphics? -
Thereâs no âsoftwareâ. Schmack created an OpenGL implementation himself, from scratch, which hooks into Freelancer and replaces the renderer in large part. All you do is feed the game the new textures itâll need and thatâs it, provided you have the renderer.
There are only two such implementations right now: his, and Freeworldsâ. Neither are currently released for other modders to use, though Freeworlds is already out there to play with.