|08 August 2002|
This explanation of specularity vs reflection is pretty poor. Because of a misconception about specularity, the "tutorial" is fundamentally flawed. There is a deffinitive difference between reflection and specualrity. I don't understand why there would be an argument about using one or the other as they both simulate different things. Specularity is the area of surface where light is being scattered at a narrow angle. Light of course is "reflected" in a general sense, but it is not a true reflection. Specularity allows you to vary the angle at which light is reflected creating a hotspot of the surface. It is not a reflection of the physical lightsource or a true reflection. It is just a general reflection of light. What raytrace reflections or reflection maps in CG are attempting to recreate are specificly are true mirror reflections. Where light hits the surface and is reflected at an equal angle. There is nothing "fake" about specularity in 3D as it is approximating a different attribute of a surface than a true reflection. Of course if you have a shiny, highly polshed, reflective surface, you are going to want to, and in fact NEED to use both properties.
|08 August 2002|
I like Skies!
Leigh, again a great tutorial!
I have only one little point of critique: the images of the materials are way too small, I really can't see what's going on there....
There is a deffinitive difference between reflection and specualrity
You are wrong about that. A specular reflection is basicly a fake blurred reflection. The following image is a very good illustration of this:
(This is not my work. I've also cropped the image and put it on my own webspace. The original image is in this thread: http://www.cgtalk.com/showthread.php?s=&threadid=7379)
The specular highlight on the plastic network cable is not made with a specular reflection but a blurred 'real' reflection of the enviroment (and a so called white card hanging above the object).
Look at the reflections in the metal, it is reflecting the same objects only it's a sharp reflection instead of a blurred one.
Of course if you have a shiny, highly polshed, reflective surface, you are going to want to, and in fact NEED to use both properties.
You really don't, look at the following image, the car paint has 0% specularity and 0% gloss:
The highlight you see on the carpaint is not a specular highlight, but the real reflection of an object in the scene acting as the sun.
In real life, every highlight on a object comes from a real lightsource, and is in fact a real reflection. (a sharp or a blurred/scattered one).
Specular reflections are 'fake'. If I had the choice I would use blurred real reflections, which look nicer in my opinion. Like Leigh said, a specular reflection doesn't mimic the shape of the lightsource. A specular reflection of a window still gives a round highlight, not a rectangular shaped one.
Sadly, the computers just aren't fast enough for that to be possible (maybe for simple stills, but not for complex objects and animations).
Leigh, one thing I think is missing in this tutorial is an explanation of the importance of the enviroment that is being reflected
A short explanation how High Dynamic Range images work would also be a valuable addition, since lots of people use these to beef up their reflections.
www.cgskies.com/ - 300+ HDR panoramic skies!
www.cgtextures.com/ - I like textures!
Last edited by Marcel : 08 August 2002 at 01:06 PM.
|08 August 2002|
One image a decadeportfolio
Technical Art Director
This is cool! There should be more workshops like this. With all the pros visiting this site, it would be could if they could just show us how they modeled their latest character or vehicle. No need to make it a tutorial, just show us how you proceeded I hope other will take part in this.
|08 August 2002|
Los Angeles, USA
Quote: Originally posted by Grooveholmes
I've got to agree with CitezenVertex on this one.
I wouldn't recommend that. He did not provide a devastating blow to Leigh's post. She is right.
CitizenVertex 's half right about specularity. What he's half wrong about is a combination of things: How specularity is generally used, and how specularity is not being properly treated in LW.
In real world photography, specualrity IS very different from reflections and is treated differently. Photographers put polarizers on their cameras in order to filter out specularity sometimes. However, a polarizer cannot filter out reflections. Photographers take advantage of specularity in order to add depth to an image, or they filter it out to reveal details underneath it. It all kind of depends on what the aim of the photo is.
Lightwave has a very interesting feature: You can tell lights not to cast specular or diffuse reflections. This can be used to simulate the polarizer on a photographer's lens. I frequently make clones of the key lights. The first clone has specularity disabled, the second clone has diffuse disabled. One light controls the specularity, and the other controls the diffuse. If I don't want the object to have lots of highlights, I just turn the specularity light down.
I mentioned earlier that CitizenVertex was only half right. Maybe that wasn't quite the proper way to phrase it. I was measuring the tone of his post more than the details of it. The problem is that most people (at least that I've seen elsewhere, Im new to CGTalk. My opinion is not based on work I've seen here..) don't use specularity properly. They may get nice results, but I'm not convinced that they are fully aware of what they're doing with it. It is basically assumed that specularity makes something shiny. Which is fine, it does that. However, the circumstances of that shine (as I mentioned above) are in control of the photographer. You have to know when you want the highlight to reflect the light source or when you want the specular highlight to come up.
Starships come to mind as I write this. Star Trek in particular. Sometimes a starship looks really shiny, sometimes that same ship looks dull and rough. This happens for the reasons I mentioned above when the models are being filmed. Photographer's choice. But when I see ameteur models of these ships, they either have specularity turned on, or they have it turned off. They don't realize that there is a nice inbetween they could take if they took the time to tweak it.
It's for this reason that I think Leigh is right. For the intents and purposes of the people making use of this tutorial, her point is very valid. Specularity is fake. Unless they realize that specularity works the way CitizenVertex described, it is not being used that way at all. People use it to simlulate exactly what Leigh described with the car. For that case, what Leigh is saying is very important, and gives people a much better understanding of what it's all about. If you think of specularity as fake, then you understand what it is you need it to do and THEN get the results you need.
I mentioned that LW's interpretation of specularity is wrong. The problem with specularity is that it doesn't take into account the size of the light, or the incidence angle. Fortunately, LW lets you fix this. You can use area lights to fix the shape of the specularity, and you can use the fast Frensel plugin that Leigh suggested earlier to fix the incidence problem. However, in the case of light up signs and so on, you really need a texture to do that. Bing bing! Reflections come in. You can do with reflections what you cannot do with specularity. That's why what's being said in this thread is extremely valuable.
CitizenVertex was definitely right that there is room for both. However, it does not detract from what Leigh is saying.
Maestro 2 is out!
|08 August 2002|
a bit cheesy
i read you, Nano - very interesting. I'm no physicist so I can't comment, BUT remember these tuts are 'Photorealism for Dummies' (not physicists) - tricky stuff explained in nice clear English. Speaking as a dummy, I think they do a damn good job
What might be useful is more practical info on how to create the custom texture maps that Leigh constantly recommends. Specific PS tools, resolution, blending modes, how to paint out shadows and highlights fom photos etc. It's hard to find good info on this stuff, 3D texture-wise.
"A shroe, a shroe, my dingkom for a shroe" - Speakhearse (Thelma)
|08 August 2002|
London, United Kingdom
Quote: Originally posted by CitizenVertex
It is not a reflection of the physical lightsource or a true reflection
You are wrong, I'm afraid. Check this article by Neil Blevins.
Also, re polarisers: reflections are exactly what polarisers cut out, specular reflections from materials like water. Photographers often use polarisers to cut down reflections on water or glass. Check this link to see a demonstration of how a polariser cuts out reflections on glass.
IMO the specular properties of shiny materials are much better controlled by refection of real lightsources rather than using specularity. Those plain round highlights are one of the main reasons that so much CG makes the world look as if everything is made of plastic
|08 August 2002|
Lord of the posts
pretty picture maker
just to add my two cents to the argument:
Back in the early days (long before I even knew what CG was), the lambertian model of shading was the first to be used, because it was simple, fast and based on empirical observations of "rough-ish" surfaces. For those of you who are mathematically minded, the amount of illumination is proportional to the cosine of the incidence angle and the surface normal. This is called the diffuse model of reflection as it deals with surfaces that diffuse incoming light as the rays are scattered in all directions by microscopic surface irregularities. This is like the Lambert shader in Maya
Now that's fine for rough-ish surfaces, but what about smooth surfaces? A perfectly smooth surface will reflect a perfect "image" of the light source. That means that for a perfectly smooth sphere illuminated by a single light, you will only be able to see the sphere when the angle of incidence of the incoming light equals the angle reflection of the reflected light from the surface, i.e. when the light is bouncing off the sphere straight into your eyes, otherwise the sphere will be black. There are several functions for the calculation of the falloff of the specular highlight (the reflection of the light source), the two most common being the hook and blinn functions. What these functions all do is describe the falloff from the specular highlight colour to black around the point on the surface when the light relection vector and the viewing vector coincide, thus giving a round highlight.
This is the specular model of reflection and is something like the metal shader in 3dsmax
So now we have reflection models for perfectly smooth and fairly rough surfaces, but as we well know in real life things are usually somewhere in between the two. So these two are additively combined (along with ambient reflection) to make the Phong illumination model, which allows you to have diffuse light reflection and a specular highlight! woohoo! joy to the world!
But - as has been pointed out - specularity, as described in CG models, is a fake. What we should see is a reflection of the light source, not a round highlight. The reason we can usually fake it as such is that no surfaces are perfectly smooth. We do not expect to see a perfect image of the light source unless we are looking in a mirror. So a bright smudge will do just fine for most applications.
So if we want a more realistic highlight then we just use no specular reflection and raytrace instead. But, as (i think) Leigh neglected to mention, we must then include some geometry to represent the light source.
If we don't want a perfectly smooth surface then we have to use a blurred reflection function (which adds to our render time).
As with all things in CG, we have to compromise and the fake is usually sufficient. There's no point raytracing with blurred reflections to simulate the specular highlights on a character's face for example. Although the end result would be realistic, I doubt you'd be able to do enough test renders to get it looking right before you'd died of old age.
As Leigh said, correct use of specularity is vital in conveying a sense of "smooth" or "rough" surfaces. Smooth surfaces look smooth, not because they are reflecting "more" light, but because they are reflecting more light straight at us (provided we are looking at them from the right angle).
I won't get in to sub-surface scattering, suffice to say it's effect is like diffuse reflection, only more so
You can have your characters photoreal, fast or cheap. Pick two.
|08 August 2002|
Leigh van der Byl
A cog in the wheel
Hertfordshire, United Kingdom
Wow, I get back from the weekend to find loads of replies here, my PM inbox flooded, and my email straining from all the response
Thanks for all the ocntributions and debate so far people - this is what it's all about!!
dark_lotus, Canofworms, l_farley13_l, d_hansbury, Sevarf2, Aura, wgreenlee1, Hookflash, Phil "Osirus" - thanks for all the postive and encouraging comments
HapZungLam - I will be putting together a bit on painting specularity and reflection maps as soon as I have a bit more spare time again. In the meantime, just read the tips that I put together, and see what you can use from that.
The overall amount of spec that skin has is tricky to say. What I always do is make a spec map using shades of grey, load it into my spec channel, and then just adjust the spec amount until it looks right.
For wood (and anything else actually), I tend to always use combinations of both reflection and specularity. As I said, I find that I, personally, get the bets results when I use both.
Fingerprints - nah, you don't have to go and put them onto absolutely everything. However, I do find that for things like glass, it looks great. I know that in reality everything we touch does get fingerprints on it, but I guess most substances absorb the oil from the prints, so that they are no longer as visible.
To add fingerprints to your spec and ref maps, just paint them onto the maps - as I explained, the best way to do that is to make brushes in Photoshop that look like fingerprints. Then you paint them on, making those areas darker.
road - Max's material editor is pretty cool, yeah, but for best results, it's advisable, in my opinion, to use the raytrace materials - they allow more options, and give you greater control in terms of setting up surfaces which act the way they should in the real world.
boomji - hehehe what a funny story! I love that intro! And yeah, I'm a true Leo to the end...
Goon - as I explained above to HapZungLam, fingerprints are great, but indeed are unnecessary unless it's for glass. Looking at my computer monitor, I see that although it has been recently cleaned, there are still oily smudges and fingerprints on it, so if I were to make a CG computer monitor, I would most certainly add the fingerprints to the texture. Something else that would work very well in conjunction with the fingerprints would be to use some gradients along with them to give that oily array of colours when you see the fingerprints from some angles. Now THAT would look cool....
But yeah, with most other surfaces, the fingerprints do disappear rather quickly, so it's mostly unneccesary to put them there. Unless you are a real detail freak...
dwkim - thanks for that info on rendering. I do know about some of that stuff that you mentioned, but I thought not to include it because I didn't want to confuse the texturing issue with the rendering issue at this point - because I wasn't writing about reflection environments, just reflection maps for the objects reflection channel. However, I am glad that you did post all that so that people can find that out once they have read the actual workshop
CitizenVertex (and also Galo and Grooveholmes)- I knew that this debate would start, it was one of the reasons why I posted this in the first place. The whole specularity VS reflection debate is a fascinating one, which is why I posted both sides of the equation and left it up to the readers to experiment and decide for themselves which methods work for them.
"Specularity allows you to vary the angle at which light is reflected creating a hotspot of the surface." - yeah, that is why I mentioned anisotropic specularity, because that is the function you use for altering the angle.
I do disagree with you on the point of specularity being a reflection of light in general though. There is no such thing as "a general reflection of light" - the light came from somewhere, the lighsource, so it would stand to reason that the reflection is therefore always of the source, however distorted or blurred it may be.
Like I said, I personally find that a combination of the two gets great results, but I do believe that specularity in its 3D incarnation is, technically speaking, a fake.
Specularity, in this sense, does not actually exist in the real world - it is a phenonmenon of artistic recreation of objects. As I explained, the term specularity refers to specular highlights, which are actually reflections of the lightsource. Therefore, it's logical that there would be a debate as to the use of specularity in CG, when in terms of reality, reflection is the one that should be used.
However, as far as I am concerned, because all of CG is a big fake, I don't see why I can't use specularity - if it looks right, then I use it. And 99.9% of the time, I find that using specularity does give me the look I am after, so I use it.
Marcel - "A specular reflection of a window still gives a round highlight, not a rectangular shaped one." Yup, you nailed it right there. That is exactly what I am talking about Thanks for clarifying it so simply.
NanoGator - thanks for that in-depth analysis. Some great info you have written there. Don't worry, you didn't kill the thread at all - your contribution was valid, and I'm sure everyone appreciates it!
psil - I do want to put together a workshop on more Photoshop-specific stuff, but I will only do that right at the end. I want to go through all the specifics of the aspects of texturing first, and then go into their practical creation.
frog - "Those plain round highlights are one of the main reasons that so much CG makes the world look as if everything is made of plastic" - so true. That's why I use both - specularity does tend to make things look plasticy because of the round shape of the highlights. However, the reason I discussed the BRDF shader is because using anisotropic specularity does tend to make the highlights a lot less round, and thereby a little more realistic.
That said though, I do think that specularity has to be used carefully and in moderation to ensure a realistic look at the end.
playmesumch00ns - thank you so much for all that! Unfortunately, I do not know a lot of the details regarding that more technical stuff (such as Blinn and Phong shading models), and I ws hoping that somebody would post a bit about it all.
"But, as (i think) Leigh neglected to mention, we must then include some geometry to represent the light source." - oops you got me hehehe I did forget to mention that... Although I would think that it would be a pretty obvious thing to do. I always have luminous objects floating around where the lights are to represent the light sources - works like a charm.
Thanks for your explanations!
|08 August 2002|
this really helped me i learned a lot
so if anyone saw my texturing head post
i use raytrace material as a submaterial to phong
and turn off the specularity down to zero and use my
painted map. Now if we pain the specularity map we will
be just guessing where the sports are. I understand the
irregularity and everying but I find that using raytrace material
worked better then withou it.
Anyone plz add to what I am saying if i am missing something.
plz check my posts too
also what i am finding is that there is a lot of guess work at least for me at this stage when texturing. Can someone plz tell me what lights should be used when texturing? What is the workflow between lights in the scene and the texturing , especially when painting spec maps.
|Thread Closed share thread|