Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

FPSC Classic Product Chat / Experiments with FPSC Normal Mapping + Shaders ..... Visually Documented

Author
Message
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:48
Ok

This thread is going to be of interest for novice to intermediate FPSC users thinking about using normal mapping and shaders in order to fundamentally improve the graphics of their game.

I decided for testing purposes to take 2 completely standard free textures from a texture resource site and see what kind of impact normal mapping and shaders could have on them and their usability in an FPSC game.

I've decided to present my results in picture format with brief comments as I think when it comes to things like textures and graphics, a picture speaks a thousand words and saves me writing loads of info about them.

This will be done in 8 parts / posts which I am going to upload now. Please wait until the 8th part has been uploaded before posting in order to try and keep the thread tidy.

Many Thanks
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:49
Part 1: Take a couple of free standard textures

This first screenshot shows the 2 standard textures I obtained from a website and how they look in FPSC with no additional texture mapping or shaders applied.

Not terrible but a bit flat and ordinary looking

Attachments

Login to view attachments
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:49
Part 2: Making a normal mapped segment with 2 textures

Next I have gone away and created a couple of normal maps from the original 2 textures shown in the part 1 and then made a full normal mapped room segment using the FPSC internal segment editor development tool.

As you will see the room is now looking much nicer and more usable. Hopefully the settings in the editor tool will be viewable but text may be unclear due to the jpeg format of the images

Attachments

Login to view attachments
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:50
Part 3: Using your new normal mapped room segment in FPSC

Ok now we can see how the room segment looks once imported into FPSC.

Pretty nice when compared to the screenshot in part 1 considering exactly the same base textures are being used and at this point things are looking up

Attachments

Login to view attachments
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:51
Part 4: Using entities rather than segments to build the room

One of the most common things I see on normal mapping threads is that it is better to use entities rather than segments for normal mapping although I don't recall seeing a definitive answer

So here we see exactly the same texture maps being used for an entity floor and an entity wall to build the room and all is still well

This screenshot is interesting when compared to the last segment version because whilst the normal mapping is present in both, there is a noticable difference in colour and contrast between the two.

Attachments

Login to view attachments
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:52
Part 5: Introducing a light source into a normal mapped room segment

Ok now I introduce a light source into the room and we experience our first problem. When the level is built again, only the floor is rendered correctly with light sources, the walls are now completely black and show no texture at all

Note: I am using the bumpent.fx shader on all surfaces at this point

Attachments

Login to view attachments
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:52
Part 6: Changing the shader used to try and resolve light problem

Ok so now I think let's try a different shader so I change the shaders for each of the room surfaces in the segments .fps from bumpent.fx to bump.fx

Now the walls are rendered with light sources and the floor is rendered but the normal map has not been rendered correctly

Attachments

Login to view attachments
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:53
Part 7: Introducing a light source into a normal mapped entity room

As a final attampt to have a fully normal mapped room with light sources working correctly I go back to my normal mapped entity wall and floor.

When I build the level this time I get the floor and walls rendering with normal mapping correctly but the light is effecting the environment at a per segment level i.e. not at a per pixel level which winds up giving you a bunch of room segments that are lit differently but not properly as shown

Attachments

Login to view attachments
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 23rd Apr 2007 23:54
Part 8: Conclusions

+ FPSC segments do work with normal mapping and shaders
+ Normal mapping and shaders can fundamentally improve the graphics of your game
+ Entities also work fine with normal mapping and shaders although there does seem to be a noticeable difference in visual fidelity

- Introducing a light source causes rendering issues with normal mapped segments
- Introducing a light source lights entity walls and floors but not at a per pixel level
- No light sources means no full lightmapping or shadow mapping to give your FPSC game a professional finish

I hope that this thread will demonstrate to people interested in using normall mapping and shaders what the pros and cons are from another FPSC users perspective.

Also if any of the more advanced users can cast some light over the above results and findinds I think that will be beneficial to all.

I would especially like to know if anyone knows how to introduce a light source into a room made up of either normal mapped segments or entities and get everything to render correctly and at a per pixel level.

Thanks All
Butter fingers
18
Years of Service
User Offline
Joined: 20th Mar 2006
Location: Mecca
Posted: 23rd Apr 2007 23:58
nice. I'm going bald trying to figure them out too. THis saved me a few hours of experimentation , so cheers.

As a point, your normal map looks reversed on the wall i.e. the cemet is poking out and the bricks are sunken....surely it should be the other way?

fallen one
18
Years of Service
User Offline
Joined: 7th Aug 2006
Location: My imagination!
Posted: 24th Apr 2007 03:30
Quote: "Now the walls are rendered with light sources and the floor is rendered but the normal map has not been rendered correctly "


I have had that with the sci fi segments. i thought it was just me.
Nomad Soul
Moderator
17
Years of Service
User Offline
Joined: 9th Jan 2007
Location: United Kingdom
Posted: 27th Apr 2007 00:09
Quote: "nice. I'm going bald trying to figure them out too. THis saved me a few hours of experimentation , so cheers."


Your welcome!. I'm still working on this because I think its going to be essential to get FPSC graphics a little closer to what we are used to seeing in commercial FPS games.

Quote: "As a point, your normal map looks reversed on the wall i.e. the cemet is poking out and the bricks are sunken....surely it should be the other way?"


I think the walls are being rendered correctly for segment walls (part 3) just not for entity walls (part 4).

Quote: "I have had that with the sci fi segments. i thought it was just me."


Afraid so. Unfortunately I don't think this is going to be a weekend job to sort out either.

I've exchanged emails with Lee about this now and he has filed my findings and FPSC files away in his X9 work folder for testing once X10 has shipped. These are the main 2 points from Lee's reply other than that

1. I can say the lighting model for V10X shaders is not great, and can only use one light source which is pre-decided for you

2. Any shader would you do up until I can help more would have to remain trial and error alas, but there should be some nice tricks you can get away with, even with only one light

Point 1 makes sense looking at my screenshot in part 3 as whilst there is no light source in the room, the segments appear to be lit because there is a default pre determined light source being used from within the shader file itself. This also explains the rendering issues caused when additional light sources are introduced to the scene.

Point 2 is a bit more positive and looks as though it is going to be a case of learning a bit of HLSL (High Level Shading Language) in order to make custom .fx files to determine how normal mapped sections are rendered in game. I've downloaded FX Composer from the Nvidia developer site and imported the 'bumpent.fx' shader into it which I am amending and testing with at the moment. You could always just try amending the stock .fx files in notepad and see what results you get like with .fpi's.

Also I have decided to release the normal mapped segment room and entities shown in this post so that anyone interested in development with shaders has some FPSC ready files to work with.

I'm sure there won't be the single light source limitation with X10 shaders but it would be nice to make use of this feature in X9 as well. Like with most things in X9 the stock media is there to get you started but ideally you need to produce your own. This appears to apply to shaders too.

It would be nice to hear if anyone else has tried amending or writing their own shaders for X9 and had any success. I will update this post as and when I have made any progress.

Attachments

Login to view attachments
JroX
17
Years of Service
User Offline
Joined: 11th Apr 2007
Location:
Posted: 1st May 2007 00:37
Just wondering if you've had any updates since your post Nomad..? I've been going crazy trying to get all the normal maps to work and render correctly!

fallen one
18
Years of Service
User Offline
Joined: 7th Aug 2006
Location: My imagination!
Posted: 1st May 2007 03:36
I had a go with some of the shaders from DB, some actually worked, but I think I may of placed the files wrong as they worked in the segment editor but not in the game engine, they didn't show once placed in the editor, I wanted to get the parallax shaders working, but to no avail, though I believe it uses 3 maps a normal and greyscale, though I always though parallax needed 2 cameras, I don't find normal maps to work at all in fpsc, it makes the tex look different, but there is no depth to it, its completely flat, you move around and it doesn't change either, it just looks like slightly different texture, so I figured they just didn't work.
JroX
17
Years of Service
User Offline
Joined: 11th Apr 2007
Location:
Posted: 1st May 2007 05:45
Fallen One - Which of these shaders worked that you tried in FPSC? I would be definitely interested in trying some alternatives to the stock ones. I find that the stock ones ARE working when I use them in game, but not properly. I always end up with results like Nomad's findings.

This is really holding me up from doing what I want to. Ever since I first saw how much normal mapping improves boring old 2d textures in fpsc I was excited and so motivated to create my own content. Without it everything seems so bland looking and boring.

I've heard it's also possible to 'bake in' effects, in some sort of what I assume to be preprocessing of the textures in order to add either more detail or lightmapping..? Can anyone elaborate on this?

Thanks!

I feel like you're eyeballin' me, dawg!
fallen one
18
Years of Service
User Offline
Joined: 7th Aug 2006
Location: My imagination!
Posted: 4th May 2007 02:10
Quote: "Fallen One - Which of these shaders worked that you tried in FPSC?"


Cant remember, do a search for shaders, take the ones from DB and try them, someone did a big pack that had loads in them, I havnt looked into it lots as Im doing a game that doesnt use them, well not strictly true I may use a cell shader, but depending on performance I may just use the reversed normals trick with a black model.

Some shaders do work, but you have to mess with them, I think some may require extra textures to make them work. have a go with them and see what happens.

Login to post a reply

Server time is: 2024-10-09 11:22:35
Your offset time is: 2024-10-09 11:22:35