Viewport

class glumpy.transforms.Viewport(code=None, *args, **kwargs)

Bases: glumpy.transforms.transform.Transform

Viewport transform

Parameters:
  • transform (bool) – Whether to enforce viewport transformation. Default is true.
  • clipping (nool) – Whether to enforce viewport clipping. Default is true.
  • viewport (tuple) – Viewport (x,y,w,h) in absolute window coordinates. Default is None.

The viewport transform allows to restrict the display of a scene to a local viewport.

The transform is connected to the following events:

  • on_attach: Transform initialization
  • on_resize: Tranform update to maintain aspect

Usage example:

vertex = '''
attribute vec2 position;
void main()
{
    ...
    gl_Position = vec4(position,0,1);
    <viewport.transform>;
} '''

fragment = '''
void main()
{
    <viewport.clipping>;
    ...
    gl_FragColor = vec4(1,0,0,1);
} '''

window = app.Window(400,400)
...
program = Program(vertex, fragment)
program["viewport"] = transforms.Viewport(viewport=(10,10,390,390))
window.attach(program["viewport"])
...
clipping

Whether to enforce viewport clipping

extents

Viewport extents as (x,y,w,h) (absolute coordinates)

transform

Whether to enforce viewport transform