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 computacionais são representadas matematicamente na forma de equações (por exemplo, software CAD).

Será que o computador primeiro tem que tesselar essas geometrias antes que possa renderizar corretamente a visualização para a tela ou existem outros métodos de obter a imagem na tela sem ter que tesselar um objeto?

Edit: Eu acho que mais especificamente focado na GPU. Como a dose da GPU faz isso? que tipo de insumos é necessário, ou seja, com que formatos de modelo o trabalho da GPU é aplicado? Ele pode usar uma representação matemática perfeita diretamente ou doá-lo antes de renderizar ou dosear a GPU para começar.

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

    
por Faken 01.10.2010 / 16:07

5 respostas

2

Isso está acompanhando seu comentário sobre a resposta do @ nik:

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

Eles armazenam os modelos de várias formas com base em CSG (Constructive Solid Geometry) ou Modelos B-rep (Boundary Representation) por exemplo, mas quando se trata de mostrar estes serão facetados e os triângulos enviados para a GPU para desenho.

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

    
por 14.10.2010 / 10:47
7

Não sei ao certo que nível de curiosidade você está fazendo essa pergunta,
Mas, em geral, eu o encaminho para a página da Wikipédia Computação Gráfica .

Há também uma Uma História Crítica de Computação Gráfica e Animação link lá.
Você pode ir para a seção de interesse na página de conteúdo deles.

Atualização: gostaria de saber se sua pergunta se baseia em conceitos relacionados a esse site UnlimitedDetail .

Most 3D graphics today are based on what’s called the polygon system; it’s a system that builds things out of little flat shapes called polygons.

...

The three current systems used in 3D graphics are Ray tracing, polygons and point cloud/voxels, they all have strengths and weaknesses. Polygons runs fast but has poor geometry, Ray-trace and voxels have perfect geometry but run very slowly.

etc ...

    
por 01.10.2010 / 16:25
2

Se você realmente deseja aprofundar a mecânica da GPU e as técnicas de renderização, o seguinte livro agora pode ser encontrado on-line:

Gems da GPU 3, Addison-Wesley Professional (12 de agosto de 2007)

GPU Gems 3 is edited by Hubert Nguyen, Manager of Developer Education at NVIDIA. Hubert is a graphics engineer who worked in the NVIDIA Demo Team before moving to his current position. His work is featured on the covers of GPU Gems (Addison-Wesley, 2004) and GPU Gems 2.

GPU Gems 3 is a collection of state-of-the-art GPU programming examples. It is about putting data-parallel processing to work. The first four sections focus on graphics-specific applications of GPUs in the areas of geometry, lighting and shadows, rendering, and image effects. Topics in the fifth and sixth sections broaden the scope by providing concrete examples of nongraphical applications that can now be addressed with data-parallel GPU technology. These applications are diverse, ranging from rigid-body simulation to fluid flow simulation, from virus signature matching to encryption and decryption, and from random number generation to computation of the Gaussian.

As edições anteriores também estão on-line e ainda são muito valiosas para leitura:

Gems da 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 gráficos e programação intensiva de computação, editada por Matt Pharr, março de 2005

Programação de vértices de vértice, geometria e pixel, segunda edição, por Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni e Jason Zink, dezembro de 2008

O último é um rascunho irregular 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, juntamente com o código de shader de trabalho.

    
por 07.10.2010 / 21:39
1

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

Para entender completamente esse procedimento, leia o artigo da Wikipédia já mencionado .

edit.: Não tenho mais certeza sobre minha interpretação do que você quer dizer com "tesselate an object". Se possível, você poderia explicar isso em detalhes?

    
por 01.10.2010 / 16:31
1

Ao longo da história da computação, diferentes GPUs implementaram as coisas de maneiras diferentes, levando em conta a resolução, a precisão, a taxa de atualização e os recursos dos monitores, bem como a implementação de novas e mais interessantes APIs ao longo do tempo.

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

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

Espero que isso ajude!
-br

    
por 14.10.2010 / 10:27