Archives for posts with tag: c++

JupiterFileCache (JFC) is a general purpose, multi location, multi process, thread safe file read & write cache library.

This is a C++ library that allows caching files in remote (network) locations onto the local client to speed up future accesses to these files. This reduces network traffic, but also, more importantly disk access, on the server. Modern network infrastructures are rarely the problem, but a server’s disks often don’t cope well when hundreds of clients read large files, often repeatedly, by querying small pieces of data, all at the same time.

It comes with a SWIG interface to be easily accessible through scripting languages (e.g Python) without the need to use a C++ compiler.

As a example use-case we provide an RSL shadeop implementation, modeled after the automatic network cache in DNA research’s 3Delight. It allows caching files like textures, point clouds or other heavy data, on a render farm client, automatically, by simply specifying the cache location with an environment variable, or in the RIB (with an option). In your shaders you can use the cacheFile() shadeop. It should work with any renderer that has an RSL shadeop API but was tested & used in production with Pixar’s PhotoRealistic RenderMan.

Project Page: http://code.google.com/p/jupiterfilecache
Language: C++ Python
Platform: Linux, OS X, Windows
License: Creative Commons 3.0 BY-SA

The RmanPtcSop project is a Houdini geometry operator (SOP) for loading and displaying RenderMan point clouds. It is based on the open source dnPtcViewerNode project from Double Negative Visual Effects.

Features of the rmanPtc SOP include:

  • Independent control for limiting the number of points loaded and displayed.
  • Geometry output for all point attributes in the cloud.
  • OpenGL display preview for attributes as point or disk primitives.
  • Ability to cull points based on a reference bounding box.

Home Page: http://danbethell.github.com/rmanptcsop/
Language: C++
Platform: Linux, Windows, OS X
License: New BSD License

We present a novel wavelet method for the simulation of fluids at high spatial resolution. The algorithm enables large- and small-scale detail to be edited separately, allowing high-resolution detail to be added as a post-processing step. Instead of solving the Navier-Stokes equations over a highly refined mesh, we use the wavelet decomposition of a low-resolution simulation to determine the location and energy characteristics of missing high-frequency components. We then synthesize these missing components using a novel incompressible turbulence function, and provide a method to maintain the temporal coherence of the resulting structures. There is no linear system to solve, so the method parallelizes trivially and requires only a few auxiliary arrays. The method guarantees that the new frequencies will not interfere with existing frequencies, allowing animators to set up a low resolution simulation quickly and later add details without changing the overall fluid motion.

This code is a reference implementation of our paper Wavelet Turbulence for Fluid Simulation. The code is intended as a pedagogical example, so clarity has been given preference over performance. Optimizations that inhibit readability have been removed, so the running times experienced will be longer than those reported in the paper.

Home Page: http://www.cs.cornell.edu/~tedkim/WTURB
Project Page: http://www.cs.cornell.edu/~tedkim/WTURB/source.html
Language: C++
Platform: Linux, Windows, OS X
License: GNU Public License
Sponsor: Cornell University

Ptex is a texture mapping system developed by Walt Disney Animation Studios for production-quality rendering:

  • No UV assignment is required! Ptex applies a separate texture to each face of a subdivision or polygon mesh.
  • The Ptex file format can efficiently store hundreds of thousands of texture images in a single file.
  • The Ptex API provides cached file I/O and high-quality filtering – everything that is needed to easily add Ptex support to a production-quality renderer or texture authoring application.

Home Page: http://ptex.us/
Project Page: http://github.com/wdas/ptex/
Language: C++
Platform: Linux, OS X, Windows
License: New BSD
Sponsor: Walt Disney Animation Studios

DrQueue started as an application to provide distributed render queueing and management services for rendering animations.

The generic service DrQueue provides allows the distribution, monitoring and management of tasks across a network of computing nodes. A queue of jobs composing of a number of tasks are spread over the computing nodes and processed in parallel. (more…)

Home Page: http://www.drqueue.org
Project Page: https://ssl.drqueue.org/project
Language: c++
Platform: Linux, Mac OSX, Irix, FreeBSD and Windows
License: GNU GPL Version 3