• Nenhum resultado encontrado

3. Geração do Terreno

3.4. Nível de Detalhe

3.4.1. Tipos

Existem quatro tipos principais de nível de detalhe que são utilizados na representação de objectos:

Discreto (ver 3.4.1.1), que implica a criação de várias versões do mesmo objecto em diferentes níveis de detalhe numa fase de pré-processamento.

Contínuo (ver 3.4.1.2), que permite a variação do nível de detalhe em tempo de execução.

Dependente do ponto de vista (ver 3.4.1.3), no qual o detalhe varia dinamicamente de acordo com o ponto de vista do utilizador.

Hierárquico (ver 3.4.1.4), que é uma generalização do conceito de nível de detalhe para representações hierárquicas de objectos.

3.4.1.1. Discreto

Este é o tipo de nível de detalhe mais tradicional e corresponde ao método proposto por Clark em [30]. Basicamente implica a criação, numa fase de pré-processamento, de múltiplas versões do mesmo objecto cada uma num nível de detalhe diferente (ver Figura 3-30). Posteriormente, em tempo de execução, é seleccionado o nível mais apropriado para representar o objecto mediante um critério específico que varia de acordo com a abordagem adoptada. A principal vantagem desta aproximação está precisamente na separação entre o processo de simplificação e o rendering propriamente dito. Ou seja, esse processo pode demorar todo o tempo que for necessário pois não existem constrangimentos nem de desempenho nem de tempo. Isto permite que os níveis de detalhe possam ser optimizados ao máximo e inclusive construídos “à mão”, numa perspectiva de obter a melhor relação qualidade/número de polígonos possível. Este processo de simplificação pode também incluir alterações no modelo com o intuito de

seleccionar a primitiva (ver 3.1) mais adequada em termos de desempenho para a API seleccionada. As desvantagens desta técnica tornam-se no entanto bastante evidentes quando é necessário efectuar alterações drásticas à geometria, nomeadamente em modelos de grande complexidade, para os quais, pode haver uma necessidade de subdividir grandes objectos ou combinar pequenos objectos, o que se torna praticamente impossível a utilização de uma abordagem como esta. Paralelamente, o limitado número de níveis de detalhe disponíveis é igualmente um factor limitador uma vez que a escolha fica restringida a um conjunto de níveis que podem não ser os mais adequados para representar uma determinada situação. Por outro lado, como os níveis de detalhe são pré-fabricados, o processo de simplificação não tem em conta a direcção de visualização do objecto, pelo que a simplificação efectuada tem a mesma aparência independentemente da posição do observador.

Figura 3-30: Nível de detalhe discreto.

3.4.1.2. Contínuo

Nesta aproximação, em vez de se criar um conjunto individual de níveis de detalhe numa fase de pré-processamento, o sistema de simplificação cria uma estrutura de dados que codifica um espectro contínuo de detalhe [119]. Esse conceito é representado na Figura 3-31, onde a processo de simplificação é visto como algo contínuo com uma granularidade muito maior do que a considerada no nível de detalhe discreto. O nível de detalhe mais apropriado é assim extraído desta estrutura em tempo de execução. De facto, a granularidade deste processo é uma das principais vantagens desta abordagem, até porque o nível de detalhe é especificado exactamente ao invés de ser seleccionado de um conjunto pré-estabelecido de opções. Desta forma, não se corre o risco de se utilizar menos ou mais polígonos para representar um determinado objecto numa situação em que o nível de detalhe intermédio, que era o mais apropriado, não exista. Ganha-se por isso, por um lado, na fidelidade e, por outro, no número de triângulos enviados para rendering. Outra das vantagens desta aproximação é suportar o streaming de objectos no qual um modelo base é seguido de uma série de refinamentos progressivos que são integrados dinamicamente. Esta propriedade permite que largos modelos sejam carregados do disco ou mesmo da rede, pelo rendering progressivo de versões cada vez mais detalhadas à medida, que os dados vão chegando. Um dos melhores exemplos desta técnica é o já famoso Google Earth [78] que utiliza um streaming progressivo de dados para representar as diferentes partes do planeta e que é integrado progressivamente à medida que o utilizador se movimenta.

Figura 3-31: Nível de detalhe contínuo.

3.4.1.3. Dependente do Ponto de Vista

Neste método existe uma dependência entre o critério de simplificação e o ponto vista, o que torna possível a selecção dinâmica do nível de detalhe mais apropriado para a visão corrente do utilizador [119]. Procura-se, desta forma, atribuir detalhe apenas às zonas que mais necessitam, numa perspectiva de se produzir a melhor imagem possível, mantendo paralelamente os critérios de desempenho assumidos e obtendo ainda, por outro lado, uma melhor granularidade e consequentemente uma melhor fidelidade. Este tipo de nível de detalhe é especialmente importante na representação de terrenos em tempo real (ver Figura 3-32) nomeadamente terrenos de grandes dimensões em que existe claramente uma necessidade de representar as partes mais próximas com mais detalhe (como aliás é bem visível na figura). Por isso, nesses casos, são utilizadas métricas de erro dependentes da câmara o que permite variar o detalhe em função da sua distância e orientação.

3.4.1.4. Hierárquico

Este tipo de nível de detalhe baseia-se no conceito de scene graph, mas aplicado à simplificação de objectos [58]. O objectivo é, em contraste com as técnicas de nível de detalhe tradicionais, representar a simplificação de conjuntos de objectos. Assim, assumindo que cada nó folha é a representação mais detalhada de cada um dos objectos que compõem uma cena (ver Figura 3-33), e também que cada um desses objectos armazena um determinado número de níveis de detalhe discretos, o que ocorre no nó superior é um agrupamento em um ou mais níveis de detalhe dos níveis de detalhe discretos de cada um dos seus descendentes. À medida que se vai subindo na hierarquia, os nós agrupam desta forma cada vez mais elementos da cena num conjunto de níveis de detalhe. É, assim, particularmente útil na representação de cenas muito complexas, compostas por diversos objectos. Uma das suas vantagens é permitir que numa travessia da hierarquia se possa parar muito mais cedo, pois os nós que agrupam os objectos têm por si só já uma representação dos seus descendentes.

Figura 3-33: Nível de detalhe hierárquico [34].

No documento Geração de terrenos em tempo real (páginas 68-71)