It looks like you're using an ad blocker! I really need the income to keep this site running.
If you enjoy BlenderNation and you think it’s a valuable resource to the Blender community, please take a moment to read how you can support BlenderNation.

Google Summer of Code: Faster Ray Tracing

23

Google Summer of Code: Faster Ray Tracing google summer of code Chris Want reports on the impressive improvements in Blender's ray tracer by André Susano Pinto.

Chris writes:

Returning Google Summer of Code student André Susano Pinto (a.k.a jaguarandi) has been working on improving Blender's ray tracer, mentored by coding god Brecht Van Lommel.

André has recently posted some speed up results from his project:

http://wiki.blender.org/index.php/User:Jaguarandi/SummerOfCode2009/TestScenes

Ray tracing is an arcane art, so I asked veteran coder Daniel Genrich if he could help explain how André achieved his impressive results, in terms that anybody can understand. Daniel says

"He switched to special BVH's using adaptive children count, exploiting raycoherence using hints/LCTS, SIMD at the end. He's using self developed heuristics to build trees and reduce the expected number of bounding box tests by about 20%. He calls his BVH's "VBVH" and "SVBVH". VBVH is much slower than SBVH when using non-SIMD."

Well, that certainly clears things up for me! :)

To learn more about the details of the André's project, please check out the project proposal and the weekly progress reports for this project:

http://socghop.appspot.com/student_project/show/google/gsoc2009/blender/t124021852044
http://wiki.blender.org/index.php/User:Jaguarandi/SummerOfCode2009/WeeklyReports

You can checkout André's SVN branch here:

https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-jaguarandi

Feedback on the project can be posted to the 2009 Summer of Code mailing list:

http://lists.blender.org/mailman/listinfo/soc-2009-dev

Share.
  • Big Fan

    wow impressive results - great project - thanks Andre

    unlike @bart I will just have to settle for acknowledging it works...somehow..

  • http://joshua.worth.id.au/ yokljo

    wow. that is incredible! some of those are up to 3000% faster! its nice to know that that thing that makes renders really slow with large polygons in the background is fixed. now ill be able to stick a huge plane as a floor without having to worry about slowing the render down! im so happy :D

  • http://www.blendercross.org madturtle

    Thats an improvement!!! Great work!!!
    ...nice that by all the great Stuff that will come with the 2.50 the internal render was not forgotten.

  • Jeroen Bakker

    Great work! Still I have a question on the performance measurements.

    Is a figure bigger than "100% faster" not weird? I suppose it is not meant to be read as percentage faster than the original render time :) but as the original render time is 100% slower (takes 2 times the time to render).

    Even so I really like to see how much time a bbb frame takes :)

  • @ndy

    Jeroen Bakker: BBB didnt really use a lot of (hardly any) raytracing though. i don't know how much the speedups will affect it...

    nevertheless impressive development, thanks to André!! :)

    .andy

  • txrx

    Awesome work!! Wow, any chance of a merge into the 2.5 build? ;~)

  • thetinytoon

    very impressive results! Are those examples really xxx% "faster" (meaning 100% being twice as fast as the old raytracer)?

  • Nixon

    awesome work,
    I'm sure pimping a raytracer is very high tech, top-notch hacking.
    Gotta admire everyone that allows the users to get better, faster or more complex results due to their effort that they put into this software.
    I bow down before everyone in the coding section.

  • http://3d-synthesis.com ROUBAL

    Yes, Very impressive work ! Thank you for improving the raytracer.

    @thetinytoon :

    In my opinion, 100% = x1 = no change. 200% = x2 ; 300% = x3 ; 3000% = 30 x.

  • http://www.artificial3d.com @ndy

    offtopic: oh that's creepy, somehow my post got hacked by a spambot, the last line (and the website address obviously) is not mine! O_o

    .andy

  • http://www.blendernation.com Bart

    @ndy: Oh! Sorry, I saw the post in the spambox and thought it was yours so I restored it. I'll edit the crap out :)

  • Loh

    results look good I wish that that as mentioned before the improvement were listed in a more transparent way. % faster is very un intuitive. % reduction would be better so that 0 is no reduction, %99 would mean one one hundredth the time. %100 faster I think means that there is no change but that still in english sounds like is one. time = original_time(1/%faster(

  • EagleWing

    @Loh that would make sense

  • http://www.youtube.com/robbielosee Robbie Losee

    Having used POV-Ray (Persistence Of Vision Raytracer) before learning of Blender, I gained two impressions of raytracing: (1) It makes lighting more realistic and (2) It makes rendering complex scenes as slow as molasses in Alaska. I use raytracing a lot and I can't wait to try the faster version! Great work!
    (P.S. This is not at all a criticism of POV-Ray - I have been using it again recently and it is an amazing program.)

  • mamoru

    I still remember rendering a shiny sphere on a reflective checkerboard floor in POV on my 286, took 18 hours to get the first image.
    Ah, the good old days.

  • http://www.blendercross.org madturtle

    mamoru :
    "I still remember rendering a shiny sphere on a reflective checkerboard floor in POV on my 286, took 18 hours to get the first image.
    Ah, the good old days."

    ....yeah, and the cpu was hot-glowing for next days ;)
    Was the time as i wish to get a 40meg Harddisk into my 286 case. "40 Megabyte Harddisk?!?!?!? You never fill it up with data.What you want with that?????" comment by an specialist in an CompuStore.
    -Ah, the good old days.- Yes but i don't miss it if i see what we can do today with blender!

  • claas eicke

    any win or os x build here?

  • http://home.deds.nl/~mp/ ysvry

    great faster renderer is always welcomed as long as the picture quality stays the same.

    that fruit bowl looks kinda familiar:

    http://www.sub7th.com/tutorials/fruit/

  • http://www.thoro.de thoro

    Great news! Can't wait to try a Windows build...
    There seems to be an OS X build at graphicall.org.

  • http://www.zanqdo.com ZanQdo

    That explanation by Gensher is priceless!

  • http://accelermedia.com 3D Animator

    Fabulous results! I hope it get's integrated soon. :) Anyone know when it will be integrated?

  • timinteo

    Their seams to be some confusion over the percentages. To clear things up 100% FASTER would be twice as fast because you have the original 100% plus a additional 100%, 200% Normal Speed = twice as fast (0% increase + original 100% = 100% normal speed). 3000% faster would be 31x (3000% increase + original 100% = 3100% normal speed).

    Loh had a good idea with reductions but I think the calculation would be a hair different, time = original_time(100/(%faster+100)). 100 percent faster would be original_time(100/(100+100)) => original_time(100/200) (1/2) original time.

    or by percentage reduction = (100 - (10,000/(100 + percentage increase))) .(0 percent increase would be 0 percent reduction) A 3000% increase would be a 96.8% reduction in time.

  • http://portfolio.joeri67.nl/ _joeri

    Lets keep it english:

    It takes 5% of the previous time?
    Its 20x faster.

    It takes 90% of the previous time?
    Its 1.1x faster.

Share.