June 12th, 2007 . 17 comments

Previously, I’ve grumpily complained that there aren’t enough people interested in working on Blender’s internal renderer, and so it was only fair that I put my money where my mouth is. I mentioned I’d been doing some coding recently, and this is one of the products of that time: blurry/glossy reflections and refractions in Blender’s internal raytracer. It works similarly in concept to yafray’s ‘conetrace’, sampling a cone of rays around the current pixel to get an averaged, blurry result. The sampling is using a quasi-monte carlo Halton sequence, which Brecht van Lommel previously converted into C code in an old experiment of his, and which he gave me a lot of valuable help with – thanks a bunch, Brecht!

This has been quite an interesting (though sometimes frustrating) learning experience for me, diving into a new area of Blender’s source code for me, and learning about many concepts I was previously unfamiliar with. What I’ve got so far probably isn’t perfect, but I’m very happy with the progress made so far. I’ll post again soon about some of the process and things I’ve learned so far, hopefully in a way that people not used to reading technical SIGGRAPH papers will get some value from. But for now, here are some pretty pictures, and a patch! There’s also a bit of discussion in this thread on, too.

Blurry reflections Blurry refractions

§ 17 Responses to Gloss"

  • Rui Campos says:

    Hey Matt,

    Seems like you changed hoster already …

    Glad to see you coding again, I thought we had lost you to the dark side, guess not 🙂 .

    If all goes well I might start coding for Blender next year too…

    — Rui —

  • Bill says:

    Well done! Reflections and refractions will be much improved with this addition.

    Wicked how you’ve taught yourself how to add stuff to the internal render engine – I imagine it must be quite a beast?

  • Daniel Thul says:


    The most awaited notice !!!!

    Excelent work.

    Congratulations and thank you!!

  • Matt says:

    Thanks, and you’re welcome!

    Bill: Well I had a lot of time on my hands recently, so decided to dive in and try and learn something! It’s actually not as tricky as I thought, although it’s not set up as nicely for this sort of thing as I imagine purpose-built raytracer would be, especially when it comes to refleciton samples vs OSA vs shadow samples etc – I suppose it’s due to Blender’s heritage.

    But the fact that the whole rendering infrastructure is already set up helps, it’s just a matter of carefully adding the right bits in where they’re needed 🙂

  • jendrzych says:

    I’m really impressed.

    So, next will be GI by Broken & Brecht Co.? 😀

    I just hope You didn’t drop Your GUI investigation. It would be such a pity…

  • Matt says:

    No, nothing’s dropped, I just got a bit distracted 😉 I recently talked to elubie, and I’m going to start committing my work in progress UI stuff to her image browser branch in SVN. So there will probably be things to play with before too long.


  • Omar says:

    Oh no Matt, please get your hands on the file manager, this part needs a welcome work. (bookmarks; simple I/O stuffs eg:create dir, copy,rename….; etc etc…)

    What d’you think?


  • Ohlala ! Thank you so much. You refine again this diamond that Blender is. Thank you again.

  • Omar says:

    Omar wrote:

    “What d’you think?”

    Matt’d say:

    I think you don’t deserve a response.

    thank you.

  • Matt says:

    Ar, of course you deserve a response! I just haven’t been checking this extremely often.

    Anyway, I agree the file browser could use a lot of work. I did some mockups a long time ago, and now as part of her work on the image browser, Andrea Weikert is working on it, using some of those ideas as inspiration. The idea is that eventually the file browser and image browser will become one, and the image thumbnails will become one of a few different viewing modes. So yes, things are in progress in that area! 🙂

  • Omar says:

    ok, i’ll zap my paranoid function.

    Thanks you for your time, i just needed your opinion, as you are the most prolific blender-dev around there and you talked about the browser improvement, i thought it would be interesting, that’s it.


  • jtassinari says:

    Really great features, and a real must nowaday!

    Is there any chance to see these funtions included in some next distributions?


  • Mal says:

    Hi there Mike,

    I think I remember reading on one of the cvs commits that you were integrating your T3 UI code with one of the new SVN branches.

    If so, an article on your site regarding your UI, and even a link to a stable build of the branch, would make a great read!


  • Mal says:

    Doh – of course I meant Matt 🙂

    I had mke in my head 🙂


  • Brian says:


    In your dabbling with the UI have you ever thought of implementing 3D view widgets for viewport navigation? It seems like one of the simplest things, but its something I use often in my other software packages and would love to see it come to Blender. If its something you could add to your list I’d appreciate it.


  • darek says:

    Thanks, Matt! This makes Blender all the better!

  • William says:

    Just compiled Blender with your most recent changes (sep 10), and I gotta say it’s smooth. This should be useful for peach (faster shadows, soft sun especially).

    Now, I’ll be going to Amsterdam for Peach. I’ll poke at Ton to get him to sort out the events system.

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Gloss at Matt Ebb.