Fujiyama Distribution Oriented Renderer
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin added lib and bin Dec 12, 2011
lib added lib and bin Dec 12, 2011
procedures added missing header files May 25, 2017
release_notes added release notes Oct 30, 2017
scenes added mis.py Aug 27, 2017
shaders added mis.py Aug 27, 2017
src fixed headers for linux Oct 27, 2017
tests updated copyright Feb 24, 2017
tools fixed headers for linux Oct 27, 2017
visual_studio/nmake updated nmake file Oct 29, 2017
.gitignore added .gitignore Feb 24, 2017
INSTALL updated copyright Jun 22, 2015
LICENSE updated copyright Jun 22, 2015
Makefile added mis.py Aug 27, 2017
README added release notes May 25, 2017

README

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 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 - *.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
  + Adaptive grid pixel sampling - subdivides pixels based on color threshold
  + Uniform grid pixel sampling
  + Jittered pixel sampling 

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

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