Maximum Draw Type & Material Mode Shading in Blender

Spread the love

Blender display Objects within a scene in a number of ways, typically ‘textured‘, with ‘materials‘ or as simple ‘wire frame‘ outlines. This provides the User with a limited ability to customise the appearance of mesh Objects as they appear in the 3DView.

To a certain extent this is also ‘context-sensitive‘ and dependant on which of the three available “Shading” sub-system is being used – in “GLSL” mode for example, being able to ‘disable’ real-time lighting whilst at the same time seeing Objects with their assigned textures is not typically available by default, so a number of properties need to be set to enable this. The following tutorial explains how this can be done by activating various settings and options.

Note: a basic understanding of Blender is recommended to get the best from the following material.

Resources
Metric & Imperial Units
Edge length & Vertex Normals
3DView texture transparency
View Properties & Camera clip
Useful Keyboard shortcuts

Viewport Shading

Under normal circumstances, Blender renders the mesh Objects within a scene using one of the four main “Viewport Shading” modes available. They are;

  • Textured
  • Solid
  • Wireframe
  • Bounding Box

For Blender 2.72 and above the Scene can be rendered using a further two options; “Rendered” – which renders the scene using the main ‘static’ rendering engine, and “Material” – which approximates GLSL shading mode (lights. normal maps etc. are active). This is in addition to the traditionally available “Texture“, “Solid“, “Wireframe” and “Bounding Box” modes

For Blender 2.68 up to Blender 2.71, an additional option is avaiable which renders the Scene using the default ‘static’ rendering engine (although the scene and it’s contents can be manipulated in real time). The other options – “Texture“, “Solid“, “Wireframe” and “Bounding Box” work the same as in previous versions of Blender

For Blender 2.50 up to Blender 2.67 four main options are provided for Scene rendering that means Objects rendered in the 3D View as being; “Textured” – any textures applied to UV mapped items are visible; “Solid” – Objects are displayed as flat colours based on the “Diffuse” colour of any assigned Materials (light-greyish colour by default); “Wireframe” – displays the Scene contents as simple wireframes and lines, objects are not tinted, coloured or otherwise shown as being ‘solid’; and “Bounding Box” – everything is represented by a simple cubic primitive based on the volume is occupies

For Blender 2.49 and belowViewport Shading” is referred to as “Draw Type” but provide the same core rendering options – “Textured” (“Texture” in later versions of Blender), “Shaded” (ignores texture data and lights objects via vertex shading), “Solid” (Objects a draw flat coloured), “Wireframe” (objects are represented using lines only) and “Bounding Box” (outline based on object volume)

Each sub-system draws Objects relative to the selected modes inherent properties. For example, “Bounding Box” displays Objects as a simplified (usually some form of ‘cuboid’) wire outline which represents the total volume a particular mesh occupies. “Wireframe” shows the internal or underlying structure of a mesh, its ‘cage’. “Solid” typically represents Objects in simple flat shaded colours (normally a single tone determined largely by a Materials “Diffuse” property – the default being slightly off-white). And finally “Textured” mode will display bitmaps or other ‘image’ types mapped in some way to the object (or in the case of missing bitmap image, a bright pink colour, or flat white where a mesh has not yet been UVW unwrapped). By default the different modes cannot be combined. In addition, each viewport shading mode assigned to the 3DView has slightly different resource requirements depending on the global material “Shading:” system being used – the real-time demands of “GLSL” are greater than either the “Multitexture” default or “Single Texture” alternative (“Texture Face” in earlier 2.5 versions of Blender), especially when scenes are lit using placed “Lamp” objects.

What this means for the most part is that scenes and their contents, by default, have to be managed using an “all or nothing” approach to their display. What can be done if, for example, we wanted to limit the display of a set of finalised objects whilst at the same time see other objects fully rendered? This is where setting an objects “Maximum Draw Type” can be helpful as it allows just that by over-riding Blenders default Shading hierarchy.

Maximum Draw Type

What “Maximum Draw Type” allows is for the display of individual Objects using one of the aforementioned “Viewport Shading” modes – “Textured“, “Solid“, “Wireframe” or “Bounding Box” independently of the scene the said items are being rendered in. In other words, under specific circumstances (see below), setting this behaviour over-rides the Viewport Shading mode assigned to the entire scene so that a scene can in fact contain a combination of objects shown with different draw modes assigned. This reduces the over-heads associated with the more resource hungry scenes, strategically limiting some objects whilst leaving others fully rendered.

To change an Objects “Maximum Draw Type“, RMB select an individual Object. From “Properties” click the “Object” button (fourth from the left – shown below). Scroll down the available options to the “Display” sub-section and find “Type:“. Click the drop-down menu and choose one of “Bounding Box“, “Wire“, “Solid” or “Textured” modes from the list. On doing so, in the 3DView, the object should immediately change from using the scenes default ‘shading’ to the ‘draw type’ just set.

For all versions of Blender post 2.50 (up to and inlcuding latest versions) “Maximum Draw Type” is part of the applications main “Object” Properties – whilst the options position may vary slightly from version to version, it, along with other related features always appear in the “Display” sub-section

To change the way an Object is displayed in the 3D View, select it and from “Display” options click the “Maximun Draw Type” drop-down menu and choose entry from the four available “Textured”, “Solid”, “Wire” and “Bounds” (each of which functions the same as the 3D Views main ‘shading’ options…

… Blender will then ‘draw’ the Object in the 3D View based on the “Maximum Draw Type” selected, in this instance “Solid“, which shows selections drawn as flat coloured objects – the colour is determined by the “Diffuse” colour of an assigned Material (lightgrey by default)

For Blender 2.49 and below changing the way individual Objects are displayed is similarly in “Object” Properties (and the “Object” buttons sub-group of tools usually selected by default when selecting “Object” Properties). In the “Draw” panel tool group four options are available under “Drawtype” – “Shaded“, “Solid“, “Wire” and “Bounds” – which operate the same way as the 3D Views ‘shading’ options

Changing an Objects representation in Blender 2.49 is similar in that a “Drawtype” selection needs to be made by clicking on the available options – shown “Solid” is selected which draws the selection as a flat toned colour based on the Materials “Diffuse” setting

Selecting a "Draw Type" from the "Display"list

Selecting an object to reduce it’s ‘quality’. In “Display” properties click the “Type:” drop-down menu and select an item from the list…

Objects "Shading" changed - to "Solid" in this instance

… this then draws the chosen object using the selected and/or reduce shading normally assigned to an entire scene

Material Mode Shading

Allied to “Maximum Draw Type” is “Texture Solid“, a property which forces the display of textured objects in the main 3DView, even if “Viewport Shading” is be set to “Solid” – normally this draws objects as simple flat shaded shapes, coloured based on a given Materials “Diffuse” setting. This is useful when in “GLSL” mode as it allows for the toggling between two different lighting conditions whilst still showing objects as being fully textured (which cannot be done by default), in effect flipping back and forth between ‘textured’ but ‘flat’ lit, or ‘textured’ and ‘real-time’ lit.

Design note: when in “GLSL” mode, “Texture Solid” is over-ridden if an Object has its “Maximum Draw Type” set, i.e. if an object is specifically limited to “Draw Type > Solid” and at the same time the scene is set to “Viewport Shading > Solid” (“Alt+Z“), then that object will display as textured irrespective. However, if the scene is set to “Display > GLSL” mode then said-same object will display as flat shaded (solid coloured as determined by the Materials “Diffuse” setting).

To do this in the 3DView press the “N” key to open the “View Properties” panel and scroll down to the “Display” sub-section. Under the “Shading:” sub-heading click the checkbox to the left of “Texture Solid“, if the scene is already in Solid mode all objects will instantly change to display textures. This now means that, if GLSL mode is active, using “Alt+Z” will toggle between real-time lighting and flat lit textured meshes.

Setting "GLSL" as the viewports "Shading"

From “View Properties“, enabling “GLSL” real-time lighting in the main 3DView – this lights the scene using actual light (“Lamp“) objects rather than Blenders default “3 Point” system

Toggling to "Solid" mode from GLSL

Switching “Viewport Shading” to “Solid” whilst still in “GLSL” material mode – all objects receive flat lighting and are coloured based on Material settings

Setting "Texture Solid" displays meshes in "Solid" mode

Whilst still in “Solid” mode, activating “Texture Solid” forces Blender to draw Objects in the 3DView as fully textured – switching between “Solid” and “Textured” modes does not change the scenes “Viewport Shading” it simply replaces material colours with textures, lamp objects have no effect because the scene itself is still using the flat illumination associated with “Solid” mode

Toggling into "Textured" viewport shading shows objects lit by lamps in GLSL

Objects in the 3DView can now be toggled between being textured but flat shaded and textured but fully lit using the standard “Alt+Z” shortcut (switching between real-time lighting and flat shaded)

Conclusion

It goes without saying that once a setting is changed it is saved to the *.blend file being edited/created. That means the user must be mindful of the state in which objects are placed so as not to think it’s a problem or error at some point in the future when using the feature will likely be forgotten about. In instances where this technique is used, it may be worth adding a text ‘note’ to the file as a remember.

Display over-riding Viewport Shading of objects in GLSL mode

Fully lit scene in “GLSL” mode with a selected object set to “Wire” which over-rides both GLSL setting and “Viewport Shading“, even when “Texture Solid” is set


Spread the love