ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


renderer_identification

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
renderer_identification [2019/08/26 03:51] korshunrenderer_identification [2019/08/26 03:53] korshun
Line 28: Line 28:
 ===== How it works ===== ===== How it works =====
  
-First, ''IsOpenGL'' checks if it's running serverside (see above).+This functions first calls [[client_server_detection|IsClient]] to see if it's running on a client (see above).
  
-Then ''IsOpenGL'' calls [[renderer_identification|IsZDoom]] to check if it's running in ZDoom. Since ZDoom doesn't have an OpenGL renderer, the renderer is assumed to be software in this case.+If it's running on a client, it calls [[port_detection|IsGZDoom]] to check if the port is GZDoom or a derivative like Zandronum. If the port is not a GZDoom derivative, it can't have the OpenGL renderer, and this function returns false. This is to prevent detecting the OpenGL renderer when ZDoom is run with a config from GZDoom which has ''vid_renderer=1''.
  
-Then, ''IsOpenGL'' checks ''gl_nogl'' -- a CVar that lets the user to disable the OpenGL renderer in GZDoom and Zandronum. If it's set, the renderer is assumed to be software. +If the port is confirmed to be a GZDoom derivativethis function checks for two CVars: ''vid_renderer'' and ''gl_nogl''This function only returns true if ''vid_renderer'' is true and ''gl_nogl'' is false.
- +
-And only then ''IsOpenGL'' checks ''vid_renderer''. If its value is not 0, the renderer is assumed to be OpenGL.+