proc initOpenGl(log: proc (messages: string) = log;
hints: array[OglHint, OglHintMode] = defaultHints;
flags: set[OglFlag] = {}; clearDepth: float = 1.0;
depthFunc: OglDepthFunc = OglDepthFunc.Lequal;
clearColor: tuple[r, g, b, a: float] = (0.0, 0.0, 0.0, 1.0);
shadeModel: OglShadeModel = OglShadeModel.Smooth;
sourceBlendFactor: OglBlendFunc = OglBlendFunc.SrcAlpha;
destinationBlendFactor: OglBlendFunc = OglBlendFunc.OneMinusSrcAlpha; screenSize: Option[
tuple[width, height: int]] = none(tuple[width, height: int])) {...}{.
raises: [GLerror, UnpackError], tags: [].}