3dsMax Plugin of RenderAnts Renderer

This is part of my undergraduate graduation project. For the complete report, please see my dissertation (in Chinese).

Introduction

Graphics Processing Unit (GPU) develops rapidly in recent years, more and more focuses are being placed on developing high quality and photorealistic rendering system on GPU. In 2009, Kun Zhou et al.[1], from Graphics and Parallel System Lab of Zhejiang University, developed the RenderAnts renderer, which was the first Reyes renderer running entirely on GPU.

RenderAnts takes advantage of the parallel processing capabilities of GPU, obtaining acceleration over an order of magnitude, when compared with traditional renderer which runs on CPU. However, to apply RenderAnts in real-world workflow of film making, it’s necessary to design and develop an efficient and easy-to-use material editor, then integrate it into commercial modeling or animation system.

This article describes a user-friendly client for RenderAnts, focusing on the design and implementation of graphical material editor and 3dsMax plugin.

Graphical Material Editor

Graphical Material Editor visualizes shading-nodes' topology of material, and eases the material editing job by simple parameter-tuning and linking node's output to parameters of other nodes.

The design of the Graphical Material Editor is inspired by 3dsMax's Slate Material Editor. And it's developed with Qt's Graphics View[2] framework.

Design draft of a single node
A shading-tree example
The Class Diagram

3dsMax plugin

The 3dsMax plugin's main job is to help RenderAnts fetch scene data from 3dsMax, e.g. models' vertices list, camera matrix and lights. RenderAnts renderer runs in a separate process, so the 3dsMax plugin communicates with it by inter-process message passing. I design an efficient and extensible way for managing data and messages between the two peers. The core ideas are summarized below:

The Implemented System

Below are some screenshots of the running system.

The 3dsMax plugin together with Graphical Material Editor
The final rendering result after material editing

Reference

  1. Zhou, K. et al. RenderAnts: interactive Reyes rendering on GPUs. In ACM SIGGRAPH Asia 2009, Article No. 155
  2. Nokia, Qt Assistant 4.7.1, 2010
  3. Autodesk, 3dsMax SDK Programmer’s Guide, 2012

Last updated 10/6/2014