- [Narrator] Before talking about texture maps,
I want to give an overview of how materials are displayed
in the viewports.
That's important because you often cannot rely
on an active shade interactive production rendering.
A lot of times it's just too slow
for you to actually be able to do things
like place a map on a surface,
and you need to rely on the textures in the viewport.
Previously in the course,
we saw how to change the shading modes
from the Viewport Label Menu.
If you click on the Shading menu,
which is currently labeled
high quality user preset in my case,
click on that menu you can go into materials,
and choose either Shaded Materials or Realistic Materials,
and for either one of those
you can choose to display maps or not.
The setting that you choose here
will be assigned to all scene materials.
In other words,
all the materials that are applied
onto objects in the scene.
These options here will not affect any material
that is not applied onto an object.
Shaded mode is also known as a basic material,
and Realistic mode is also known as an advanced material.
And of course Realistic mode will give the best results.
A combination of the physical material,
and Realistic shading mode in the viewport
is the most accurate.
Shaded Material mode is the legacy viewport rendering.
It's highly simplified,
it's not physically accurate,
and it does not fully support OSL maps
or Open Shading Language.
So let's try it.
If we set this to Shaded Materials with Maps,
which is its current setting,
we see kind of a fuzzy result here in the distance, okay?
So let's go back back into that menu,
and choose materials, Realistic Materials with Maps
And now we see a much sharper result there.
So that's just one basic example
of the advantage of using Realistic mode.
I'm going to actually set this back
to Shaded Materials with Maps.
Now let's talk about how to control this
on a per material basis.
I'll open up the material editor
from its button on the main toolbar.
I've got two floor materials prepared.
On the right is floor legacy,
that's the one that's currently assigned
to the floor object in the scene.
It only uses legacy bit map nodes.
That's the native 3ds Max Bitmap
that has been around since version one.
Additionally, these bitmaps are connected
to some very ordinary plain vanilla map slots
or parameter inputs such as the base color,
the reflection color, and the bump map.
The other material I've got over here
if we pan with a middle mouse button
is the floor OSL physical material,
and it's much more advanced on two fronts.
Number one, it's using OSL maps,
and number two it's mapping those OSL nodes
into more exotic parameters.
Instead of mapping the base color here in this material,
I'm mapping the base weight.
I've done that to illustrate the necessity
for Realistic mode because basic Shaded mode
does not support all of this stuff.
In the slight material editor toolbar
there is a button up here
called Show Shaded Material in Viewport,
and that button operates on individual materials
or selections of materials
to allow you to choose either Shaded or Realistic mode.
But you know what?
The design of this button is extremely problematic.
The interface here is actually very confused
and very confusing.
I won't go into it, but just tell you not to use it.
The best way to set the shading mode
for all scene materials is through the viewport menus.
The best way to set the shading mode
for individual materials
is through the right-click menu in the material editor.
I'll go back over to floor legacy and right click on that,
and we see that
it is currently in Show Shaded Material in Viewport.
I can toggle this.
I can set this to Show Realistic Material in Viewport.
So enable that.
And if we look over in our viewport,
we can see we're getting a better result,
but just to make things more complicated
than they need to be, Shaded Material mode
and Realistic Material mode
can actually both on at the same time.
And that's actually kind of inefficient.
It's going to bog your system down.
If we were right click on that node once again
we'll see that turning Realistic Material mode on
did not turn Shaded Material off.
Although that does happen
if you use the viewport menus here it doesn't.
So if you use this menu, you'll need to remember
to go back in a second time quite often
and disable the other mode.
So I'll turn Shaded Material in viewport off,
right click a third time just to verify.
And again, if both of those are on at the same time
it's likely going to bog down your system.
So you need to double check on that.
But one advantage of Shaded mode
is the ability to preview maps
at any stage of the shading network.
So I'll actually go back to Shaded mode
and additionally go back and turn Realistic mode off
to demonstrate this.
So now if I turn Shaded Material in viewport off
at the level of the material,
I can actually enable it at the level of an individual map.
And that's helpful
because that'll give us the ability to see that map
as if it were connected to the base color.
And that's helpful for testing purposes.
I'll right click on this reflection color bitmap node,
and enable show Shaded Material in viewport for that node.
Now we see the reflection map
actually applied to the base color.
So that might be helpful for testing.
Okay, so I'll turn that back off again here
and I'll turn it back on again for the material.
If you've got a material that's using fancy parameters
or fancy OSL maps such as this floor OSL material
then you will need to be in Realistic mode.
And if I right click on that, I'll just check in on it.
I previously set it to Show Realistic Material in Viewport.
And so I can then assign this material to the floor
and that material is in Realistic mode,
but I have not changed the status
of all the other scene materials.
So they're all still in standard Shaded mode.
One final point about OSL maps,
Realistic mode is very accurate, but it is much slower.
In Realistic mode OSL maps have to be compiled,
whereas in Shaded mode OSL maps are merely baked
to bitmaps in memory.
Let me explain that.
An OSL map is actually a script
that has to be converted to machine language
in order to run in the viewport.
The viewport currently relies on a technology called HLSL
or High-Level Shading Language which is from Microsoft.
HLSL does the hard work of compiling to machine language,
so the video hardware acceleration can work,
and we get an image rendered in the viewport.
So the OSL script has to be converted to HLSL script,
which in turn has to be compiled into machine language.
And unfortunately HLSL is the bottleneck.
It's very slow.
All of this conversion,
and compiling could take a very long time,
or just fail completely.
And you'll see your viewport objects
display a gray checker pattern instead of a surface.
Sometimes all you need to you do is refresh the display.
You can just click in it
or navigate in it to sort of make it wake up,
but sometimes you will be forced to use basic Shaded mode
which is inaccurate but much faster.
Instead of compiling the OSL script,
and running it in the viewport,
Shaded mode displays a kind of dumbed down
baked version of that map.
It pre-renders the map at some specific pixel resolution,
and therefore the image it displays is less accurate.
Basic Shaded mode shouldn't be used for design decisions
for procedural maps like a noise,
but it's probably fine for bitmaps such as these.
Okay, that is the complicated,
and convoluted world of material viewport shading.
You need to be in the appropriate mode
depending upon what type of material or map you're using.