First rendering
===============

Unlike OpenGL, ModernGL requires far fewer lines due to robust function generalization, which also reduces the likelihood of bugs when porting code to different platforms.

In this example, we will draw a broken line, which will look different each time we run the code, and at the same time we will slightly expand our horizons in understanding the already mentioned ModernGL objects.

.. toctree::
    :maxdepth: 2

    program.rst
    buffer.rst
    vertex_array.rst
    rendering.rst
