Slashdot Mirror


Blender Adds Raytracing

rastachops writes "Blender, the Open Source 3D modelling tool has recently added Raytracing to its extensive list of features. 'Believe it or not, but Ton has integrated the raytracer from Blender's predecessor, Traces into Blender. He said "the algorithm has been optimized and is now ten times faster. Combine that with a PC that's forty times faster than in the early 1990's and raytracing is almost usable". For a comparison checkout the before and after screenshots.'"

11 of 233 comments (clear)

  1. Re:What's the use? by shamilton · · Score: 4, Informative

    Raytracing is *the* elegant solution. Rasterisers use smoke and mirrors to achieve the same effects. Often those tricks are not flawless -- for example, you often see a smoke or explosion texture intersecting with nearby walls, creating an ugly edge. This is not the kind of thing I would want to see in a production movie, but in a game, it's not so rough.

    --
    "[A] high IQ is like a Jeep; you will still get stuck, just farther from help!" --Just d' FAQs, c.g.a
  2. Re:Comparison by woodhouse · · Score: 4, Informative

    The lighting is the same, they're just different sizes. I think the differences are pretty obvious though: the scanline-rendered image has no ray-traced reflections, and the shadows all have soft edges (presumably because they're shadow mapped).

  3. Re:Blender is getting mature by Exiler · · Score: 4, Informative

    In 2.3.

    Actually there's been an undo feature for a long while, it was just clunky and unwielding before...

    --
    Banaaaana!
  4. Mirror by linux_warp · · Score: 5, Informative

    Blender.org was being hit hard so I mirrored the before and after pictures on my website, mindwarp.net

    Before
    After

  5. Info: The monkey on the picture/other stuff... by Qbertino · · Score: 5, Informative

    FYI: The monkey on the pictures is called "Suzanne" - she's a girl - and is the mascot of blender. This year the Blender "Suzanne" awards got handed out as a small bronze statuette of the very same shape you see rendered on the pictures.

    Further down somebody talks about more features (shader, etc.)
    This was a big issue with the 'future developement talks' at the blender conference this year. Software design issues were discussed and different approaches were evaluated. This years suzanne animation award winner has designed a shader tool that will be integrated into / act as a interface/usability reference for the big blender 3.0 redo. Which will have a shading enviroment integrated. Some other major parts of the new stuff will probably make extensive use of the Yafray raytracer and the basic design that went into it.
    Far out dreaming into the future led to considering a solid interface to the OSS crystal space 3D engine as to bring back the closed source realtime stuff into blender and provide a professional editor and design tool for crystal space.
    The problem with that is that CS has a totally different structure than recent and current realtime solutions in blender, so this only is an option after the big Blender 3.0 redo that will shed all the dirty hacks and establish a solid software design to the Blender codebase.
    So goes the plan for blenders future.
    Can't say no to this karma-whoring, can you? :-)

    --
    We suffer more in our imagination than in reality. - Seneca
  6. Re:What's the use? by Spy+Hunter · · Score: 5, Informative
    Raytracing is not THE elegant solution. It is one of many methods of rendering. It is very hard to simulate realistic global ligthing effects using raytracing (soft shadows and light reflecting indirectly off of other surfaces in addition to light coming directly from a light source). For example, take this image. You might think that's a fine raytraced image. But then compare it to this image, produced with radiosity. I think you'll agree that the second image looks *much* more real. Note the subtle shading across the back wall and ceiling, and also the way it is a little bit darker where the walls and ceiling meet at 90 degree angles. Effects like that would be nearly impossible to reproduce with raytracing, and don't even think about real-time rendering. Pictures like this really show how far real-time rendering has to go before it actually looks like reality.

    Radiosity isn't *the* solution to rendering either. There are a whole range of lighting effects we see in daily life, and even radiosity only simulates some of them. For example, caustics (the funny patterns of light on the bottom of the pool). Even more general approaches to simulating light are being researched, but I don't really know if any of them are in use commercially yet.

    Also, in case you were wondering, Quake/Unreal/etc actually use radiosity rendering as part of the map making process, then store the results in "light maps" which are basically textures that control how light or dark a wall is instead of its color. Pre-computing the lighting allows real-time rendering of nice levels with radiosity effects, but it has several problems. Firstly, light maps take up a lot of memory (there's one for each wall, while most other textures are used on more than one wall and are tiled repeatedly), so they are stored at a pretty low resolution to minimize memory usage. This produces a blocky "stair-step shadow" effect that you've probably seen if you've played Counter-Strike. Secondly, since all the lighting is pre-computed, you can't change it easily. If you want a light to turn on and off, you have to store two light maps for every wall affected by that light: one with it on and one with it off. This is why in most games where you can shoot out lights, there are only a select few that you can shoot out. This approach has even more trouble with moving objects or moving lights (flashlights, car headlights, explosions, muzzle flashes). Real-time OpenGL or DirectX style lighting is usually used for these types of lights and moving objects, but then you don't get the nice shadows and other lighting effects that radiosity gives you.

    --
    main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  7. Before and after pics - a graphics point of view by Adam_Trask · · Score: 4, Informative
    Comparing the before and after pics is like an apples-to-oranges comparison. It is technically not "before and after". It should instead be called xyz rendering and ray-tracing. Depending on what the xyz rendering method is, the picture quality will vary. The reflections etc. that can be seen in the ray-tracing image can be reproduced (not exactly, though) using methods like environment maps.

    I am not trying to put down the quality of ray-tracing though, it is the best. Others try to simulate ray-tracing. But folks rarely use ray-tracing in interactive settings (like gaming). Unless you can play at less than 1 fps.

  8. Re:What's the use? by Animaether · · Score: 5, Informative
    Even more general approaches to simulating light are being researched, but I don't really know if any of them are in use commercially yet.

    We make a commercial renderer ( Brazil r/s ), and I can safely say "Yes" to that one.

    Most of the commercial renderers, either specific or coming with an application, support global illumination through the use of Quasi-Monte Carlo sampling.
    It, in essence, does calculate everything accurately - as long as you set the scene up as such.
    It's also stupid-slow :)

    That's why there's Photon maps, Irradiance Mapping, metropolis light transport, and even more simple constructions such as highly optimized skylighting, arealights/shadows and so forth and so on.
  9. Hybrid Renderer by dcuny · · Score: 4, Informative
    Actually, the beta that Ton posted is a hybrid renderer. It's still primarily a scanline renderer, but you now have the option of using raytracing for shadows and reflections.

    Ton's had the raytracer written for some time now, but it never got incorporated into Blender. The preview is the first to incorporate the code.

    You could already do shadows and reflections in Blender, but they were simulated with shadowmaps and reflection maps, the same way that Pixar's Renderman renderer had done it.

    • Worthless trivia: Renderman only recently acquired raytracing - for the few times that it was actually used, they used the BMRT (Blue Moon Rendering Toolkit), a raytracer developed by Larry Gritz. Larry quit Pixar and formed ExLuna, which marketed another Renderman compliant renderer. Pixar sued ExLuna for IP infringement (the exact details are hazy, since they came to an out of court agreement), ExLuna was bought out and all the renderers (including BMRT) disappeared. Soon thereafter, Pixar's Renderman added raytracing support. Still, full raytracing is used in Renderman quite sparingly.

    The Yafray (Yet Another Free Raytracer) is a stand-alone full raytracer with a lot of features that has nice integration (thanks to Python scripting) in Blender. Future versions of Blender promise to integrate it more tightly, and seems more likely that's where a 'full raytrace' option for Blender will come from.

  10. Undo in Blender 2.3* by barista · · Score: 4, Informative

    AFAIK, it only works in Edit mode, but you can use it by either hitting the U key, or by hitting the spacebar and in the pop-up menu go to Edit, then Undo.

    It's quite useful, and you can also set how many levels of Undo you want. You can also set it to auto save every so many minutes.

    The Blender documentation is ongoing, but they are coming out with a new 2.3 manual in January. 600+ pages and Blender 2.31 on a CD, along with tutorials.

    Check out blender.org for the main site and some useful overviews. To really hone your skills, visit Elysiun and browse the forums. They are all about Blender and have sections for animation, modelling contests, GameBlender (Blender 2.25), and an extensive artwork section. To me, Elysiun is a great place to learn about different aspects of modelling in Blender.

  11. Blender is going places by UglyMike · · Score: 5, Informative
    Don't forget.... there is a new 600-page book coming out end of this month. This has the new GUI but not the Raytracing part. There is also a Japanese book currently in print. Details on Blender.org

    Copies of the 2.0 Blender book can still be fond in some shops or simply downloaded as a PDF (of course, this one doesn't cover armatures and has the 'old' interface) There is also a newer documentation project using the 2.0 guide as base but completely reworking the obsolete content. Of course, there is also a truckload of tutorials available on the Net

    Since the move to Open Source, Blender has gotten, amongst others

    • internationalisation
    • way better meta ball implementation
    • knife tool
    • raytracer (reflections&shadows)
    • completely reworked GUI (and still changing)
    • a newer, better Python API and plenty of great scripts ( Fiber2, MakeHuman,Tesselate,...)

    These are just my favorites. There is tons of other stuff as well.
    In the coming weeks/months, we'll see

    • Beast script (including card-based fur just like IceAge)
    • better nurbs based on Nurbana
    • integrated bevel tool (script-based bevel already exists.)
    • Integrated REAL raytracer (YafRay)
    • further tuning of the new GUI
    • ???

    And the whole thing runs on most of todays's OSes
    As you can see, lot's of stuff to go around. It might not be Maya or SFX or Houdini but it sure is a lot more fun!!!
    If your first encounter with Blender's non-standard GUI made you trow up your hands in disgust, you should consider to try it again.