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.'"
Hopefully they add even more usable features to it, like a decent shader... and a better user interface. I still prefer Maya for my overall work, but if Blender is evolving in this same pace. It is perhaps someday possible to switch to a cheaper solution
F/OSS & IT Consultant
Well, at least we've got someone that is being truthful about their software's feature set... A bit too refreshing, if you ask me.
Small potatoes make the steak look bigger.
they still have a long way :)
Compare: www.whitehouse.gov
&
blender.org
Judge for yourself
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).
You should upgrade to a 24bpp graphics card from your current 8bpp graphics card and the banding will go away. Really.
Bite my shiny metal ass.
Oh, you said Blender...
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.
Your raytracing example appears to be using a point light source and not modelling any atmospheric effects, so naturally it looks rather basic. If you use a proper extended light source and set up your raytracer to model the atmosphere properly then it will look much better. If your raytracing program can't do that it's a limitation of that particular program, not raytracing in general. /lot/ more CPU time...
Of course, proper accurate raytracing as I've described will take a
"'I pass the test,' she said. 'I will diminish, and go into the West, and remain Galadriel.'"
- JRR Tolkien.
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.
As a blender user and foundation member I've watched as the features, inovations, and rate of development have gone up since it went open source and GPL last year. We have tons of new python scripts, a new gui that continues to evolve, better rendering...
It's not Maya, but it's on par with anything in the low-mid range for windows, and it's getting better by leaps and bounds
Give Blender a couple years and we might Hollywood contributing code. Hollywood lves Gimp, and I could see this becoming a real player in 3D.
What an odd comment. Even in the relatively early days (I personally started with rev 1.76) Blender has always rendered faster under Linux than Windows. Editing performance was a bit of a problem, since most gfx cards did not support Hardware acceleration under linux. (DRI was a fairly new addition to XFree86 at that time.) Blender is rather 3D graffics hardware intensive (are any 3D apps not?) as it was born under Irix on SGI boxes. However, things have changed. Two of the major vendors of high-end 3D gfx cards now have very good accelerated support either through their own driver (NVidia) or the DRI module (ATI). With the former, performance between Windows and Linux is nearly identical. For ATI users Linux performance can often be better, due to the fact that ATI's Windows drivers are much more painful to configure than DRl (you probably could get better performance from Window's drivers if you spent many many hours tweaking the ATI driver settings). Those two brands of card probably cover 95% of all serious 3D users. Blender is ment to be a proffessional application, not a toy. It has a way to go to be on par with Maya or LW, but even now, as an 80% ready application at 0% cost, it is an excelent tool for beginers, and even many professionals who don't regularly need many of the advanced (and expensive) features of the high end packages. I'll even risk being /.'s http://www.soylent-green.com to see some of my blender work. And I'm not even a power user.
Go ahead
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.
If you guys like blender, you might be interested in another project called Art of Illusion. It is a poly-based modeller and renderer and I have seen some amazing results. It's completely open source (GPL I think) and achieves great performance being written completely in Java. Check it out, and also the other work Nate has done.
http://saveie6.com/
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.