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.'"
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
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).
In 2.3.
Actually there's been an undo feature for a long while, it was just clunky and unwielding before...
Banaaaana!
Blender.org was being hit hard so I mirrored the before and after pictures on my website, mindwarp.net
Before
After
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
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?" `":" #");}
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.
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.
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.
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.
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.
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
These are just my favorites. There is tons of other stuff as well.
In the coming weeks/months, we'll see
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.