A toolkit to load *.hdr
environment light map and sample lighting under the split-sum approximation.
This is basically a wrapped version of light.py
from nvdiffrec.
Assume torch
and nvdiffrast
already installed.
pip install envlight
# from github
pip install git+https://github.com/ashawkey/envlight
# or locally
git clone https://github.com/ashawkey/envlight
cd envlight
pip install .
import envlight
normal # [..., 3], assume normalized, in [-1, 1]
reflective # [..., 3], assume normalized, in [-1, 1]
roughness # [..., 1], in [0, 1]
light = envlight.EnvLight('assets/aerodynamics_workshop_2k.hdr', device='cuda')
diffuse = light(normal) # [..., 3]
specular = light(reflective, roughness) # [..., 3]
# to load another hdr file
light.load('assets/mud_road_puresky_1k.hdr')
light.build_mips()
An example renderer:
# requries extra dependencies: pip install trimesh dearpygui
python renderer.py
gui.mp4
- Credits to Nvidia's nvdiffrec.