1.196 FAQ-918 What are OpenGL 3D graphs requirements and limitations?

Last Update: 10/21/2021

Starting from Origin 9.0, all 3D Graphs, 3D Function Plots and 3D Parametric Function Plots are created by default using OpenGL. This allows for much enhanced performance, such as faster plotting, fast rotation, surface lighting effects, and the introduction of some new plot types.

OpenGL graphing is dependent on hardware configuration of your computer. For best performance, we recommend:

  • A dedicated graphics card such as ATI Raedon™ Series 5400 or higher, or NVIDIA GeForce® 8400 or higher
  • Integrated graphics hardware such as Intel® HD 3000 or higher
  • For Mac: Virtualization software: Parallels® 8.0 or higher

We also recommend that you update your video driver to the latest version, to ensure that you have access to the latest OpenGL version allowed by your hardware. This update can be performed for both dedicated cards, and for integrated cards.

If your hardware configuration is below the recommended options, you have two choices:

  • Use the Preferences: 3D OpenGL Settings menu to open a dialog to customize OpenGL settings
    This dialog offers options to turn off certain OpenGL settings such as transparency and anti-aliasing, and this can help avoid problems you may encounter.

  • Turn off OpenGL
    You can use the Preferences: System Variables dialog and set ogl=0 to turn off OpenGL. All 3D plots will then utilize non-OpenGL drawing code that existed in previous Origin versions.
    FAQ918-System Variables.png

Some useful commands:

  1. To tell if a 3D graph is OpenGL-based or not:
    • With graph window active, run layer.IS3DGL=. If it returns 1, it's OpenGL-based. If it's 0, it's created by old way (GDI-based).
  2. To convert a GDI-based 3D graph to OpenGL-based:
    • layer -3d c;//convert the current layer to OpenGL
    • win -dg; //Duplicate and convert the current graph window to OpenGL

Example 1: This is an example to make all GDI-based 3D graphs in an Origin project produced by earlier versions or when the system variable @ogl=1 is 0 convert to OpenGL based.

doc -e LP //execute for all graph windows
  layer -3d c;//convert the current layer to OpenGL

Example 2: This is an example to duplicate and convert all non OpenGL-based graph windows in the current project explorer folder into OpenGL-based:

doc -ef P //Execute for the given script for all graph objects in the current folder
 if(!layer.IS3DGL) // layer.is3dgl is used to determine whether current graph is 3d opengl graph
	win -dg; //Duplicate and convert the current graph window to OpenGL