예제 #1
0
void AdaptiveGrid::draw(
    OpenGLFunctions & gl)
{
    gl.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    gl.glEnable(GL_BLEND);

    gl.glEnable(GL_DEPTH_TEST);

    m_program->bind();

    m_vao.bind();
    gl.glDrawArrays(GL_LINES, 0, m_size);
    m_vao.release();

    m_program->release();

    gl.glDisable(GL_BLEND);
}
예제 #2
0
void PolygonalDrawable::draw(OpenGLFunctions & gl)
{
    m_vao.bind();

    gl.glEnable(GL_DEPTH_TEST);
    gl.glEnable(GL_CULL_FACE);

    if (m_indices.size())
    {
        gl.glDrawElements(m_mode, m_indices.size(), GL_UNSIGNED_INT, (void*)0);
    }
    else
    {
        gl.glDrawArrays(m_mode, 0, m_vertices.size());
    }

    gl.glDisable(GL_DEPTH_TEST);
    gl.glDisable(GL_CULL_FACE);
}