Quasar
Moderator

Posts: 5139
Registered: 08-00 |
GL configuration options are in system.cfg - Sorry these aren't available in the menu yet; I kinda forgot about doing it before release and wanted to get the version out there for people to use.
Note that all of these options are available in the console and allow input of named options instead of numbers when set that way:
* i_videodriverid (-1, 0, 1)
Default is -1 which means to choose the highest priority video backend. This is currently SDL Software. 0 == SDL Software (explicitly configured), and 1 == SDL GL2D. Set this to 1 in order to enable the GL backend.
* i_videomode <geom string>
Same old video mode setting as always, in the form of WWWWxHHHH[flags]
* use_vsync (0 or 1)
Be sure to enable this to get glass-smooth updates. Default is enabled although it never did anything under SDL software *unless* your driver supported true DirectDraw 5 accelerated blit modes.
* gl_use_extensions (0 or 1)
Set to 1 in order to enable use of all extensions. Currently this only applies to the GL_ARB_pixel_buffer_object extension.
* gl_arb_pixelbuffer (0 or 1)
Set to 1 (in addition to the above) to turn on the ARB pixel buffer object extension, which can accelerate updates 1.5-2x (but only if supported - EE will acknowledge at startup whether the extension was successfully initialized or not).
* gl_colordepth (16, 24, or 32)
Tweak the bitdepth of the GL context. 32 is the default and recommended setting.
* gl_texture_format (various)
Don't recommend changing this unless you are having driver or framerate issues.
* gl_filter_type (0 or 1)
Change from LINEAR to NEAREST filtering. This won't currently have much (if any) of a visible effect, and is there again in case of driver issues. Eventually this may matter more since I intend to add the ability to render to a lower resolution and then utilize hardware scaling via a transform matrix to draw it on a larger framebuffer.
* d_fastrefresh (0 or 1)
Be sure this is set to 1 if you are going to use GL. GL does not like or need the main loop to be calling I_Sleep constantly; the vsync and ARB pixelbuffer asynchronous DMA transfers allow EE to run in parallel to the screen update process, so waiting is counter-intuitive.
For those looking to compile on Linux:
A patch has already been submitted to update CMakeLists. I will push it out to the repo this evening.
|