Skip to content

ashawkey/envlight

Repository files navigation

Envlight

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.

Install

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 .

Usage

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

Acknowledgement

About

Environment light tools.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published