Appendix E. OpenGL Environment Variable Settings

Full scene antialiasing

Antialiasing is a technique used to smooth the edges of objects in a scene to reduce the jagged "stairstep" effect that sometimes appears. Full-scene antialiasing is supported on GeForce or newer hardware. By setting the appropriate environment variable, you can enable full-scene antialiasing in any OpenGL application on these GPUs.

Several antialiasing methods are available and you can select between them by setting the __GL_FSAA_MODE environment variable appropriately. Note that increasing the number of samples taken during FSAA rendering may decrease performance.

The following tables describe the possible values for __GL_FSAA_MODE and the effects that they have on various NVIDIA GPUs.

__GL_FSAA_MODE GeForce, GeForce2, Quadro, and Quadro2 Pro
0 FSAA disabled
1 FSAA disabled
2 FSAA disabled
3 1.5 x 1.5 Supersampling
4 2 x 2 Supersampling
5 FSAA disabled
6 FSAA disabled
7 FSAA disabled

__GL_FSAA_MODE GeForce4 MX, GeForce4 4xx Go, Quadro4 380,550,580 XGL, and Quadro4 NVS
0 FSAA disabled
1 2x Bilinear Multisampling
2 2x Quincunx Multisampling
3 FSAA disabled
4 2 x 2 Supersampling
5 FSAA disabled
6 FSAA disabled
7 FSAA disabled

__GL_FSAA_MODE GeForce3, Quadro DCC, GeForce4 Ti, GeForce4 4200 Go, and Quadro4 700,750,780,900,980 XGL
0 FSAA disabled
1 2x Bilinear Multisampling
2 2x Quincunx Multisampling
3 FSAA disabled
4 4x Bilinear Multisampling
5 4x Gaussian Multisampling
6 2x Bilinear Multisampling by 4x Supersampling
7 FSAA disabled

__GL_FSAA_MODE GeForce FX, GeForce 6xxx, GeForce 7xxx, Quadro FX
0 FSAA disabled
1 2x Bilinear Multisampling
2 2x Quincunx Multisampling
3 FSAA disabled
4 4x Bilinear Multisampling
5 4x Gaussian Multisampling
6 2x Bilinear Multisampling by 4x Supersampling
7 4x Bilinear Multisampling by 4x Supersampling
8 4x Bilinear Multisampling by 2x Supersampling (available on GeForce FX and later GPUs; not available on Quadro GPUs)

Anisotropic texture filtering

Automatic anisotropic texture filtering can be enabled by setting the environment variable __GL_LOG_MAX_ANISO. The possible values are:

__GL_LOG_MAX_ANISO Filtering Type
0 No anisotropic filtering
1 2x anisotropic filtering
2 4x anisotropic filtering
3 8x anisotropic filtering
4 16x anisotropic filtering

4x and greater are only available on GeForce3 or newer GPUs; 16x is only available on GeForce 6800 or newer GPUs.

Vblank syncing

Setting the environment variable __GL_SYNC_TO_VBLANK to a non-zero value will force glXSwapBuffers to sync to your monitor's vertical refresh (perform a swap only during the vertical blanking period).

When using __GL_SYNC_TO_VBLANK with TwinView, OpenGL can only sync to one of the display devices; this may cause tearing corruption on the display device to which OpenGL is not syncing. You can use the environment variable __GL_SYNC_DISPLAY_DEVICE to specify to which display device OpenGL should sync. You should set this environment variable to the name of a display device; for example "CRT-1". Please look for the line "Connected display device(s):" in your X log file for a list of the display devices present and their names. You may also find it useful to review Appendix G, Configuring TwinView (Configuring Twinview) and the section on Ensuring Identical Mode Timings in Appendix J, Programming Modes.

Disabling CPU-specific features

Setting the environment variable __GL_FORCE_GENERIC_CPU to a non-zero value will inhibit the use of CPU-specific features such as MMX, SSE, or 3DNOW!. Use of this option may result in performance loss.