Jump to content

  • Log In with Google      Sign In   
  • Create Account





Quick screens: triplanar normal mapping

Posted by CC Ricers, 10 March 2013 · 965 views

normal mapping graphics engine
Quick screens: triplanar normal mapping Making a short update this time. I finally have triplanar normal mapping working how I want it to. The following screenshots show normal mapping being used on the cliffs, with the same methods used to calculate steep areas on the terrain.

Without shadows or post-process FX, the view in the first screenshot takes about 9-10 milliseconds for one frame using forward rendering and 4x MSAA, and 16 ms with deferred rendering. Shadow mapping remains a big GPU-heavy step, taking up to 25 ms in the process.

I also achieved my goal of making the forward renderer's output indistinguishable from the deferred renderer, at least without shadow support (the shadowing code has still not started for the forward renderer). The program can be written in a way to make both renderers switchable on the fly, which is useful when many dynamic lights enter the scene.

Edit: Some more screenshots, with better textures. These are free textures from FilterForge.

Posted Image

Posted Image

Posted Image

Next, I'll be starting the terrain editor in raising and lowering the elevation. The engine currently draws the terrain with geo clipmaps which just aren't working well enough for me. I will be switching to geo mipmapping.




Would you mind speaking with Telanor about how you did the forward rendering + differed rendering? Our grass has some serious issues because it is a model with alpha's and because of this has some issues with point lights, and other objects. Any guidance you can provide would be great. I know very little of the mess because of my basic understanding of the system but telanor ( which is his username here ) is the brains behind it. Much like many coders he is socially inept at interacting with people so I have been sent as his envoy! Thanks in advance and I love seeing the stuff you are doing, wish I could pick you up for our project! AHAHA :P

My graphics engine gives the user the option to select either deferred or forward rendering (custom rendering pipelines are possible too) for the entire scene. But as of now they cannot be both used at once, because it's applied to the scene one time. I don't do much alpha blending with textures- nearly all the time I use alpha testing which is how the trees here are drawn.

 

Is this related to Telanor's topic on transparent voxels? I basically clip all pixels with alpha < 0.5 on the pixel shader for the lighting passes. Doing alpha blending just brings up a whole mess of having to correctly set the blending states and reset them for certain objects.

 

The best way I can think of using alpha-blended objects with deferred rendering is to draw them after the proper deferred rendering pass. You draw your opaque pixels first in the deferred pass. Then do a pass that restores the depth buffer. After that, draw your transparent stuff. However you mentioned the need to work with point lights. My initial thought is to combine the light buffer with the blended rgba color of the transparent pixels. May not be perfectly accurate but it could be worth trying.

October 2014 »

S M T W T F S
   1234
567891011
12131415161718
192021 22 232425
262728293031 
PARTNERS