[Soc-2013-dev] Weekly Report #5 - Cycles Volume Texturing

Rafael Campos rafaelcdn at gmail.com
Sat Jul 20 18:18:23 CEST 2013


=== This Week ===
After including the openvdb library in Blender, I added 3 classes for
interfacing with the library. OpenVDB API calls will be restricted to these
classes.
So this is where we currently stand:
 - Added the OpenVDBVolume struct to hold an open file handle for .vdb
files and header info (metadata) on the grids contained in the file;
- Added the OpenVDBUtil class for basic operations, such as checking for
valid vdb file, all vdb-related I/O operations, and others will be added as
needed;
 - Finally, the OpenVDBVolumeAccessor was created to hold one vdb grid, and
perform lookups. The idea here is that grids can't really be shared
(although internal trees can, where one grid = one tree + metadata
collection), so an OpenVDBVolume will contain as many accessors as there
are grids in its file.
 - Added an executable target containing a version of the openvdb utility
vdb_print to cycles/app, to be used for testing out the created classes and
methods, and printing performance stats.

Additionally, since I'm in Anaheim for Siggraph already, I got a new Mac
laptop. Since I was working on Windows, I've been doing some configuration
fixes: one example is I had added the tbb library (openvdb's dependency)
under a if(MSVC), and it took me sometime to figure it out why the symbol
wasn't being loaded.

Right now, I'm fighting a linker error on XCode - it seems the library
isn`t being linked, but the lib path and library names are configured.
Anyway, I'll post this separately so as not to clutter the report.

As Ton requested on the list, I'll commit less changes, more often, and I'm
pretty sure I'll make tons of code style mistakes, but I'll just go ahead
for some time and then come back and fix them, since the technical
challenge of the project itself, for me, is already very significant.

=== Next Week ===
Since midterm evaluations are coming, and I started considerably late
because of college, I'll focus on doing enough to demonstrate where we're
headed, and what lies ahead.
 To be done this week:
- finish the minimum requirements for the interface classes to work, and
perform a texture lookup on OSLRenderServices::texture3d when called with a
vdb file;
 - create a basic cycles node for vdb, with limited functionality at this
time, but that'll serve as the base for future work (future = post midterm
crisis).

=== Questions ===
As of now, the plan is clear on the coding side, but I'm facing a
configuration problem on mac that'll post separately to allow for
discussion out of the report.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2013-dev/attachments/20130720/8784022c/attachment-0001.htm 


More information about the Soc-2013-dev mailing list