Spent most of the day improving a central command called INTERSECT ALL which is used by both enemies and the player. The old implementation was good enough, but given it's heavy use and it's tendency to create performance spikes, I decided to implement some better ways of doing the same thing.
The new system first collects all the collision boxes that are touched by the ray, and then sorts them by distance, and only then does it go through the polygons associated with each box. This way I get very early exits when the ray does not pass through any boxes, and a minimal traversal of polygons when it does hit something. Thanks to the internal team for their ideas on this, and it definitely solved the performance spike issues.
I was set to do some work on explosion improvements, but the decision was taken to spend two more days on visuals next week, namely TONE MAPPING and AMBIANCE FROM SKYBOX which will combine to create a better light balance in the scene. My minor concern is that both of these might require a small performance hit so it will be interesting to see what the trade-off and benefits are when these techniques have been implemented. The good news is that FPSC Classic had a sort of tone mapper shader, so I will be looking to dig that out as a starting point.
Sorry, is that EAI weapon tweaked for reloaded? Is this a hint at something?
ReplyDeleteYes indeed, I am working with EAI to improve the weapon system. This weekend I added support for illumination maps so you can have glowing things on your guns. He's also helping refine the 'feel' of the guns too so watch this space for more armory news!
DeleteThat all sounds freaking awesome!! I'm SO excited that EAI (who I've never heard of but assume created the really cool weapon packs for X9) is helping make guns feel better! And glowmaps are ALWAYS appreciated!
DeleteEven if it does have a performance hit, hopefully if it's implemented well enough it will make the visuals more appealing.
ReplyDeleteAfter all, rendering anything at all is a performance hit.
My gut feel is that the tone mapping hit will be minimal as bloom is already doing a lot, and the skybox ambience adds an extra texture ref to ALL shaders so this might be the one to think out. One idea is to pre-load an array of values into shader constants and use that instead of a texture read. Links to FAST techniques welcome!!
DeleteI am loving the sound of tone mapping (always liked that effect) and I'm not worried at all about it being slow. AFAIK tone mapping should be one of the fastest fullscreen effects you can do. And ambient lighting from the skybox should be mostly precalculable, should it not?
DeleteI'll see if I can find a link to a good tone mapping shader...
Ok, I know I've said this before, but Valve's slides can be very, very helpful in getting your head around how something might be done, and also PROVE that the graphics I want were done perfectly back in 2004 on 2004 hardware. There's no reason whatsoever that Reloaded should be having this much trouble with performance.
DeleteThe following PDF link is one of Valve's slides from 2006, giving examples and comparisons of the different methods they took to achieve the graphics they got:
http://www.valvesoftware.com/publications/2006/SIGGRAPH06_Course_HDRInValvesSourceEngine_Slides.pdf
hello
ReplyDeleteI have a idea why not find a level created in unreal or cry3 and reproduce it in
fpsc reloaded so people can get a better idea of fpsc reloaded power and stuff.
Yes that would be great, I just need a volunteer. I recommend a simple scene to start with, maybe a few objects in the scene and an FPS run around mode and then reproduce in Reloaded, and to a side by side comparison :)
DeleteIt is an excellent suggestion - create a good-looking level in a AAA engine, then attempt to create the same in Reloaded and compare them. Obviously Reloaded isn't meant to be AAA but it would show up any glaring issues. I'll see if I can do this myself as I have a fair amount of experience with this sort of thing and I'm always going on about how bad Reloaded's graphics are :P
DeleteAlso, Lee - how about I suggest something incredibly useful for you:
ReplyDeletehttp://store.steampowered.com/hwsurvey/
It's Valve's massive hardware survey they conduct frequently. It shows basically what millions of people are using and also what the minorities are so you have a near-perfect idea of what computers people have.