Use a not-nullable PyObjectRef (prototype)
Prevent using -imsvc for Clang to fix IntelliSense
Import module names into liar
Gitignore mypy_cache and ruff_cache
Remove liar.tools.colors
Ensure PBRT statements start with an identifier
Raise ValueError if built-in data can't be found
Remove old Python 2 import of cStringIO
Fix mypy "Argument has incompatible type" error
Fix mypy "Module has no attribute" errors:
Generate pyi stubs for extension modules
Run ruff-isort
Reformat with ruff
Use lib2to3 to convert old Python 2 code
Install pre-commit hooks as part of make requirements
Add ruff to pre-commit
Rename src to src/liar
Git-blame-ignore "Normalize line endings" commit
Normalize line endings
Use ruff instead of black and isort
Use uv to install dev requirements
Upgrade to conan 2.14.0
version 0.pi
Fix Inf in Sphere::doLocalContext with normal.z==1
Optimize Stratifier sampleSubSequence
Export texture.Image enums properly
Use faster log2 in Image::lookUp
Align Image pixel blocks on cache-lines.
Always build test executable
Update dev-constraints.txt
Improve performance of scenery.Transformation
Fix crash in texture lookup due to NaN in direction
Remove /fp:fast
Add _s literal for scalars
Use intersectFilter for alphaMask
Require lass/1.11.0-229+g04ef6743
Print time to load images
Require C++20
AVX Matrix4x4
Explicitly store worldToLocal in Transformation
Add alphaMask to TriangleMesh
Fix usage of TTimeDelta and TTime in cameras
Fix problem with omegaOut.z == 0 in LinearInterpolator
Ensure omegaIn.z > 0 in AdjointPhotonTracer
Fix infinite dPoint_dV in LightSky
Catch non-finite vectors in IntersectionContext
Fix problem with componentSample >= 1
Wrap std::uniform_real_distribution to be right-open
Reproject intersection point
Fix Observer CDF
Fixing failing asserts due to single precision TScalar
Improve Bsdf allocator
Default to bilinear texture antialiasing
Use bilinear antialiasing for light sky textures
Upgrade pbrt from optparse to argparse
AVX Image texture
Release GIL while waiting for Display loop to join
Use 2D block array for pixels in Image texture
store transformation on the stack
Disable C4996 on Windows
Remove unused private field
Place parentheses around the '&&' expression
Fix warning about side effects in typeid
Fix missing 'override' warnings
Remove unused include
Use QbvhTree instead of AabbTree
Use SAHSplitHeuristics again
Use TValue for ClipMap threshold
TScalar float
MicrofacetDistributions
Fix MIS in direct lighting for specular materials
Allow to disable tracing glossy BSDF
Add EWA filtering to Image texture
Fix refection/tranmission caps in Jakob
Fix tonemapping in makeRenderTarget
Set default numberOfSamples for shaders to 1
Avoid installing debug system runtime libraries
Use IMPORTED_RUNTIME_ARTIFACTS to install Lass libraries
Fix outputname of libkernel on Linux
Fix FilterTriangle
Fix gamma in PBRT texture loading
Fix unitialized value in LightSky
Fix uninitalized valuein FilterTriangle
Clean up Cauchy interface
Normalize BlackBody spectrum
Fix tristimulus integration for custom wavelengths
Use constexpr static instead of enum for numBands
Add R0Conductor spectrum
Add tristimulus attribute to Spectrum, and preevaluate value
Make spectra immutable
Add function to evaluate Spectrum in single wavelength
Add some built-in spectra of metals from Hageman (HGK)
Fix Sampled::resample
Fix unweighted alpha in raster
Print when combining triangle meshes in PBRT Object
Replace xorshift128+ by pcg32
Fix negative values in RGB Spectral
Fix rounding of Stratifier number of samples
Fix deadlock in Display destructor
Fix NaNs when we hit max ray generation