New Renderer (OpenGL 3.3)
-
Initially I was really looking forward to FW:TOW dx9 being released for vanilla just because of the normal mapping, but after having a tinker with a few vanilla models in their old demo I wasn’t so keen anymore, I think the textures are too small and don’t lend themselves to normal maps very well either. No doubt someone with a lot of time on their hands and some good skills can do better than I did, but would be a lot of effort so good luck to you!
I tried using models from X3 and spaceforce however, and the results were awesome, so as with FW:TOW itself, with the right material it’s all good
If anyone has actually managed to make any of the vanilla models look good with normal maps etc I’d love to see some pics.
-
Just applying any sort of normal mapping system simply won’t work, and making generated normals based upon low res textures will never look good. You would have to hand make normals for the vanilla textures, or make high res versions of the vanilla textures and generate normals for those. However, at that point, you may as well hand make normals for those high res textures anyhow.
-
Yeah, I was going to write smth. like Sizer said. Usually a texture artist would create them for you. I still hope there is a way do generate good looking ones per algorithm, though (and yes I have been experimenting with it for a long time).
The previous normalmaps were generated based on an edge detection algorithm. If I don’t do that the look is quite different. I also scaled down the impact of the heightmap a little and changed the specular exponent.
But I don’t plan to experiment with the values all day At least I think it doesn’t look that much like plastic (but that is rather subjective).
The weird egde in the last image on the left is a problem with the model conversion. I know what it is and how to change that, so don’t wonder.
-
You should check out Limit Theory. The guy’s managed to create some fairly nice procedural hull textures, and it’s only WIP.
-
I wonder what the base textures used in the shattered worlds mod would look like with normal mapping, always preferred them anyway.
-
On something like this, with the vanilla or vanilla style textures, the major paneling, the big shapes, should be on the normal map. The smaller plate details, the generic repeating ones, should be done via very VERY faint appearance on the normal map, and plate-style specularity. What I mean by that, is that on the specular map, every plate should have a hard edge and varied specularity, similar to the plating in this image -
By heavily varying the speculartiy between highly reflective and matte, you can create additional depth information without overlapping normals, which look really bad, as demonstrated by the earlier screenshots.
-
@Alucard: Nice offer! I think I will come back to it as soon as I am sure what exactly I need (for now I am testing that out).
I added self shadowing of the textures (approximative), made proper heightmaps (was just a quick conversion) and fixed a weird bug, which I need to investigate further, which led to wrong rendering of the parallax mapping in one axis.
Note: Only 3 textures have self shadowing yet.
I think it looks quite better, but maybe it is too much height
-
-
Thanks for the nice picture The feedback I got was quite helpfull, yes. Although some of the changes I had planned anyway (e.g. for self shadowing I needed proper heightmaps). But it helps a lot to get other peoples perception in perspective.
DirtyLittleGirl wrote:
Now you only need to carefully texture the station to make good edges between textures.
Well, that’s were my job ends I don’t plan to do everything ^^
-
Well done on getting all this stuff working Schmack, no small feat it should be said!
-
Well, I don’t want to misuse the thread so here are my last screens for now:
Again, it is a different self shadowing technique (I also made some more proper heightmaps)
I also really have to get back to university stuff. There is still a lot polishing to do, so no exciting screens anyway. Don’t expect a release soon, since I also have to test on other graphics chips.
For now I am quite happy with the result What do you guys think?
-
I have replaced the two screens with ones where I have converted nearly all the textures. I think it helped the overall impression a bit more.
I’ve also added a third one where I noticed that it looks really nice.
The next step would be adding real shadows, but that’s a topic I better not talk about, since this means much more work as I have done for now. So no promises.
Hope you guys like it so far, as always I appreciate feedback so that I can get an impression what people like and what not. And I should really be doing something for university, really!
-
Dude, its awesome!
I know its hard to leave the modding when you bite so hard to finish that what is on your mind, but turn to Uni stuff. The FL can wait and will be always here!
BTW, Where is the limit for total upgrades that this game still can accept? :evil: -
Hehe, yeah it is hard. For me especially with graphics programming.
I think it looks quite good, too, but there still could be this and that and …
I guess the limit depends on the time you are willing to invest. I decided that I don’t want a long development time on it, so I won’t push it too far. Although with OpenGL I am not limited to this DX9, 10, 11 etc classification (even on Win XP you could use DX11 stuff if the driver supports it). Maybe I will use geometry shaders (DX10 stuff), but that is still out in the open. Would be optional anyway.
-
Hell yeah! I’m actually thinking that Open GL is the best. No limits!
By the way, with OpenGL, can you choose the texture filtering method?
-
Yes, of course you can set it Would be a little bit weird if you could not. It is on a per texture basis, though. This includes anisotropic filtering.
The texture filtering right now is already better than with the original d3d8 rendering path. I always force anisotropic filtering on driver level, so it is the mipmap filtering which is not identical. This is a topic I want to do some research on. The question is, whether it is API specific or not.
As for which API is better: If you don’t want to be dependent on the OS (like me), then there is no question. If you are a pure OOP fan (not like me), then you will most likely prefer DX (although that comes with a performance price, like Valve noticed with their D3D to OpenGL wrapper (the latter was still faster)). I am also hoping to get the rendering path faster (it already slightly is, but it is debug build plus nearly no optimizations). And of course there is the issue with the DX level restrictions, which I think is a huge disadvantage. ATM OpenGL 4.2. even supports slightly more than DX11.1 (but I think this is not really relevant). You could argue that the drivers for DX are more polished, but I think with more and more games having an OpenGL rendering path this is getting better and better (I never had any issues).
-
OpenGL is slower than DX but the quality is really better, I’ve just experienced this with Dolphin emulator, thin beams are really better rendered in Metroid Prime 2.
When I said texture filtering, I asked if you can use images upscaler like Genuine Fractal or S-Spline Max. It could make all textures have sharp edges.
-
Here are the numbers: http://blogs.valvesoftware.com/linux/faster-zombies/ A follow up on that article would be interesting, though.
For a real comparison, you have to make absolutely sure that you are rendering the same. So e.g. if you get different images you cant compare the fps.
The way you want to have textures filtered can only be done per shader and that is not a question whether DX or OpenGL. They are both just APIs for the same purpose with a different design philosophy.
Anyway, I think we are getting offtopic here.