Builds, modifies, visualizes, and converts 3D LUTs from popular .cube and .3dl formats.
Project description
Builds, modifies, visualizes, and converts 3D LUTs from popular .cube and .3dl formats. Source available at https://github.com/gregcotten/pylut.
Usage
The idea is that the modifications to a LUT object are non-volatile, meaning that every modification method returns a new LUT object rather than changing the existing object. All sorts of great things can happen!
#!/usr/bin/env python
from pylut import *
lut = LUT.FromLustre3DLFile("/path/to/file.3dl")
lut2 = LUT.FromLustre3DLFile("/path/to/file2.3dl")
print lut.ColorAtLatticePoint(1,2,1)
print lut.ColorAtInterpolatedLatticePoint(1.3,1.5,1.2)
print lut.ColorFromColor(Color(.002,.5,.2344))
print lut.ColorFromColor(Color.FromRGBInteger(14, 1000, 30, bitdepth = 10))
lut3 = lut.CombineWithLUT(lut2)
lut3 *= .5
lut3 -= LUT.FromIdentity(lut3.cubeSize)
lut3 = lut3.ClampColor(Color(0,0,.2),Color(0,0,.4))
lut3 = lut3.Resize(33)
lut3.ToNuke3DLFile("/path/to/destination.3dl")
CLI
I also have a terrible CLI inside the bin folder. Example:
pylut some_lut.3dl --resize 17 --convert RCUBE
The Future
No clue.
Contributing
Fork it
Create your feature branch (git checkout -b my-new-feature)
Commit your changes (git commit -am 'Add some feature')
Push to the branch (git push origin my-new-feature)
Create new Pull Request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.