Wednesday, December 28, 2011

Production volume rendering

For a few weeks, I've been studying and writing some code 

All the code is available here.

The first part of the project is implementing noise functions, textures, 
rasterization and instantiation primitives, that are the building blocks 
of many of the algorithms described in the courses.

A solid noise point rasterization primitive, 
visualized and renderered in Houdini.

For the second part of the project, I'm writing a ray marching volume renderer.
While the design of the renderer is classic, borrowing ideas from pbrt, 
the renderers described in the course notes and some of my own, 
the implementation is more interesting, based on runtime concepts
instead of normal C++ polymorphic classes.

First image produced with my volume renderer, 
accumulated opacity of a MRI scan of an orange.
Dataset courtesy of the volume library.

Sphere, box and two pointlights. 
The artifacts are due to no antialiasing, and big step size.

Sunday, October 16, 2011

Alembic Exporter for Blender ( work in progress)

Binary package for 64 bits Linux:
A patch against blender svn trunk code is included in the package.
It's written in C++, so it's quite fast.


- object hierarchies.
- custom properties are saved as uniform geoParams or user data.
- meshes and subdivision surfaces with modifiers, uvs, vertex colors, edge creases, ...
- material indices and facesets for Maya.
- fluid meshes export, with per vertex velocity.
- frame relative sampling for better motion blur.

Not working yet:

- particles. It seems there are some problems with subframe access to particles.
- Nurbs, curves, Metaballs and Text objects.
- dupliverts, duplifaces and other dupli options.
- dynamic paint vertex colors: Didn't have time yet to test it fully. It doesn't work for me.

current exporter options.

First? exported Alembic archive from Blender.

A more interesting example.

One of the recently released Project London rigs imported into Houdini.

Thursday, September 22, 2011

Cortex and Blender

Binary package for 64 bits Linux:

Some simple examples:

Import and export cortex objects and attribute caches (meshes only).

Applying ops to objects (CortexOcean Op).

Creating light domes from HDR enviroment images.

Python procedurals for 3Delight .

Wednesday, August 3, 2011

Thursday, July 14, 2011

Release 0.8.2, Blendernation article, ...

Yesterday, I released 0.8.2. Unfortunately, I just found some bugs 
I'm currently fixing, so this release will be short lived. 

New things include:

- New expression editor for GenerateX, ColorX, ... 
- Updated most third party dependencies.
- The Resize node is now faster, has better quality,  and had a number of  bugs fixed.
- PySide is now bundled with Ramen.

- CUDA is detected and initialized at startup if you have a suitable GPU.
If you have an ATI card, Ramen should still work ok, but I can't really test 
it. Can anyone confirm it?

- Bug fixes and other general small improvements.

Ramen was featured in Blendernation this week. It was completely unexpected.
The response was amazing. We had 8000+ pageviews and almost 500 
downloads in just two days. Probably, a better website is needed for the project.

I'd like to thank the people at Blendernation for writting the article and all of you 
who expressed interest in the project.

And finally, a preview of what's coming next:
I've been working on adding better resampling filters. You can see 
the current results in the screenshot:

The example is a bit extreme, and jpeg compression does not help, but it's a big 

Sunday, July 3, 2011

Python improvements, PySide

In the next release, I'm going to include PySide in Ramen's package.
PySide is a new set of Qt bindings for Python, and unlike PyQt, 
the license (LGPL) allows me to bundle it and distribute code 
the uses PySide.

I'm also adding the bits of code needed to connect PySide with C++ Qt 
widgets, Ramen's  objects and write parts of the app in Python.
The first result of this is the new SeExpression editor.

I expect to release this at the end of next week.