Neutron Engine

fully multi-threaded next generation 3D engine

Thursday, November 26, 2009

Real-time global illumination

I already mentioned in one of the earlier posts that Neutron engine will have a real-time global illumination solution so here it is! The algorithm is based on ’surfels’ - point lights with area and it requires DirectX 10/11 features to run (geometry shader and stream out). The following video shows a scene which is lit dynamically, notice the bounce of green on walls and the test sphere as it moves around. The video was captured on Intel Core 2 Quad Q9300 and NVidia 8800 GTX which is really a low spec machine for the next gen engine like this. This basically wraps up the work on rendering pipeline, the next step is the tech demo which will show the engine’s full potential.

posted by admin at 10:01 am  

Monday, October 19, 2009

Improved Global illumination

While ago the first global illumination solution was added to the Neutron engine. The new improved GI now supports instanced geometry so it can be used outdoors as well. It’s based on radiosity volume which holds spherical harmonics coefficients and radiance captured from various directions. This approach is quite accurate since radiance capture pass takes into account all the occluders in the scene but as a consequence it does not run at real-time speed. Other approaches which run at real time speeds use VPLs (virtual point lights) and have little or no occluder information so they produce some artifacts due to light ‘leaks’. Neutron engine will soon have 3 solutions for GI: SSDO, static more accurate GI and real time but less accurate GI. The following video demonstrates the difference in rendering quality based on used approach. Note the bounce of green light on rocks and wall, also note how shadow is darker deeper inside the bush. Also, please note that for the purpose of demonstration the radiosity amount in the video is higher than normal and scene appears a bit darker than what it would normally look.

posted by admin at 9:41 am  

Thursday, August 13, 2009

Engine Logo

I forgot to mention that we have a new logo for the engine. Here it is, comments are welcome :)
neutrone_rev02

posted by admin at 3:44 pm  

Thursday, August 13, 2009

PhysX

After a while we are back with some exciting news. NVidia’s PhysX is fully integrated in Neutron engine with all it’s features! The following video shows some of those features in action (static/dynamic bodies, tearable cloth, soft bodies and joints). All other features (wheels, ragdolls etc) can be easily integrated down the line as needed. As usual all HD videos are at http://www.youtube.com/neutronengine

posted by admin at 3:29 pm  

Saturday, July 18, 2009

DEMO: Storm

Storms look cool, so why not add one to the engine :) Lightning and thunder generation is a part of dynamic weather system and it can be controlled like any other environment parameter over 24h cycle. The following video shows one possible scenario where storm forms after slightly overcast morning. For HD version please visit http://www.youtube.com/neutronEngine

posted by admin at 9:40 am  

Saturday, July 11, 2009

DEMO: Dynamic weather simulation

After adding ‘time of the day’ feature next logical step was to add some weather effects. Dynamic cloud generator works with ‘humidity’ factor to decide on how cloudy the sky gets. The same factor can be used to determine when rain starts/stop falling so the weather changes dynamically.  Rain is completely simulated on GPU using geometry shader to convert particle points into rain drops. The following video shows one possible scenario where rain builds up after a relatively clear and sunny morning. The rainfall is light at the beginning with humidity reaching 65% and it gets heavier as we move towards 95% of humidity. For HD version please visit http://www.youtube.com/neutronEngine

posted by admin at 7:20 am  

Monday, July 6, 2009

DEMO: Dynamic time of the day control

Dynamic control of all environment properties in 3D engine is very important. Let’s face it, without it the 3D scene just does not look real. So, the logical step was to improve Neutron engine further and add this feature. All parameters related to wind,clouds,water, sky, fog,sun,moon,starts etc can be tweaked through 24h cycle using a simple editor. The results can be seen in this video, HD version can be found at http://www.youtube.com/neutronengine

posted by admin at 4:25 pm  

Friday, June 19, 2009

Demo: Translucent shadows

Neutron engine supports shadow casting by translucent objects (clouds, smoke, fire etc) but there was no support for seamless blending of solid and translucent shadows. Since the engine renders shadows using the ‘deferred shadows’ approach it was very easy to implement this feature. Results can be seen in this video showing clouds passing over terrain and blending with the solid tree shadow on the ground. HD version is available at http://www.youtube.com/neutronengine

posted by admin at 11:46 am  

Tuesday, June 16, 2009

Demo: Real time cloud shadows

After implementing cloud generator, next logical step was to add real-time cloud shadows. Shadow is calculated by collecting cloud density while ray tracing through volumetric texture. As usual video can be found at http://www.youtube.com/user/NeutronEngine

posted by admin at 6:13 pm  

Monday, June 15, 2009

DEMO: Dynamic cloud generation

We all know that having a great cloud system in 3D engine makes a big difference. So, after finishing LOD system I revisited some old articles about cloud generation and decided to implement my own version. The basic idea is very simple and it’s based on cellular automaton as proposed by Y. Dobashi et. al (http://nis-ei.eng.hokudai.ac.jp/~doba/papers/sig00_cloud.pdf) Clouds are lit using both multiple forward scattering of light and eye scattering (http://www.markmark.net/PDFs/RTClouds_HarrisEG2001.pdf) Rendering is done using 3D texture and simple ray tracing algorithm in pixel shader. Results can be seen in this video which is posted on http://www.youtube.com/user/NeutronEngine


posted by admin at 1:50 pm  
Next Page »

Powered by WordPress