Posts

Showing posts from February, 2019

The constant ambient factor - how to use it to your advantage - and why you shouldn't

The constant ambient factor The constant ambient factor (or sometimes referred to as simply "ambient lighting") is an older and simpler solution to handle an issue with direct lighting - that being that any of the scene not being directly lit is completely dark  So, let's try to write down whats happening and what  indirect lighting actually does to handle it?  Ok so lets write up a basic lighting equation:  Lighting = albedo x (direct + indirect)  (this is an oversimplification, and is only for demonstrative purposes!)  Cool, now we can write up what the issue is when we dont have indirect lighting! lighting = albedo x direct = 0 Ok, so hopefully you can see whats actually happening here - the light reflected into our eye is black - or 0. Now this can only happen if either albedo  or direct  is equal to 0. Now, the albedo should never equal 0, so we can assume that it's the direct lighting that results in it equaling 0!  So, in orde

The primary problem with realistic rendering, and how mirage aims to solve it

Image
The primary problem with realistic rendering, and how mirage aims to solve it So, I have now given a brief introduction to what mirage is - but I haven't touched on what it aims to actually solve at all, which is something I can hopefully clear up a bit in this entry.  First and foremost I shall give you a brief lesson on how lighting works in the real world  (note, this is an oversimplification)  As many of you probably already know, in the real world lighting is in its most simple form; a bunch of photons bouncing around in a scene. When a light ray hits a surface, some of it gets absorbed, some of it refracted and some of it is reflected into the rest of the scene. A tiny amount of that reflected light will eventually end up in our eye, where our brain then translates that into what we then see.  Now, we can actually split this up into two different categories - direct  and indirect  light. Direct  light is light that hits only one surface, and then hits our

An introduction and whats to come

Hello!  My real name is something I keep to myself, so I'm known mostly by my surname "UglySwedishFish", or simply just "Fish" (or ugly, if you're not having a good day) I've worked on mirage for a while now - and as I currently am not sure if I can release the source code or an executable (at least not for a while) I felt I still wanted to share my adventure in another way - which spawned the way to this blog. So what exactly is this mirage thing?  Mirage is mostly just a passion project turned semi-serious. It started off like many of my other projects but I realized there might be some potential in actually trying to make it into something worthwhile. What seperates mirage from the handful of real-time path tracers out there? (optix/nvidias path tracer, brigade, lavina, etc)  Well, first and foremost mirage is entirely cross platform! It has been designed both on nvidia gpus and amd gpus, and while it does ever so slightly prefer