Shaders, Materials & Presets

edited December 1969 in New Users

Hi,
I'm just trying to get my head around the basic concepts of Surface Materials & Shaders etc. So I'll try to explain my understanding and would greatly appreciate any feedback to steer me in the right direction.

Surface: An individual or group of planes, polygons or facets of an object which form part, or all, of an objects geometry/shape. For example a cube has six faces.

Surface Material: By default any surface on an object must have a surface material (in order for it to be rendered). An objects surface material is a set of formulas (usually expressed as channels like ambient, diffuse, reflection, opacity) that tell the render software how to calculate how much is light is reflected, how much is absorbed, how much passes through, which direction(s) it goes in and what changes occur to the light that reaches the surface.
These can range from the default grey plastic up to complex human skin with channels for subsurface blood vessels and complex reflections for pearlescent paint on cars.

So for example under the Surfaces tab in DS 4.5 (Create/Add Primitive/Cube) there will be a line 'cube', that is the object name. Beneath that is a line 'Default' which is the surface material name and then follows several lines starting with 'Diffuse' which is one channel which then has 'Diffuse Color' and 'Diffuse Strength' are the Properties of the Diffuse channel.

Now this is where I start to get confused....

A Material preset (from the Content Library) only changes the property settings of the existing Surface Material (including adding texture maps, displacement and transparency maps if required). It can't and doesn't add any extra channels?

A Shader preset (from Content Library) changes not only the property settings but can add (or remove?) new properties (e.g. a 2nd reflection channel) to the surface material.

A Shader can be limited to effect only one or two channels only (like opacity or refraction) or all of them but a Material always effects all the channels(?)

You can only create your own custom Material (preset) by changing the properties in the Surface Tab?

You can only create your own custom Shader preset in Shader Mixer or Shader Builder Tab?

Therefore you can create a custom Material preset that works with a specific Shader preset? If the extra channels are not present the Material preset ignores them?

Some/All of the Material properties can be inherited from an imported .obj files corresponding .mtl file but Shaders are native to Daz Studio?

Ok, time for a cup of tea and a custard cream I think. I swear if I ever get my head around this I'm going to put a diagram together as a reference for future muggles.

Cheers

Trev

Comments

  • Richard HaseltineRichard Haseltine Posts: 101,032
    edited December 1969

    A shader is code that tells 3delight (the renderer) how a surface behaves. A shader also has a script associated with it that is sued to tell the Surfaces pane what sliders and buttons to display, and passes their values to the shader at render time. Both a Materials preset and a Surface preset can apply a different shader, as well as setting the values for the properties of the shader. The difference is that a Materials preset has settings for one or more named surfaces, and will do nothing to surfaces that don't match its target names, while a Shader preset is indifferent to names and affects all selected surfaces on alls elected objects.

    To change the settings in the Surfaces pane you need a new shader - one that comes with DS or that is purchased as an add-on, or one you create with a Shader Mixer network, or one you code with Shader Builder or by writing raw RSL code in a text editor.

  • MythmakerMythmaker Posts: 606
    edited December 1969

    This Sept 2013 discussion has basic answers to this question.

Sign In or Register to comment.