Showing posts with label papers. Show all posts
Showing posts with label papers. Show all posts

Monday, June 24, 2013

Depsgraph - Know thy enemy

As promised in my weekly report yesterday, this is the first in what will be a series of posts documenting various thoughts and snippets of ideas during the development process for a new Dependency Graph engine for Blender.

As well as serving as rolling documentation of the ongoing work and how various design "quirks" (as they'll inevitably be viewed in retrospect) came about, these posts aim to serve two other important roles. From the perspective of the wider community, it provides greater visibility for this project and/or progress made, which may otherwise be difficult to grasp (since it is not really a flashy front-end tool that users can directly hold in their hands). However, more importantly, writing these posts mainly helps/forces me to really flesh out some areas of the design which I may otherwise forget or gleefully gloss over when a suitable solution comes around. It has been said by many notable people (including various scientists, engineers, and academics) that the act of writing down your thoughts can help clarify and refine those ideas, by forcing you to figure out how to express them in a concise manner (and in the process clarifying/resolving ambiguities), thus moving these from merely nebulous figments of your imagination to somewhat physical (or concrete) entities.

So, welcome along for the ride, as the great Blender Depsgraph project gets underway at last.
(Note: some of these posts have been sitting around for a while now – with delays and other things getting in the way – so dates mentioned are somewhat inaccurate).

Tuesday, October 23, 2012

Multithreading dependency graphs... (LibEE Paper)

Woah! I've just finished reading through the paper Dreamworks published at Siggraph this year about their new fancy multi-threaded dependency graph.


Some seriously cool stuff here with some interesting insights which we should take into account when working on our own revamp. Having said that, even without worrying about multi-threading (it's still an area I'm not that familiar/comfortable dealing with yet... and it'd certainly be worth having some multithread gurus around if/when we go down this path) we still have a lot of design issues to tackle to even get a basic system that tackles most of the issues that we're currently facing with our old antiquated beast.