Heya
Right this is a little part of paper I'm writting. Its something that I've been thinking for a while now and I'd like to get some opionions about what you think about it... Sorry for the straight forward text - it will need rewriting at some point to more "proper" way? ehh...
Anyway here it goes...
I was researching materials the other day trying to understand the concept of specular and glossiness.. For some time now I've been told that specular dont exist in reality and its fake, created in past for purpose of creating realistic light reflections when raytracing and slow rendering were too slow to deal with reflections and glossiness for production and games.
In any case I've decided to remove specular as much as I could from my workflow - I cant trully remove it because the glossy reflections I get arent accurate enought ( I will talk about it in a min) as well as the way we light scenes in CGI is not giving us good enought light directions either...
Lets talk about glossy reflections - now they way they works is if glossiness is set to 1 then the raytracing engine is using only 1 ray sample per pixel (if I'm not wrong) to create reflection. Now if we use less than 1 in glossiness for example 0.5 then the ray engine is calculating a summary of about 45degree(depending on rendering engine) of reflections per pixel - and the sampling specify how many times it will sample during those 45degree - for example a value of 8 samples means that he will pick random 8 rays of reflection between 0 and 45 degree( this depends on the angle betwen viewer camera and geometry) and then blend them together to create a pixel value. Below you can see an illustration that I've attached to illustrate the concept. Fig1 1 glossiness, Fig 2 0.5 glosiness
Fig 1
Fig 2
Now the problem with that is that it produces a dull-flat pixel collors. Since it samples a 45 degree of reflections if 4 samples are white and 4 samplesa re black then the result pixel collor will be grey - this is one of many reasons why a CGI metalic car paint looks fake to the certain point.
Now I've been working on a true reflection workflow for quite a while now. In reality there are 2 effective ways of achieving it. In basics in reality glosiness dont really exist - what we see most of the time is just a very delicately sanded surface to the point where it feels smooth to our fingers but in fact is very bumpy and the amount and strenght of bump produces different "glosiness values". In any case as I mentioned there are only about two ways of producting that kind of physicall accurate glosiness. One is to use a displacement and sky rock the settings to produce a micro rought- bumpy surface. The second methos is to simply use bump maps or better normal maps. If we are going to generate glossy reflections this way we have to remember to keep the glosiness at 1 - which is physically acurate. Now once we render image like that we will get a "accurate" glossy reflections which is what we are after. One of reasons why it will be like this is because there will be no pixel avareging happening so all collors will remain as they intented to be. Also another point that is worth noticing that fresnell effect will also be more accurate than using material glosiness. A metalic car paint made this way will look a lot better than usig glosiness in materials. Now there are huge issues with this method currently because render engines have a hard time calculating such complex bump map and produce a error in reflection - which is what I hope will be resolved aventually... The image below show us a illustration of this process. Fig 3 bump based glossiness
Fig 3
Right this is a little part of paper I'm writting. Its something that I've been thinking for a while now and I'd like to get some opionions about what you think about it... Sorry for the straight forward text - it will need rewriting at some point to more "proper" way? ehh...
Anyway here it goes...
I was researching materials the other day trying to understand the concept of specular and glossiness.. For some time now I've been told that specular dont exist in reality and its fake, created in past for purpose of creating realistic light reflections when raytracing and slow rendering were too slow to deal with reflections and glossiness for production and games.
In any case I've decided to remove specular as much as I could from my workflow - I cant trully remove it because the glossy reflections I get arent accurate enought ( I will talk about it in a min) as well as the way we light scenes in CGI is not giving us good enought light directions either...
Lets talk about glossy reflections - now they way they works is if glossiness is set to 1 then the raytracing engine is using only 1 ray sample per pixel (if I'm not wrong) to create reflection. Now if we use less than 1 in glossiness for example 0.5 then the ray engine is calculating a summary of about 45degree(depending on rendering engine) of reflections per pixel - and the sampling specify how many times it will sample during those 45degree - for example a value of 8 samples means that he will pick random 8 rays of reflection between 0 and 45 degree( this depends on the angle betwen viewer camera and geometry) and then blend them together to create a pixel value. Below you can see an illustration that I've attached to illustrate the concept. Fig1 1 glossiness, Fig 2 0.5 glosiness
Fig 1
Fig 2
Now the problem with that is that it produces a dull-flat pixel collors. Since it samples a 45 degree of reflections if 4 samples are white and 4 samplesa re black then the result pixel collor will be grey - this is one of many reasons why a CGI metalic car paint looks fake to the certain point.
Now I've been working on a true reflection workflow for quite a while now. In reality there are 2 effective ways of achieving it. In basics in reality glosiness dont really exist - what we see most of the time is just a very delicately sanded surface to the point where it feels smooth to our fingers but in fact is very bumpy and the amount and strenght of bump produces different "glosiness values". In any case as I mentioned there are only about two ways of producting that kind of physicall accurate glosiness. One is to use a displacement and sky rock the settings to produce a micro rought- bumpy surface. The second methos is to simply use bump maps or better normal maps. If we are going to generate glossy reflections this way we have to remember to keep the glosiness at 1 - which is physically acurate. Now once we render image like that we will get a "accurate" glossy reflections which is what we are after. One of reasons why it will be like this is because there will be no pixel avareging happening so all collors will remain as they intented to be. Also another point that is worth noticing that fresnell effect will also be more accurate than using material glosiness. A metalic car paint made this way will look a lot better than usig glosiness in materials. Now there are huge issues with this method currently because render engines have a hard time calculating such complex bump map and produce a error in reflection - which is what I hope will be resolved aventually... The image below show us a illustration of this process. Fig 3 bump based glossiness
Fig 3
Comment