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
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.
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:
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.
This method, which transitions between consecutively, internally "stockpiled" effigies of the texture that are continuously reduced in size, offers the best image quality:
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:
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:
A value of 0 will disable the correct rendering and will display the transparency as a raster effect.
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.
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.
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.
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.
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:
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.
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.
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:
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!