GithubHelp home page GithubHelp logo

zpelgrims / lentil Goto Github PK

View Code? Open in Web Editor NEW
85.0 5.0 9.0 548.01 MB

Polynomial optics to Arnold. Camera shader with high-order aberrations, including bidirectional filter that adaptively samples out-of-focus highlights (top level repo)

Home Page: http://www.lentil.xyz

Makefile 0.11% Shell 0.08% C++ 20.88% C 73.47% Gnuplot 0.03% GLSL 0.79% Python 0.69% JavaScript 3.95% HTML 0.02%
raytracing lenses optics

lentil's People

Contributors

kadenzipfel avatar predat avatar zpelgrims avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

lentil's Issues

Translate the following lens designs:

SPHERICAL


Zeiss Protar:

  • The photographic lens leapt forward in 1890 with the Zeiss Protar (Germany). Paul Rudolph's Protar was the first successful anastigmat (highly corrected [for the era] for all aberrations, including properly for astigmatism) lens. It was scalable from f/4.5 portrait to f/18 super wide angle. The Protar was originally called the Anastigmat, but that descriptive term quickly became generic and the lens was given a fanciful name in 1900.
  • The Protar is considered the first "modern" lens, because it had an asymmetric formula allowed by the new design freedom opened up by newly available barium oxide, crown optical glasses. These glasses were invented by Ernst Abbe, a physicist, and Otto Schott, a chemist, (both Germany) in 1884, working for Carl Zeiss' Jena Glass Works. Schott glasses have higher refractive index than soda-lime crown glass without higher dispersion. The Protar's front achromat used older glass, but the rear achromat used high index glass. Virtually all good quality photographic lenses since circa 1930 are anastigmat corrected. (The primary exceptions are deliberately "soft-focus" portrait lenses.)

ANAMORPHICS

There's several modern designs by Cooke, they are all pretty similar:


VARIOUS

POTA write custom Arnold driver

This would allow me to write to all buckets multiple times, replacing what I'm doing with tinyEXR.

Speak to Declan

I also need to think about what happens to all of the other AOVs. They need to reflect the bokeh changes as well.

Invalid type for most lenses using bin/view

libc++abi.dylib: terminating with uncaught exception of type nlohmann::detail::type_error: [json.exception.type_error.302] type must be number, but is discarded
Abort trap: 6

Looks like something is wrong with the .json database, figure out the diff between working lenses (1, 4) and the others.

Something must be null/discarded, but queried as a float/int value

User database

Need to create a user database which holds the lens purchases.

Then based on that database, we can compile custom builds to enable/disable specific lenses. The easiest way would be to pass the necessary lensIDs to the compiler and use ifdef's.

This database will also drive the website content, showing the purchases, etc etc

Am I confusing top/side view in view.c?

E.g. initial raypos/raydir:

sideview:
[-40, 0, 0]
[0, 0, -99999]

topview:
[0, -40, 0]
[0, 0, -99999]

Would only make sense if they are flipped. This is crucial to get right for the anamorphic lenses. Not sure if I am wrong though.

Read follow-up papers

"Adaptive sparse polynomial regression for camera lens simulation"
"NeuroLens: Data-Driven Camera Lens Simulation Using Neural Networks"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.