Reference Cinema 4D Cinema 4D Prime Configuration Preferences
Function available in CINEMA 4D Prime, Visualize, Broadcast, Studio & BodyPaint 3D

OpenGL

Tip:
For best Hardware OpenGL display results you should always use state-of-the-art graphics cards.

RELEASE 18

Hardware OpenGL

Cinema 4D shades (i.e. draws) the objects in the viewport using one of two modes: Software Shading or OpenGL Shading (you will find options for these two modes on the Software Shading and OpenGL Shading pages).

Use this option to switch between accelerated OpenGL using the graphics card (option enabled) and OpenGL using the CPU (option disabled). This affects the scene display while working in the Viewport.

The Software Shading mode has been replaced in Cinema 4D R18 (this is now only used when painting in BodyPaint 3D). The Viewport display now only uses OpenGL. In addition, OpenGL will also render using the CPU - in the following referred to as Software OpenGL - in addition to the graphics card - referred to in the following as Hardware OpenGL.

This bears the following advantage: Visually, both modes differ only slightly (these differences are described below). Therefore, Software OpenGL effects such as lighting, shadow casting, Normal mapping, etc. can be displayed in the Viewport. Previously, this was only possible using the graphics card.

Using Hardware OpenGL is faster and is therefore generally recommended for normal use. This option should only be disabled if you experience problems with the graphics card display. In this case, make sure you reduce the Enhanced OpenGL settings (Viewport’s Options menu). OpenGL runs much faster using the graphics card than the CPU!

If you’re not sure which type of OpenGL Cinema 4D is using (the application has to be restarted if you switch methods), click on the Show OpenGL Capabilities in the Preferences menu. Take a look at the Version information in the 3rd line. If you see something like "3.3 (Core Profile) Mesa" then Software OpenGL is active. "Mesa" is a graphics library that, among other things, is used to render OpenGL using the CPU.

Differences between Software OpenGL and Hardware OpenGL

There are several slight differences in the way these OpenGL modes display a scene, which means that an all-encompassing consistency cannot be guaranteed.

In particular, Software OpenGL cannot display the following:

  • Antialiasing: The viewport antialiasing described below
  • Dithering: The dithering described below (Enable Dithering in Viewport)
  • Rendering that requires the graphics card such as tessellation - the viewport tessellation that can be defined in Cinema 4D (e.g., in a material’s Editor tab or with Subdivision Surfaces (OpenSubdiv Catmull-Clark Adaptive) - or SSAO (the Ambient Occlusion approach).
  • The Outlines

Texture Mode

Texture Interpolation controls which method is used to interpolate the textures when you zoom objects in the viewport: Nearest or Linear. Nearest uses the color of the nearest pixel in the texture, causing hard transitions in the zoomed texture. Linear uses linear gradients (i.e. linear interpolation) to create smooth or blurry transitions in the zoomed texture.

Texture Interpolation set to Nearest (top right) and Linear (bottom right).

Linear Mip Map

This method, which transitions between consecutively, internally "stockpiled" effigies of the texture that are continuously reduced in size, offers the best image quality:

Various settings and their effects.

Anti-Aliasing

Use this selection menu to define the degree of antialiasing that will be displayed while working in the Viewport (not when rendering).

Antialiasing does not work if:

Maximum Transparency [0..10]

This option is not that easy to understand. This value defines the number of transparency layers that will be drawn correctly. It can be increased if faulty displays occur for several consecutive objects in a row that have different transparent materials:

At left a value that is too small, at right a larger Maximum Transparency value.

A value of 0 will disable the correct rendering and will display the transparency as a raster effect.

Maximum Lights [1..20]

Use this setting to define the maximum number of light sources will calculate (in the order in which they appear in the Object Manager). Higher values will lead to slower display times.

Maximum Shadows [0..10]

Use this setting to define how the shadows of light sources are displayed (in the order in which they appear in the Object Manager). A value of 0 will result in no shadow being displayed. The presence of very many shadows can slow down the display. Shadows are one of the most render-intensive OpenGL features, which is why this option can be used to define a maximum number.

Use Shader Cache

If enabled, the compiled Shaders in the Project will be saved. In rare cases, enabling this option can cause the graphics card’s driver (applies only to Hardware OpenGL) to crash the application. If this occurs, disable this option.

RELEASE 17

Enable Dithering in Viewport

Note the marked brightness gradations at the left (don’t be irritated by the JPEG artefacting).

Banding can occur when you have gradual gradations in brightness (in the example above it occurs on the transition from RGB 69, 69, 69 to RGB 70, 70, 70). Dithering can visually resolve hard color transitions.

Note that Dithering does not work in conjunction with Software OpenGL.

Show OpenGL Capabilities...

Click on this button to display the OpenGL capabilities of your system. This is relevant for Hardware OpenGL, i.e., if you need the power of your graphic’s card (has a command of Software OpenGL as well as all required features). The following window will open:

Several values will be listed:

More important than the values shown is the statement at the bottom of the window; it should read: Your graphics card has all necessary extensions for Enhanced OpenGL. Only if you see this message will you be able to select Enhanced OpenGL in the OpenGL shading settings. This test is also performed automatically when the application is launched.

More information about this special type of OpenGL can be found in the OpenGL shading settings of this chapter:

Left: Editor view with Enhanced OpenGL. Right: Rendered. Notice the shadow casting, translucency, bump maps, reflections and normal mapping for the sphere on the right!

Enhanced OpenGL offers the most important material channels and lighting properties that can be displayed fluidly in the editor view without having to render the image.

Enhanced OpenGL can be activated separately in each view (Display menu) also with regard to effects such as shadow, transparency, etc.

Tip:
Enhanced OpenGL, including corresponding options such as transparency, shadow and post effect, etc., must be activated in the respective view (Display menu). Cinema 4D supports OpenGL post effects (e.g., the Cartoon Renderer post effect) only to a limited degree.

Don’t expect miracles, though. It is impossible for any OpenGL to display all Cinema 4D lighting or material properties and there is no guarantee that the OpenGL display in the editor view will reflect the actual rendered result (OpenGL and Cinema 4D renderers simply differ too greatly from one another). Enhanced OpenGL serves primarily to offer instant visual feedback for everyday situations without having to constantly test-render your scene, in particular with regard to the depiction of shadows.

Tip:
With regard to Hardware OpenGL, Make sure you always use the most current driver for your graphics card.

Also make sure that the graphics card driver lets you enable and disable certain graphics card options. For example, antialiasing for transparent objects can be disabled, which, of course, would result in making it impossible to render smoothed, transparent objects in Cinema 4D.

The following properties are, for the most part, supported and can therefore be seen directly in the editor view:

A Noise shader (Sema) in the Normalizer unrendered in the Viewport, left non-native, right native rendering.

Shaders rendered non-natively in the graphics card (e.g., Tiles, Bricks, etc.) will be emulated. This is done using a relatively small shader preview (bitmap) internally that is projected onto the object via UVW projection. These bitmaps will be saved with the scene, which can result in vastly larger (scene) file sizes!

Note:
Since this functionality emulates shaders, opening a scene that contains many shaders can require a lot of memory.