-
Package dependencies updated.
-
Add support for Julia 1.7.
First stable version.
- CLI
demo
command is removed in favor of the commandrender
: this command takes a SceneLang script (see below) as input and generates an hdr image (and optionally the corrispective ldr image).
- Add SceneLang support (#27).
-
Add
docs
command to show documentation informations. -
Add
--luminosity
option intonemapping
command (#30).
- Improve documentation.
- Add cubes, cylinders, and CSG (#25).
- Improve documentation.
-
Removed type parameters from most structs. All floating points calculations are now performed on
Float32
. This provides a significant speedup. All code specifying type parameters will be broken from now on (#23). -
Renamed the following functions:
-
average_luminosity(image::HdrImage; δ::Float32)
->luminosity(image::HdrImage; δ::Float32)
-
normalize_image(image::HdrImage, α::Float32; luminosity::Float32)
->normalize(image::HdrImage, α::Float32; luminosity::Float32)
-
clamp_image(image::HdrImage)
->clamp(image::HdrImage)
-
-
Add
PointLightRenderer
renderer with relativePointLight
composite type andLights
alias (#20) -
Add
PathTracer
renderer (#20). -
Add the implementation of an ortho-normal Basis (ONB) creation algorithm based on Duff et al. 2017 (#20).
-
Add a PCG-family Random Number Generator (RNG) based on O'Neill 2014 as a
Random.AbstractRNG
(#18). -
API now includes high-level functions for basic scene rendering, image tonemapping, and a
demo
function (see user_utils.jl). -
Add
OnOffRenderer
andFlatRenderer
renderers to apply to the scene (#17). -
Add the implementation of materials for our shapes, describing both the BRDF and radiance of the shape interface (#17).
-
Add the implementation of some basic shapes, such as spheres (#11).
-
Add the implementation of an image tracer, needed to capture light from a scene (#3).
-
Add geometry implementation, needed to compute a 3D scene (#2).
- Add
demo
command to show a demo rendering (#13).
- First release of the code