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
- as chamadas do cliente causam diretamente a renderização de objetos gráficos para a tela, ou em que
- os dados para descrever as primitivas de renderização são inseridos quadro a quadro diretamente do cliente em uma lista de comandos (no caso de renderização primitiva de modo imediato ),
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
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 .
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
- GUI de modo imediato
- Lista de exibição
- Modo retido , geralmente contrastado com o modo imediato
- Gráfico de cena