The viewport in Blender will work as follows.
We split options into two categories, Shading and Overlays. Shading is all the stuff that relates to the shading itself, such as colours, lighting, surfaces and shadows. Overlays are the things we display on top, such as wireframes, relationship lines, normals etc.
Here's how we will lay it all out:
----
= Shading
Below is a description of the settings we will put in the **Shading** popover:
== Single Color
This option displays objects in the viewport as single color objects. We have three ways of picking the color:
- **Single Color**
- //This sets the same color for the whole scene//
- **Object Color**
- //This option uses the Object's Color option//
- **Material Color**
- //This option uses the Material's Color option//
- **Random Color**
- //This option uses a random color algorithm//
We also have several ways to control the lighting:
- **Flat Lighting**
- //No lighting. Everything is completely flat//
- **Studio Lighting**
- //This option ignores all the lights in the scene, and allows users to set an HDRI-ball as their lighting input. A shadow direction is calculated from the HDRI.//
- **Scene Lighting**
- //This uses the lights in the scene to light the objects and cast shadows//
=====Additional Options:
- **Cast Shadows on/off**
- //This option turns on shadows from the sun, as defined by the lighting above. The Shadow direction is inherited by the Studio Light or Scene Lighting direction and is automatically inferred from the HDRI//
- **Contact Shadows on/off**
- //This option turns on ambient occlusion contact shadows. Useful for judging contacts in animation//
== Textured
In Textured Mode, you see the active Texture for each Material for each Object.
The active material is set in the nodes view. If a material has no active texture, or no textures at all, we just display a neutral color.
We also have several ways to control the lighting:
- **Flat Lighting**
- //No lighting. Everything is completely flat//
- **Studio Lighting**
- //This option ignores all the lights in the scene, and allows users to set an HDRI-ball as their lighting input. A shadow direction is calculated from the HDRI.//
- **Scene Lighting**
- //This uses the lights in the scene to light the objects and cast shadows//
=====Additional Options:
- **Cast Shadows on/off**
- //This option turns on shadows from the sun, as defined by the lighting above. The Shadow direction is inherited by the Studio Light or Scene Lighting direction and is automatically inferred from the HDRI//
- **Contact Shadows on/off**
- //This option turns on ambient occlusion contact shadows. Useful for judging contacts in animation//
== Material
The Material Shading view is used when Cycles is set as the Renderer. This option uses Eevee to preview the lighting and shading of your Cycles materials.
In the Material View, we support the same lighting modes as above:
- **Flat Lighting**
- //No lighting. Everything is completely flat//
- **Studio Lighting**
- //This option ignores all the lights in the scene, and allows users to set an HDRI-ball as their lighting input. A shadow direction is calculated from the HDRI.//
- **Scene Lighting**
- //This uses the lights in the scene to light the objects and cast shadows//
=====Additional Options:
- **Cast Shadows on/off**
- //This option turns on shadows from the sun, as defined by the lighting above. The Shadow direction is inherited by the Studio Light or Scene Lighting direction and is automatically inferred from the HDRI//
- **Contact Shadows on/off**
- //This option turns on ambient occlusion contact shadows. Useful for judging contacts in animation//
== Matcap
Matcap is a combination of both a material and lighting. Users simply pick a **Matcap** from the list.
We also allow **Cavity** to be enabled.
=====Additional Options:
- **Cast Shadows on/off**
- //This option turns on shadows from the sun, as defined by the lighting above. The Shadow direction is inherited by the Studio Light or Scene Lighting direction and is automatically inferred from the HDRI//
- **Contact Shadows on/off**
- //This option turns on ambient occlusion contact shadows. Useful for judging contacts in animation//
== Rendered
This simply represents the final output of the** Renderer. **
----
= Overlays
Here's a list of the Overlays we will provide, which are common to all the modes:
- Grid Floor (XYZ, Lines, Scale & Subdivisions)
- Relationship Lines
- Face Orientation
- World background
- Motion Paths
- 3D Manipulators
==== Edit Mode Overlays
- Object Isolation (Dims everything that is //not// the objects in the active mode. Used to make the edited objects stand out to make it clear which ones you are editing.)
- Faces
- Edges
- Creases
- Seams
- Sharp
- Bevel
- Edge Marks
- Face marks
- Weights
- Edge Length
- Edge Angle
- Face Area
- Face Angle
- Mesh Analysis
- Overhang, Thickness, Intersect, Distortion, Sharp
// Note: We will have one toggle called 'Overlays' that will toggle of //all// overlays in the viewport. This is equivalent to the old Only Render option.//