Code Monkey home page Code Monkey logo

Comments (3)

MilchRatchet avatar MilchRatchet commented on June 7, 2024 1

Good idea, I will try that out soon as it should be quite simple. As with the ocean and the toy though, the direct lighting will just ignore the refraction as I don't support caustics.

from luminary.

MilchRatchet avatar MilchRatchet commented on June 7, 2024

So this is now implemented as of 18cc1e3. There are some things to note. Outside and inside are determined by the face normal, i.e., the face normal always points outside. Currently, the outside is always assumed to have a refractive index of 1, though I plan to account for ocean and toy refractive index if we are inside those. Also fully transparent objects will still be invisible even if their refractive index is not 1, this is mostly a performance thing and with my data driven design it would be a bit of a hassle to get rid of it, besides that, fully transparent objects are not all that realistic anyway.

It is also important to note that the material properties will be taken into account so by default refractions will be rough. Though I am thinking of making some changes to the parser so that it also supports non texture based material properties, i.e., you can just plug a number into the roughness and it simply takes that. The changes in the above mentioned commit makes this trivial to implement. I am just not sure yet how the global material override should interact with that.

Snap-2023-10-26-20-35-49

from luminary.

SamuelTallet avatar SamuelTallet commented on June 7, 2024

I am thinking of making some changes to the parser so that it also supports non texture based material properties, i.e., you can just plug a number into the roughness and it simply takes that.

🙂👍 Typically, renderers first look to see if there is a roughness texture and if there is, then the roughness property becomes a multiplier for each pixel of that texture. If there is no roughness texture, then the roughness is applied evenly to the surface…

I am just not sure yet how the global material override should interact with that.

The global material setting could be a fallback instead of an override. I think the material settings defined in the .mtl file should take priority over those defined in the .lum file.

In any case, thank you for what you have already accomplished 🙏

from luminary.

Related Issues (20)

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.