Modo imediato (computação gráfica) - Immediate mode (computer graphics)

O modo imediato em computação gráfica é um padrão de projeto de API em bibliotecas gráficas, em que

sem o uso de vias indiretas extensas - portanto imediatas - para os recursos retidos. Isso não impede o uso de buffer duplo .

O modo retido é uma abordagem alternativa. Historicamente, o modo retido tem sido o estilo dominante nas bibliotecas de GUI ; no entanto, ambos podem coexistir na mesma biblioteca e não são necessariamente excludentes na prática.

Visão geral

Explicação esquemática de uma API gráfica de modo imediato

No modo imediato, a cena ( modelo de objeto completo das primitivas de renderização ) é retida no espaço de memória do cliente , ao invés da biblioteca gráfica . Isso implica que, em um aplicativo de modo imediato, as listas de objetos gráficos a serem renderizados são mantidas pelo cliente e não são salvas pela API da biblioteca gráfica. O aplicativo deve emitir novamente todos os comandos de desenho necessários para descrever a cena inteira cada vez que um novo quadro é necessário, independentemente das mudanças reais. Este método fornece, por um lado, o máximo de controle e flexibilidade ao programa aplicativo, mas, por outro lado, também gera uma carga de trabalho contínua na CPU .

Explicação esquemática de uma API gráfica de modo retido em contraste

Exemplos de sistemas de renderização de modo imediato incluem Direct2D , OpenGL e Quartz . Existem algumas GUIs de modo imediato que são particularmente adequadas quando usadas em conjunto com sistemas de renderização de modo imediato.

Existe outro padrão importante de design de API em bibliotecas gráficas - o modo retido .

Renderização primitiva de modo imediato

Os dados do atributo do vértice primitivo podem ser inseridos quadro a quadro em um buffer de comando por uma API de renderização . Isso envolve largura de banda e tempo de processador significativos (especialmente se a unidade de processamento gráfico estiver em um barramento separado), mas pode ser vantajoso para dados gerados dinamicamente pela CPU . É menos comum desde o advento de shaders cada vez mais versáteis , com os quais uma unidade de processamento gráfico pode gerar efeitos cada vez mais complexos sem a necessidade de intervenção da CPU.

Renderização de modo imediato com buffers de vértice

Embora os comandos de desenho tenham que ser reemitidos para cada novo quadro , os sistemas modernos que usam este método geralmente são capazes de evitar a duplicação desnecessária de dados de exibição com mais memória intensiva, referindo-se a esses dados imutáveis ​​(por via indireta ) (por exemplo, texturas e buffers de vértice ) nos comandos de desenho.

Veja também

Referências