Muitas bibliotecas gráficas como a OpenGL oferecem um modelo abstrato de dispositivo gráfico. A biblioteca é responsável por traduzir os comandos do programador nos comandos necessários para desenhar elementos gráficos e objetos num dispositivo específico. Os comandos específicos de uma
impressora são diferentes dos comandos específicos de um
monitor CRT, por exemplo, mas a biblioteca esconde os detalhes específicos de implementação e oferece uma interface abstrata de uso geral para gerar gráficos.