Add a way to check if opengl is initialized or not
This commit is contained in:
parent
fa14b3dae4
commit
7a8f3117ed
2 changed files with 22 additions and 11 deletions
|
|
@ -10,7 +10,9 @@
|
||||||
(:export :*major-version*
|
(:export :*major-version*
|
||||||
:*minor-version*
|
:*minor-version*
|
||||||
:*glsl-version*
|
:*glsl-version*
|
||||||
|
:gl-initialized-p
|
||||||
:initialize
|
:initialize
|
||||||
|
:finalize
|
||||||
:version-supported-p
|
:version-supported-p
|
||||||
:gl-assert
|
:gl-assert
|
||||||
:gl-restart
|
:gl-restart
|
||||||
|
|
@ -21,17 +23,25 @@
|
||||||
(defvar *minor-version* nil)
|
(defvar *minor-version* nil)
|
||||||
(defvar *glsl-version* nil)
|
(defvar *glsl-version* nil)
|
||||||
|
|
||||||
(defun initialize (version)
|
(let ((initializedp))
|
||||||
"Initialize the local opengl configuration.
|
(defun gl-initialized-p ()
|
||||||
|
initializedp)
|
||||||
|
|
||||||
|
(defun initialize (version)
|
||||||
|
"Initialize the local opengl configuration.
|
||||||
Store values like the drivers version."
|
Store values like the drivers version."
|
||||||
(if (/= version 0)
|
(if (/= version 0)
|
||||||
(multiple-value-bind (maj min) (floor version 10)
|
(multiple-value-bind (maj min) (floor version 10)
|
||||||
(setf *major-version* maj
|
(setf *major-version* maj
|
||||||
*minor-version* min))
|
*minor-version* min))
|
||||||
(setf *major-version* (gl:get-integer :major-version)
|
(setf *major-version* (gl:get-integer :major-version)
|
||||||
*minor-version* (gl:get-integer :minor-version)))
|
*minor-version* (gl:get-integer :minor-version)))
|
||||||
(setf *glsl-version* (with-input-from-string (in (gl:get-string :shading-language-version))
|
(setf *glsl-version* (with-input-from-string (in (gl:get-string :shading-language-version))
|
||||||
(read in))))
|
(read in)))
|
||||||
|
(setf initializedp t))
|
||||||
|
|
||||||
|
(defun finalize ()
|
||||||
|
(setf initializedp nil)))
|
||||||
|
|
||||||
(defun version-supported-p (version)
|
(defun version-supported-p (version)
|
||||||
(multiple-value-bind (maj min) (floor version 10)
|
(multiple-value-bind (maj min) (floor version 10)
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,8 @@ Destroy the opengl context and the related resources."
|
||||||
(format t "Finalize Render module~%")
|
(format t "Finalize Render module~%")
|
||||||
(shader:destroy-all-shaders)
|
(shader:destroy-all-shaders)
|
||||||
(glop:destroy-window *window*)
|
(glop:destroy-window *window*)
|
||||||
(setf *window* nil))
|
(setf *window* nil)
|
||||||
|
(gl-utils:finalize))
|
||||||
|
|
||||||
(defun update (delta-time)
|
(defun update (delta-time)
|
||||||
"Update the render module.
|
"Update the render module.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue