Live data from Hacker News

Appleseed – open-source physically-based rendering engine

appleseedhq.net

71–80 of 82 posts

Re: Appleseed – open-source physically-based rendering engine

#71
post #35

Earlier quoted context omitted.

The color differences are from different "tone mapping" implementations after the render is stopped and can be ignored. The point of that page is to evaluate renderer correctness (think of them as visual unit tests), not to really compare "which one looks better". For example, some of the images show appleseed with hard shadows, when they should be soft. If you want to know which one is "right", Mitsuba is the one to…

You can't say any of these is "more correct" from looking at the renders. Those hard shadows stem from a difference in light size, which is almost certainly a problem with the scene parameters being treated differently. The light size may have been "lost in translation", turned to 0, creating a perfectly sharp shadow.

One limitation of appleseed today is that our physically-based sun model is a purely directional light, not a far away disk with a finite radius. This explains the hard shadows on some of the scenes.

Re: Appleseed – open-source physically-based rendering engine

#72
post #22

Earlier quoted context omitted.

How am I supposed to compare these three on the top as a non-expert in this area? The middle one looks noisier than the other two. I notice the one on the left has darker color in dresser which may be an advantage of correct, color handing but might be incorrect with one on right being brighter due to the correct handing of window's light on it. And what's up with the graininess of all of them? Just a few things that…

Without knowing the settings which were used by each renderer (and thus stuff like the BSDF materials, sampling techniques, random number generator sequences, etc, etc), it's very difficult to say. All these things play a crucial part in how efficiently a renderer can produce an image with as little noise as possible. But it's also possible to look through the noise (ignore it), and look for issues - i.e. the Classro…

The classroom is lit by a physical sun+sky combination. A limitation of our current implementation of physical sun is that the sun is a directional light instead of being a far away disk of finite radius. This is why we don't have soft shadows in this scene.

Re: Appleseed – open-source physically-based rendering engine

#73

Earlier quoted context omitted.

>Right; Tensorflow is managed well, and working on it might lead to a job Tensorflow's management is not relevant to its popularity. It's been well demonstrated that companies are tripping all over themselves to use anything put out by Google and/or Facebook, regardless of its applicability to the company's actual problem space or the quality of the product as compared to competitors. There are a lot of people out th…

> There are a lot of people out there just itching to find any excuse to blow millions of dollars deploying any open-source project touted by Google or Facebook Sure, but I was counting commits and contributors, which I don't think can be attributed solely to shallow business decisions. > Look at an independent guy's project. It's not even as active as some of Google's projects, and they're just one of the biggest co…

We call appleseed "modern" because, since its inception in 2009, it implements the modern paradigm of rendering: unbiased, physically-based, programmable, as few knob and hacks as possible. The quintessential example of a "non-modern" ("classic"?) renderer is Pixar's PRMan before it dropped REYES, adopted path tracing and was renamed RenderMan.

Regarding the roadmap: we don't have a formal roadmap, but after each release (roughly every three months) we discuss and decide upon what we think would be the next logical steps, also taking into account which contributors will be participating and what are their areas of competence. There is a laundry list of features that any renderer must have to be considered usable by artists, and we're still missing some, so the road ahead is pretty clear, at least for a little longer.

Re: Appleseed – open-source physically-based rendering engine

#74

This looks really beautiful. The fact that it's open source adds to that beauty. I'm not even interested in physically based rendering and it makes me want to play with it.

Thank you! As generic_user said, feel free to just download a release for your platform and a few test scenes, start appleseed.studio, load a scene and hit F6 to start interactive rendering. The Getting Started page contains detailed instructions: http://appleseedhq.net/docs/tutorials/gettingstarted.html

Re: Appleseed – open-source physically-based rendering engine

#75

Can someone Explain Like I'm Five: "Physically-based rendering"? As opposed to...?

Physically-based rendering means that we're essentially applying the law of physics to the problem of representing materials and bouncing light on them. The renderer deals with well defined physical quantities such as meters, watts, etc. To some extent, the renderer produces images that match real world experiments or predict what a setup would look like if it actually existed (predictive rendering).

Non-physically-based rendering ("classic rendering"?) is using ad hoc tricks to produce convincing images, but without following a formal framework. While recent AAA games all more or less follow the physically-based paradigm, older 3D games didn't and simply used custom models and tricks to produce good looking imagery.

Re: Appleseed – open-source physically-based rendering engine

#76
post #39

Hello, founder of appleseed here! Being the top story on Hacker News tonight was completely unexpected, but it's a good surprise and definitely appreciated publicity! appleseed has been in active development since june of 2009. It predates a number of other open source renderers by quite a few years, including Cycles (another fantastic project!). I'm a production rendering engineer (e-on software, mental images, NVID…

Can you list the top five Influential research papers that have inspired you while working on Appleseed? I have ACM library account so if they are ACM or Siggraph papers that is fine. --edit And thank you for making your project open source.

A very interesting question!

It's not a research paper, but for learning purposes there's nothing better than the Physically-Based Rendering (PBRT) book by Matt Pharr, Greg Humphreys and Wenzel Jakob, already mentioned by others in this thread: http://www.pbrt.org/

One of the foundational paper is definitely The Rendering Equation, by James Kajiya: https://inst.eecs.berkeley.edu/~cs294-13/fa09/lectures/p143-...

Another highly influencial research paper is certainly Eric Veach's PhD thesis, Robust Monte Carlo Methods For Light Transport Simulation (a.k.a. "The Bible"): http://graphics.stanford.edu/papers/veach_thesis/thesis.pdf

A few other paper stand out:

Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs, by Eric Heitz: http://jcgt.org/published/0003/02/03/. A somewhat difficult read, but an important paper.

Microfacet Models for Refraction through Rough Surfaces: http://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf

Physically-Based Shading at Disney: https://disney-animation.s3.amazonaws.com/library/s2012_pbs_...

A Practical Model for Subsurface Light Transport, by Henrik Wann Jensen: https://graphics.stanford.edu/papers/bssrdf/bssrdf.pdf

Light Transport Simulation with Vertex Connection and Merging: http://cgg.mff.cuni.cz/~jaroslav/papers/2012-vcm/

Finally, for learning, there's a nice lecture by John Carmack at QuakeCon: https://www.youtube.com/watch?v=IyUgHPs86XM

Re: Appleseed – open-source physically-based rendering engine

#77
post #43

Earlier quoted context omitted.

I think the most powerful feature of C++ is templating. Templating makes it very easy to write high-performance math code (no dynamic function calls, everything unrolled by the compiler...). Just have a look at the state of the art math libraries in rust and compare it to something like Eigen or Cgal. The C++ code is way more flexible and expressive than the rust code. If you don't believe me, check how the rust libr…

This will get better once we have type level integers. It's just not there yet. You're totally right that it's a weak point st the moment.

Cool, I think rust needs some time to mature.

I'm currently looking for a rust guide that shows me some programming patterns.

For example:

- How to best implement an observer pattern

- Best practices for vector code

- Best practices for tree implementations and how to implement a lambda on top of it.

I'm interested in small snippets so that I can get some initial productive code and progress from there.

Re: Appleseed – open-source physically-based rendering engine

#78
post #76

Earlier quoted context omitted.

Can you list the top five Influential research papers that have inspired you while working on Appleseed? I have ACM library account so if they are ACM or Siggraph papers that is fine. --edit And thank you for making your project open source.

A very interesting question! It's not a research paper, but for learning purposes there's nothing better than the Physically-Based Rendering (PBRT) book by Matt Pharr, Greg Humphreys and Wenzel Jakob, already mentioned by others in this thread: http://www.pbrt.org/ One of the foundational paper is definitely The Rendering Equation, by James Kajiya: https://inst.eecs.berkeley.edu/~cs294-13/fa09/lectures/p143-... Anoth…

Excellent list, I had not seen some of these. Time to fire up Mathematica and get some coffee I suppose. And I'm sure the list is helpful for many others also.

Re: Appleseed – open-source physically-based rendering engine

#79

It's all cool and awesome, but why put all those resources into new renderer, when one could contribute to Blender and such, which are way more mature?

Two points: Blender is not a renderer, it's a modelling and animation program with a built-in renderer, Cycles. But it can connect to other renderers, too. Cycles is not that old. It replaced Blender's prior renderer just a few years ago.

I know Blender is not a renderer, but they include 3 renderers in the package: Bledner Internal, Cycles and, Blender Game (This one is Real-Time though).

Re: Appleseed – open-source physically-based rendering engine

#80
post #77

Earlier quoted context omitted.

This will get better once we have type level integers. It's just not there yet. You're totally right that it's a weak point st the moment.

Cool, I think rust needs some time to mature. I'm currently looking for a rust guide that shows me some programming patterns. For example: - How to best implement an observer pattern - Best practices for vector code - Best practices for tree implementations and how to implement a lambda on top of it. I'm interested in small snippets so that I can get some initial productive code and progress from there.

I agree that more docs on this kind of thing will be good, but I think going about it this way might be harder than you'd expect. Applying existing patterns and writing data structures is actually harder in Rust than in many other languages, and people that try to start with it often get stuck. Rust's own patterns and best practices are still kinda evolving, hence your maturity comment.
Post reply on HN