Como um computador renderiza um objeto na tela?


18

Todos os gráficos de computador são renderizados usando polígonos? O que quero dizer é que algumas geometrias de computadores são matematicamente representadas na forma de equações (por exemplo, software CAD).

O computador precisa primeiro separar essas geometrias para poder renderizar adequadamente a visualização na tela ou existem outros métodos para colocar a imagem na tela sem precisar colocar um objeto no mosaico?

Edit: Eu acho que mais especificamente focado na GPU. Como dose a GPU faz isso? com que tipo de dose de insumo é necessária, ou seja, com quais formatos de modelo a GPU trabalha? ele pode usar uma representação matemática perfeita diretamente ou aplicar uma dose no mosaico do próprio modelo antes de renderizar para rastrear ou dosar a GPU, para começar, requer um modelo em mosaico.

Além disso, o que quero dizer com mosaico é a maneira como um computador divide uma representação matemática de um objeto em uma aproximação superficial de polígonos (quase sempre triângulos). Quanto mais polígonos usados, mais próxima a superfície está do objeto real.


4
Uma pergunta tão interessante!
R0ca # 1/10

Respostas:


2

Isso está acompanhando seu comentário na resposta da @ nik:

A grande maioria dos sistemas CAD usa polígonos (triângulos bem) para renderizar seus modelos.

Eles armazenam os modelos de várias maneiras, com base nos modelos CSG (Constructive Solid Geometry) ou B-rep (Boundary Representation) , por exemplo, mas quando se trata de exibi-los, estes serão facetados e os triângulos enviados à GPU para desenhar .

Cada sistema terá sua própria solução para dividir o modelo em triângulos.


7

Não tenho certeza em que nível de curiosidade você está fazendo essa pergunta,
mas, em geral, encaminhá-lo para a página de gráficos de computador da Wikipedia .

Há também um link Uma história crítica de computação gráfica e animação .
Você pode pular para a seção de interesse na página de conteúdo.


Atualização: Gostaria de saber se sua pergunta é baseada em conceitos relacionados a este site UnlimitedDetail .

Atualmente, a maioria dos gráficos 3D é baseada no que é chamado de sistema de polígonos; é um sistema que constrói coisas a partir de pequenas formas planas chamadas polígonos.

...

Os três sistemas atuais usados ​​em gráficos 3D são traçado de raios, polígonos e nuvem de pontos / voxels, todos eles têm pontos fortes e fracos. Os polígonos são rápidos, mas com geometria ruim, o Ray-trace e os voxels têm geometria perfeita, mas rodam muito lentamente.

etc ...


+1 por mencionar Uma história crítica de computação gráfica e animação. muito de ler, mas muito interessante ;-)
Diskilla

Meu nível de curiosidade geralmente diminui muito, até a matemática por trás da ideia (embora eu não espere uma resposta tão detalhada, eu só quero saber em geral o que uma GPU usa). Quanto ao que minha pergunta está relacionada, ela está especificamente relacionada ao software CAD e como eles se convertem entre seus modelos matemáticos e o que você vê na tela (via renderização de GPU). Por quê? Eu só estou curioso.
Faken 01/10/10

2

Se você realmente deseja aprofundar-se na mecânica da GPU e nas técnicas de renderização, o seguinte livro agora pode ser encontrado online:

Gemas GPU 3, Profissional Addison-Wesley (12 de agosto de 2007)

GPU Gems 3 é editado por Hubert Nguyen, gerente de educação para desenvolvedores da NVIDIA. Hubert é um engenheiro gráfico que trabalhou na equipe de demonstração da NVIDIA antes de passar para sua posição atual. Seu trabalho é apresentado nas capas de GPU Gems (Addison-Wesley, 2004) e GPU Gems 2.

GPU Gems 3 é uma coleção de exemplos de programação de GPU de ponta. Trata-se de colocar o processamento paralelo de dados para funcionar. As quatro primeiras seções se concentram em aplicativos gráficos específicos de GPUs nas áreas de geometria, iluminação e sombras, renderização e efeitos de imagem. Os tópicos da quinta e sexta seções ampliam o escopo, fornecendo exemplos concretos de aplicativos não gráficos que agora podem ser abordados com a tecnologia GPU paralela a dados. Essas aplicações são diversas, variando de simulação de corpo rígido a simulação de fluxo de fluido, de correspondência de assinatura de vírus a criptografia e descriptografia e de geração aleatória de números a computação do Gaussian.

As edições anteriores também estão online e ainda merecem ser lidas:

Gemas de GPU: técnicas de programação, dicas e truques para gráficos em tempo real, editado por Randima Fernando, março de 2004

GPU Gems 2: Técnicas para Programação Gráfica e Computação Intensiva, editado por Matt Pharr, março de 2005

Programação Vertex, Geometry e Pixel Shaders, Segunda Edição, de Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni e Jason Zink, dezembro de 2008

O último é um rascunho desigual de um livro, mas extremamente valioso em alguns lugares. O capítulo de iluminação de Jack Hoxley fornece explicações detalhadas de vários modelos de iluminação junto com o código de sombreamento em funcionamento.


1

Renderizar algo sempre significa que você usa polígonos. É até usado por artistas. Polígono significa figura plana. Para criar algo tridimensional, você sempre pega vários polígonos e os reúne. Quanto mais figuras planas você usar, mais detalhes você poderá adicionar à sua figura tridimensional. As equações são usadas para calcular coisas como, por exemplo, o brilho do objeto.

Para entender completamente esse procedimento, leia o artigo da wikipedia nik já mencionado .

edit .: Não tenho mais certeza da minha interpretação do que você quer dizer com "separar um objeto". Se possível, você poderia explicar isso em detalhes?


O que quero dizer com mosaico é que um objeto sólido é dividido em uma série de polígonos planos (quase sempre triângulos) que se aproximam da superfície de um objeto. Quanto maior o número de triângulos, mais próxima a representação está da superfície real do objeto.
Faken 01/10/10

1

Ao longo da história da computação, diferentes GPUs implementaram as coisas de diferentes maneiras, levando em consideração a resolução, precisão, taxa de atualização e recursos dos monitores, além de implementar novas e mais interessantes APIs ao longo do tempo.

Por exemplo, algumas GPUs fornecem interfaces completas de representação da visão de mundo 3D, enquanto outras são menos capazes.

ASICs (e além) estão no centro de como as GPUs fazem sua mágica hoje. A capacidade de impor ao silício complexidades como máquinas virtuais totalmente em execução em uma sub-rotina é o que faz toda a mágica acontecer. Além do mosaico, há mapeamento de superfície, sombreamento e muito mais que são tratados na lógica da GPU.

Espero que isto ajude!
-pbr

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.