forked from tsubo164/Fujiyama-Renderer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
83 lines (68 loc) · 2.99 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Fujiyama Renderer
=================
Overview
-----------------
Fujiyama is free and open source, distribution oriented ray-tracing renderer
designed to handle production image rendering.
* Compatibility - written in C++11
* 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
Copyright (c) 2011-2020 Hiroshi Tsubokawa