GL: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Created page with "{{DISPLAYTITLE:_GL}} In order to use OpenGL drawing commands, you must do so from inside a SUB procedure called '''_GL''', which enables the commands to be rendered. {{PageSyntax}} :SUB _GL :: ''REM Your OpenGL code here : END SUB {{PageDescription}} * OpenGL commands are valid outside of '''SUB _GL''', as long as the sub procedure exists in your code. * Attempting to use OpenGL commands without having '''SUB _GL''' in a program will result in a '''Syn...")
 
No edit summary
Line 5: Line 5:
{{PageSyntax}}
{{PageSyntax}}
:[[SUB]] _GL
:[[SUB]] _GL
:: ''REM Your OpenGL code here
:''REM Your OpenGL code here
: [[END]] [[SUB]]
:[[END]] [[SUB]]


{{PageDescription}}
{{PageDescription}}
Line 16: Line 16:




==Example==
{{PageExamples}}
 
{{CodeStart}}
{{CodeStart}} '' ''
{{Cl|DIM}} allowGL {{Cl|AS}} {{Cl|_BYTE}}
{{Cl|DIM}} allowGL {{Cl|AS}} {{Cl|_BYTE}}


Line 37: Line 36:
     'OpenGL code starts here
     'OpenGL code starts here
     'The code in this area will be run automatically at ~60fps
     'The code in this area will be run automatically at ~60fps
{{Cl|END}} {{Cl|SUB}} '' ''
{{Cl|END}} {{Cl|SUB}}  
{{CodeEnd}}
{{CodeEnd}}




{{PageSeeAlso}}
{{PageSeeAlso}}
* [[http://www.qb64.org/wiki/Keyword_Reference_-_Alphabetical#glA List of OpenGL commands]] ''All commands in the list are valid. For those without a wiki page, usage follows OpenGL standards.''
* [[Keyword Reference - Alphabetical#glA|List of OpenGL commands]] ''All commands in the list are valid. For those without a wiki page, usage follows OpenGL standards.''
* [[SUB]]
* [[SUB]]




{{PageNavigation}}
{{PageNavigation}}

Revision as of 09:22, 13 June 2022

In order to use OpenGL drawing commands, you must do so from inside a SUB procedure called _GL, which enables the commands to be rendered.


Syntax

SUB _GL
REM Your OpenGL code here
END SUB

Description

  • OpenGL commands are valid outside of SUB _GL, as long as the sub procedure exists in your code.
  • Attempting to use OpenGL commands without having SUB _GL in a program will result in a Syntax error, even if the syntax is valid.
  • SUB _GL cannot be invoked manually. The code inside it will be called automatically at approximately 60 frames per second.
  • Using INPUT inside SUB _GL will crash your program.
  • If your program needs to perform any operations before SUB _GL must be run, it is recommended to use a shared variable as a flag to allow SUB _GL's contents to be run. See example below.


Examples

DIM allowGL AS _BYTE

'perform startup routines like loading assets

allowGL = -1 'sets allowGL to true so SUB _GL can run

DO
    _LIMIT 1 'runs the main loop at 1 cycle per second
    'notice how the main loop doesn't do anything, as SUB _GL will be running
    'continuously.
LOOP

SUB _GL
    IF NOT allowGL THEN EXIT SUB 'used to bypass running the code below until
    '                             startup routines are done in the main module

    'OpenGL code starts here
    'The code in this area will be run automatically at ~60fps
END SUB 


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link