XNerv / Fujiyama-Renderer

Fujiyama Distribution Oriented Renderer

Home Page:fujiyama-renderer.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fujiyama Renderer
=================

  Overview
-----------------
Fujiyama is free and open source, distribution oriented ray-tracing renderer
designed to handle production image rendering. 
* Compatibility - written in pure ANSI C++
* Portability - depends on no external library (x)
* Simplicity - requires only single C++ header file and library
* Compact - the core library is small and easy to embed
* Open Source - licensed under the terms of MIT License (See LICENSE)
   (x) some external tools require OpenEXR and OpneGL/GLUT

  Features
-----------------
* Platforms
  + Linux
  + Mac OSX
  + Windows

* Rendering
  + Multi-threaded rendering - dynamic assignement of tile rendering per theread
  + Rendering preview - fbview shows rendering progress
  + Region rendering - accelerates distribution rendering pipeline
  + Tile based rendering

* Supported Primitives
  + Triangle Mesh - Compact representation
  + Bezier Curves - Unlimited smoothness subdividing in render time 
  + Volume Primitive - Ray traced self-shadowing
  + Point Cloud - Can be rendered as particles

* Procedure Plugin
  + Volume Filling Procedure - Pyroclastic clouds procedure provided
  + Volume Filling Procedure - Spline wisps procedure provided
  + Volume Filling Procedure - Surface wisps procedure provided

* File format
  + Original mesh format - ply2mesh and obj2mesh are provided
  + Original curve format - curvegen is provided
  + Original point cloud format - ptcgen is provided
  + Original mipmap format - hdr2mip is provided
  + Original framebuffer format - fb2exr is provided
  + Command-like scene description language - works with text filter tools
  + Python Binding scene description - can utilize control structures and libraries
  + FrameBuffer Viewer - displays *.fb and *.mip 
  + Input format - *.mesh, *.ply, *.obj, *.mip, *.hdr, *.jpg (through Python API)
  + Output format - *.fb, *.exr (through Python API)


* Lighting
  + Point light - traditional point light
  + Grid light - typical area light with single/double-sided option
  + Sphere light - another area light
  + Dome light - supports IBL with environment map

* Animation
  + Camera motion blur - sampling non-linear camera motion
  + Transform motion blur - sampling non-linear object transformation
  + Velocity attribute motion blur - useful for point count
    changing geometry

* Shading and Texture
  + On demand reading of mipmap - unlimited number of texture images
  + Pluggable shader DSO - shaders can be written in C/C++ 
  + Subsurface scattering - implemented in shader
  + Bump mapping - perturb normals based on mipmap images
  + Primitive groups - multiple shader assignment on triangle mesh

* Acceleratotion structure
  + Grid accelerator - for meshes (dense distribution)
  + BVH accelerator - for object instances (sparse distribution)
  + Object instance - saves memory usage

* Sampling and Filtering
  + Gaussian and Box pixel filters - supports filter width bigger than 1 pixel
  + Uniform grid pixel sampling
  + Jittered pixel sampling 

* Extensibility
  + Rendering callbacks - 5 points to hook rendering process

http://fujiyama-renderer.com/
Copyright (c) 2011-2015 Hiroshi Tsubokawa

About

Fujiyama Distribution Oriented Renderer

fujiyama-renderer.com

License:Other


Languages

Language:C++ 78.7%Language:Python 15.0%Language:Makefile 5.8%Language:Batchfile 0.3%Language:C 0.1%