A dynamic representation-switch method for hybrid crowd rendering systems

10
A Dynamic Representation-Switch Method for Hybrid Crowd Rendering Systems Erasmo A. Silva Jr. , Joaquim B. Cavalcante-Neto , Creto A. Vidal e Te´ ofilo B. Dutra § Departamento de Computac ¸˜ ao Universidade Federal do Cear´ a, Fortaleza, Cear´ a, Brasil [email protected] , [email protected] , [email protected] , teofi[email protected] § Abstract—Environments populated with crowds are em- ployed in various applications, such as games, simulators and editors. Many of these environments require not only a realistic and detailed rendering, but it must run smoothly in real-time. This task easily exhausts the system’s resources, even considering the current state-of-the-art hardware. There- fore, crowd rendering in real-time remains a challenge in computer graphics. Approaches exploiting levels of detail, visibility culling and image-based rendering are presented in the literature to facilitate this task. The first two increase the efficiency of rendering, but sometimes are not enough to keep an interactive frame rate. Some researches on this subject focus on image-based rendering techniques, specifically with the use of impostors. In this work it is proposed a method that balances the computational demand of rendering job by varying the threshold’s distance of the representation switch between full geometry (mesh) and image-based (impostors) models in accordance with the available resources. Keywords-crowd simulation; level of detail; image-based rendering; I. I NTRODUC ¸˜ AO Renderizar uma larga quantidade de humanos virtuais animados de alta qualidade pode tornar-se um gargalo para simulac ¸˜ oes em tempo real, considerando-se sua geometria completa com animac ¸˜ ao. Uma das maneiras de se tentar minimizar esse problema ´ e o uso de t´ ecnicas de renderizac ¸˜ ao baseada em imagem, como por exemplo o uso de impos- tores. A t´ ecnica de impostores (e suas variantes) aumenta a eficiˆ encia da renderizac ¸˜ ao a partir da reduc ¸˜ ao da complexi- dade dos objetos a serem desenhados. No emprego de impostores, a velocidade de renderizac ¸˜ ao torna-se proporcional ` a distˆ ancia em que os mesmos s˜ ao aplicados ao observador. Ao afast´ a-los, ganha-se qualidade visual, visto que eventuais efeitos indesej´ aveis causados pela ecnica s˜ ao evitados. Em contrapartida, ao aproxim´ a-los, obt´ em-se velocidade de renderizac ¸˜ ao, com a reduc ¸˜ ao dr´ astica da demanda computacional requerida. Em cenas de multid˜ oes, a tamb´ em o problema da mudanc ¸a cont´ ınua na densidade de elementos vis´ ıveis, difi- cultando o balanceamento da renderizac ¸˜ ao para manutenc ¸˜ ao das taxas de quadros por segundo interativas. Ao deixar margem para o sistema superar gargalos dessa ordem, perde- se qualidade gr´ afica, dado o n˜ ao aproveitamento dos recursos dispon´ ıveis de forma integral. Por outro lado, mantendo- se a demanda computacional no limite, corre-se o risco de o sistema enfrentar gargalos e, consequentemente, sofrer reduc ¸˜ oes bruscas na taxa de quadros por segundo. Outro problema a ser superado, n˜ ao somente em sistemas de simulac ¸˜ ao de multid˜ oes, mas em qualquer aplicac ¸˜ ao que fac ¸a uso de um motor gr´ afico robusto, ´ e seu desenvolvimento voltado a hardware ao espec´ ıfico. Diferentes dispositivos de uma mesma plataforma tendem a ter consider´ aveis diferenc ¸as de poder computacional. O problema aumenta quando s˜ ao considerados dispositivos de plataformas dife- rentes, dada a atual tendˆ encia de serem usados softwares comuns ` as mesmas. ´ E desej´ avel que a renderizac ¸˜ ao em tempo real seja suave nas mais variadas especificac ¸˜ oes de hardware. Alguns jogos tratam cuidadosamente cenas com mul- tid˜ oes, dado o alto custo computacional das mesmas. No jogo Pro Evolution Soccer 2011 [1], por exemplo, a tor- cida exibida durante a partida ´ e desenhada numa vers˜ ao extremamente simplificada para n˜ ao interferir na fluˆ encia da animac ¸˜ ao. Em cenas espec´ ıficas, como comemorac ¸˜ oes de gol, a multid˜ ao surge em sua forma mais detalhada. Considerando que durante a partida geralmente poucos ele- mentos da torcida est˜ ao dentro do frustum de visualizac ¸˜ ao, dependendo dos recursos dispon´ ıveis, seria interessante ren- derizar estes elementos em sua forma mais detalhada. Buscando solucionar os problemas citados, este trabalho apresenta um m´ etodo que usa o potencial do impostor como fator de balanc ¸o na carga computacional da renderizac ¸˜ ao a partir da variac ¸˜ ao da distˆ ancia (a partir do observador) do limiar da troca de representac ¸˜ ao entre os modelos tridi- mensionais e os impostores (Figura 1). O crit´ erio para troca dinˆ amica ´ e baseado nos recursos dispon´ ıveis, medidos a partir da taxa de quadros por segundo corrente. Dessa forma, o sistema evita slowdowns sempre renderizando a quantidade ınima poss´ ıvel de impostores. Este artigo est´ a organizado em seis sec ¸˜ oes. A Sec ¸˜ ao II aborda os trabalhos propostos na ´ area de renderizac ¸˜ ao de multid˜ oes. Em seguida, na Sec ¸˜ ao III, ´ e descrito o sistema h´ ıbrido de renderizac ¸˜ ao de multid˜ oes. Na Sec ¸˜ ao IV ´ e apresentado o m´ etodo proposto neste trabalho. Os testes executados e os resultados obtidos s˜ ao apresentados na Sec ¸˜ ao V. Por fim, na Sec ¸˜ ao VI, s˜ ao feitas algumas conclus˜ oes sobre o trabalho. 2013 XV Symposium on Virtual and Augmented Reality 978-0-7695-5001-5/13 $26.00 © 2013 IEEE DOI 10.1109/SVR.2013.41 142

Transcript of A dynamic representation-switch method for hybrid crowd rendering systems

A Dynamic Representation-Switch Method for Hybrid Crowd Rendering Systems

Erasmo A. Silva Jr.∗, Joaquim B. Cavalcante-Neto†, Creto A. Vidal‡ e Teofilo B. Dutra§Departamento de Computacao

Universidade Federal do Ceara, Fortaleza, Ceara, [email protected]∗, [email protected]†, [email protected]‡, [email protected]§

Abstract—Environments populated with crowds are em-ployed in various applications, such as games, simulatorsand editors. Many of these environments require not onlya realistic and detailed rendering, but it must run smoothlyin real-time. This task easily exhausts the system’s resources,even considering the current state-of-the-art hardware. There-fore, crowd rendering in real-time remains a challenge incomputer graphics. Approaches exploiting levels of detail,visibility culling and image-based rendering are presented inthe literature to facilitate this task. The first two increase theefficiency of rendering, but sometimes are not enough to keepan interactive frame rate. Some researches on this subjectfocus on image-based rendering techniques, specifically withthe use of impostors. In this work it is proposed a methodthat balances the computational demand of rendering job byvarying the threshold’s distance of the representation switchbetween full geometry (mesh) and image-based (impostors)models in accordance with the available resources.

Keywords-crowd simulation; level of detail; image-basedrendering;

I. INTRODUCAO

Renderizar uma larga quantidade de humanos virtuais

animados de alta qualidade pode tornar-se um gargalo para

simulacoes em tempo real, considerando-se sua geometria

completa com animacao. Uma das maneiras de se tentar

minimizar esse problema e o uso de tecnicas de renderizacao

baseada em imagem, como por exemplo o uso de impos-

tores. A tecnica de impostores (e suas variantes) aumenta a

eficiencia da renderizacao a partir da reducao da complexi-

dade dos objetos a serem desenhados.

No emprego de impostores, a velocidade de renderizacao

torna-se proporcional a distancia em que os mesmos sao

aplicados ao observador. Ao afasta-los, ganha-se qualidade

visual, visto que eventuais efeitos indesejaveis causados pela

tecnica sao evitados. Em contrapartida, ao aproxima-los,

obtem-se velocidade de renderizacao, com a reducao drastica

da demanda computacional requerida.

Em cenas de multidoes, ha tambem o problema da

mudanca contınua na densidade de elementos visıveis, difi-

cultando o balanceamento da renderizacao para manutencao

das taxas de quadros por segundo interativas. Ao deixar

margem para o sistema superar gargalos dessa ordem, perde-

se qualidade grafica, dado o nao aproveitamento dos recursos

disponıveis de forma integral. Por outro lado, mantendo-

se a demanda computacional no limite, corre-se o risco

de o sistema enfrentar gargalos e, consequentemente, sofrer

reducoes bruscas na taxa de quadros por segundo.

Outro problema a ser superado, nao somente em sistemas

de simulacao de multidoes, mas em qualquer aplicacao que

faca uso de um motor grafico robusto, e seu desenvolvimento

voltado a hardware nao especıfico. Diferentes dispositivos

de uma mesma plataforma tendem a ter consideraveis

diferencas de poder computacional. O problema aumenta

quando sao considerados dispositivos de plataformas dife-

rentes, dada a atual tendencia de serem usados softwarescomuns as mesmas. E desejavel que a renderizacao em

tempo real seja suave nas mais variadas especificacoes de

hardware.

Alguns jogos tratam cuidadosamente cenas com mul-

tidoes, dado o alto custo computacional das mesmas. No

jogo Pro Evolution Soccer 2011 [1], por exemplo, a tor-

cida exibida durante a partida e desenhada numa versao

extremamente simplificada para nao interferir na fluencia

da animacao. Em cenas especıficas, como comemoracoes

de gol, a multidao surge em sua forma mais detalhada.

Considerando que durante a partida geralmente poucos ele-

mentos da torcida estao dentro do frustum de visualizacao,

dependendo dos recursos disponıveis, seria interessante ren-

derizar estes elementos em sua forma mais detalhada.

Buscando solucionar os problemas citados, este trabalho

apresenta um metodo que usa o potencial do impostor como

fator de balanco na carga computacional da renderizacao

a partir da variacao da distancia (a partir do observador)

do limiar da troca de representacao entre os modelos tridi-

mensionais e os impostores (Figura 1). O criterio para troca

dinamica e baseado nos recursos disponıveis, medidos a

partir da taxa de quadros por segundo corrente. Dessa forma,

o sistema evita slowdowns sempre renderizando a quantidade

mınima possıvel de impostores.

Este artigo esta organizado em seis secoes. A Secao

II aborda os trabalhos propostos na area de renderizacao

de multidoes. Em seguida, na Secao III, e descrito o

sistema hıbrido de renderizacao de multidoes. Na Secao

IV e apresentado o metodo proposto neste trabalho. Os

testes executados e os resultados obtidos sao apresentados

na Secao V. Por fim, na Secao VI, sao feitas algumas

conclusoes sobre o trabalho.

2013 XV Symposium on Virtual and Augmented Reality

978-0-7695-5001-5/13 $26.00 © 2013 IEEE

DOI 10.1109/SVR.2013.41

142

Figure 1. Uma visao geral do funcionamento do metodo.

II. TRABALHOS RELACIONADOS

Pesquisas referentes a renderizacao de multidoes em

tempo real sao relativamente recentes, devido aos ultimos

avancos no poder de processamento dos computadores. Na

literatura, tres principais abordagens sao exploradas: descarte

por visibilidade, nıvel de detalhe e renderizacao baseada em

imagem. Esta ultima e largamente utilizada com o emprego

da tecnica de impostores. O ganho de desempenho obtido

pela utilizacao de impostores e proveniente de sua alta

velocidade de renderizacao, mesmo para objetos complexos.

Impostores sao objetos representados em polıgonos bidi-

mensionais texturizados, sempre posicionados de forma a

“encarar” o observador. Diferenciam-se da tecnica de nıvel

de detalhes por nao se tratar de uma simplificacao do

objeto e sim de uma mudanca completa de representacao.

Aubel et al. [2] apresentaram um impostor definido por um

plano texturizado perpendicular ao observador, simbolizando

humanos virtuais. Os snapshots (fotografias retiradas do mo-

delo tridimensional original representando sua discretizacao

em diferentes pontos de vista) do humano virtual sao obtidos

em tempo de execucao e reutilizados nos quadros subse-

quentes. Logo, a complexidade da geometria do agente e

reduzida a um plano simples. Com o movimento do perso-

nagem ou da camera, os snapshots mapeados eventualmente

precisam ser atualizados, gerando custo computacional.

Tecchia e Chrysanthou [3] apresentaram a tecnica de

143

impostores pre-renderizados. Esta tecnica consiste em ren-

derizar previamente cada personagem, discretizando-o em

diferentes pontos de vista (dezesseis em volta do eixo y em

oito elevacoes), para cada quadro do ciclo de animacao. Os

snapshots sao organizados em texturas em forma de grades.

Impostores pre-renderizados com sombreamento simples,

compressao de imagem e renderizacao em multiplos passos

foram introduzidos em Tecchia et al. [4]. Cada agente tem

uma falsa sombra, tratando-se da projecao de sua silhueta

(polıgono) escurecida no chao. Todas estas tecnicas fun-

cionam com ambientes compostos unicamente por impos-

tores.

Dobbyn et al. [5] apresentaram uma tecnica que reduz os

fatores de degradacao da qualidade de imagem normalmente

observados na aplicacao de impostores simples. Trata-se de

um sistema hıbrido formado pela combinacao de tecnicas

de renderizacao baseadas em imagens (atraves de impos-

tores) e metodos de renderizacao geometrica detalhada para

humanos virtuais. Sao utilizadas ferramentas de hardware,

via Graphics Processing Unit (GPU), para ajustar de forma

realıstica e de baixo custo os parametros de iluminacao e cor

aplicados na pele e nas roupas dos personagens da multidao.

Os impostores desenvolvidos no trabalho sao formados a

partir de snapshots de dezessete posicoes em oito elevacoes.

Os agentes proximos ao espectador sao renderizados a partir

de sua geometria completa (malha de alta definicao), para

os distantes e empregada a tecnica de impostores. O criterio

para a mudanca entre as representacoes dos agentes e a

relacao pixel para texel de 1:1, garantindo que a textura dos

impostores se aproxime do observador ate, no maximo, o

ponto onde sua resolucao casa com a resolucao que ocupa

na tela, mantendo a qualidade visual com boa eficiencia de

renderizacao.

Outras abordagens de impostores foram apresentadas mais

tarde. Yee e Davis [6] apresentaram uma tecnica que em-

prega impostores nao planares 3D, que podem ser visualiza-

dos de qualquer perspectiva ocupando poucos recursos com-

putacionais. A textura do impostor e projetada numa versao

simplificada da malha original, possibilitando manipular o

plano do billboard (objeto bidimensional texturizado com

regra de posicionamento bem definida buscando sempre “en-

carar” o observador) com pequenas rotacoes, aumentando a

vida util de cada snapshot e, consequentemente, permitindo

o incremento do angulo de separacao (angulo entre os pontos

de vista subsequentes durante a discretizacao do modelo

tridimensional em snapshots). Kavan et al. [7] apresentaram

uma tecnica que reduz o problema da alta demanda de

memoria do impostor utilizando uma representacao mais efi-

ciente. A ideia e empregar personagens poligonais bidimen-

sionais animados, pre-renderizados em um numero discreto

de direcoes de visualizacao. Porem, diferente dos impos-

tores, que armazenam snapshots do humano virtual com-

pleto, Polypostors (como sao chamados no artigo) gravam

snapshots do humano virtual de forma segmentada, e sao

animados a partir do deslocamento de vertices dos polıgonos

bidimensionais de cada segmento, utilizando apenas uma

textura em todo ciclo da animacao num determinado ponto

de vista. Considerando que deslocamentos de vertices podem

ser armazenados de forma compacta, o metodo resulta numa

forma muito mais eficiente de uso de memoria. Coic et al.

[8] empregam um nıvel de representacao intermediario entre

a malha de alta resolucao e o impostor, chamado de impostor

em camadas, e inserem efeito de iluminacao dinamica. Os

autores armazenam os mapas de cor e os vetores normais

no mesmo padrao empregado nas abordagens anteriores de

impostores, acrescido do mapa de profundidade, necessario

para a montagem das camadas no impostor.

Millan e Rudomin [9] utilizam a tecnica de Instancingpara aumentar a eficiencia da renderizacao do sistema.

Instancing e uma ferramenta disponıvel em placas graficas

modernas que aperfeicoa a renderizacao de objetos repetidos

diversas vezes na cena. Funciona desenhando multiplas

instancias de um mesmo modelo atraves de uma unica

chamada de desenho. O ganho de rendimento se da atraves

da reducao do overhead de desenho das multiplas copias

de um mesmo buffer de vertices. Originalmente Instancingfoi projetado para renderizacao de objetos estaticos, contudo

pode ser aproveitado em objetos animados. Para tanto, a

tecnica de pseudo-instancing e empregada onde a geometria

e atualizada a cada quadro da animacao. Pseudo-intancingleva a vantagem de aproveitar a eficiencia do uso de atributos

de vertices persistentes, como cor ou transformacoes, para

fornecer informacoes para a instancia inteira. A atualizacao

contınua da geometria do modelo implica em trafego da

informacao modificada da memoria principal para memoria

da placa grafica. Esta operacao acaba se tornando um gargalo

no pipeline da renderizacao, devendo ser evitada. Desta

forma, para aproveitar o rendimento do pseudo-intancinge necessario que cada modelo seja replicado tanto quanto

possıvel.

Os sistemas descritos nos trabalhos [6], [7] e [8] utilizam

o criterio de troca de representacao introduzido em Dob-

byn et al. [5], que estabelece o limiar fixo para troca de

representacao no ponto onde a relacao do pixel para texel se

iguala a um, o que pode acarretar em algumas limitacoes,

como por exemplo a nao manutencao das taxas de quadros

por segundo desejadas na renderizacao. Na proxima secao

e descrito o sistema de renderizacao utilizado neste tra-

balho, e em seguida e apresentado o metodo dinamico

para a mudanca de representacao de sistemas hıbridos de

renderizacao de multidoes.

III. SISTEMA HIBRIDO DE RENDERIZACAO DE

MULTIDAO

Nesta secao sao descritos detalhes do sistema hıbrido

de renderizacao de multidoes desenvolvido, que combina a

tecnica de impostores com modelos tridimensionais textu-

rizados. O formato geral do sistema e baseado no trabalho

144

de Dobbyn et al. [5], com a inclusao da troca dinamica de

representacao que e proposta nesse trabalho.

A abordagem de impostor empregada e baseada na tecnica

de impostores planares por algumas razoes. Primeiro, a

tecnica possui alta velocidade de renderizacao e apresenta

bons resultados. Segundo, nao depende de tecnologias es-

pecıficas disponıveis via hardware, o que torna o sistema

portavel a dispositivos desprovidos de recursos de aceleracao

grafica. Por fim, o metodo proposto deve funcionar em outras

abordagens de impostor, bastando que haja diferenca de

custo na renderizacao das representacoes.

A. Impostores

Na abordagem classica de impostores, o modelo tridimen-

sional original e discretizado em uma serie de snapshots. Em

[4], o impostor e gerado a partir de 16 rotacoes em torno

do eixo y por 8 elevacoes. Esse processo e repetido para

todos os quadros da animacao. Para completar a semi-esfera

referente aos pontos de vista na discretizacao do modelo

geometrico e utilizada a tecnica de espelhamento. Na Figura

2 e possıvel perceber a disposicao das cameras durante a

discretizacao do modelo em fotografias.

Figure 2. Disposicao das cameras durante a discretizacao do modelotridimensional.

Neste trabalho, os snapshots foram tirados da mesma

forma, em 16 por 8 pontos de vista. Os snapshots pos-

suem resolucao de 64x128 e sao organizados em grades de

oito linhas por dezesseis colunas, com resolucao total de

1024x1024 (Figura 3). A animacao, correspondente a um

ciclo de caminhada de um humano (Figura 3), e realizada em

30 quadros, sendo cada quadro armazenado em uma grade.

O personagem da multidao em sua forma tridimensional

e iluminado a partir do modelo de Blinn-Phong [10], e ao

passar para a representacao por impostores precisa manter

sua iluminacao ou se tornara notavel ao usuario. Como o

Figure 3. Snapshots do ciclo completo de animacao a partir de um mesmoponto de vista.

billboard constitui um plano simples, a aplicacao do modelo

de Blinn-Phong nao reflete na iluminacao do impostor, e sim

do proprio billboard (gerando resultados incoerentes). Para

contornar esse problema e utilizado o conceito de NormalMapping (Figura 4). Essa tecnica altera a normal referente a

geometria original do objeto por uma normal obtida a partir

de um mapa, chamado normal map, previamente especifi-

cado pixel a pixel para posteriores calculos de iluminacao.

Figure 4. Mapa difuso, mapa normal e modelo final da aplicacao datecnica de Normal Mapping.

B. Modelo Tridimensional

Para a renderizacao de personagens mais proximos ao

ponto de vista da camera, uma representacao tridimensional

com a geometria completa e selecionada. Neste trabalho, o

modelo tridimensional e baseado no formato MD2 (Figura

5), desenvolvido pela IdSoftware [11], largamente utilizado

em jogos. Apesar de originalmente ser desenvolvido para

modelos animados, o formato e tambem eficiente para

145

modelos estaticos. Seu tipo de animacao e baseado em

keyframes, contidas no modelo em um numero discreto de

frames. Durante a animacao, o motor grafico fica responsavel

por definir um criterio de tempo e interpolar os frames,

para garantir movimentos suaves e naturais. A estrutura do

arquivo e iniciada por um cabecalho, no qual se armazena

todas as informacoes necessarias para uso subsequente,

como numero de vertices, numero de faces, quantidade de

coordenadas de textura, etc. Em seguida sao armazenados

os frames, que reunem dados relativos aos vertices, arestas

e normais.

Figure 5. Modelo tridimensional utilizado nas simulacoes.

C. Melhorias de Desempenho

Em situacoes tıpicas de multidoes, os personagens fre-

quentemente sao dispostos de forma dispersa pelo cenario,

onde apenas uma parcela destes serao desenhados. Os algo-

ritmos descritos a seguir aproveitam este fato para aumentar

o rendimento da renderizacao. O primeiro identifica os

elementos que estao no campo de visao da camera, e o

segundo os organiza para subsequente renderizacao.

1) Descarte por Volume de Visualizacao: O frustum de

visualizacao (Figura 6) e o volume que contem todos os

objetos que potencialmente (caso nao haja oclusao) sao

visıveis na cena. E dado por um conjunto de planos que, por

sua vez, sao definidos pelos parametros da camera. A tecnica

de descarte por volume de visualizacao tem como finalidade

identificar todos os objetos que se encontram dentro do

frustum, consequentemente objetos com grande potencial de

serem renderizados. Desta forma, tudo que estiver fora da

cena e descartado, economizando recursos computacionais.

O OpenGL, por padrao, pode realizar a tarefa de descarte por

volume de visualizacao, porem com eficiencia inferior, uma

vez que os dados referentes aos vertices ja foram visitados

na rotina de desenho.

Figure 6. O formato do frustum de visualizacao.

Como entrada sao recebidos: as distancias dos planos neare far a camera, a razao de aspecto da tela, o angulo do campo

de visao da camera, as posicoes da camera e do observador,

e o vetor up da camera. Desta forma, e possıvel calcular os

pontos que possibilitam delinear os seis planos necessarios

para montar o frustum. Para verificar se um ponto esta dentro

do mesmo, basta fazer o teste para cada plano, podendo-se

usar o produto misto entre os pontos do plano e o ponto

candidato.

2) Classificacao de Estado: O OpenGL [12] e uma

maquina de estados simples que possui dois tipos de

operacoes fundamentais: renderizar e mudar de estado. E

possıvel coloca-la em varios estados (ou modos) que nao sao

alterados, a menos que outra funcao seja chamada para tal.

Ha um custo embutido a cada mudanca de estado que a APIrealiza, podendo ser mais ou menos custoso dependendo do

tipo de chamada. A tecnica conhecida como “classificacao

de estado” consiste em organizar a sequencia de chamadas

de renderizacao com base nos tipos de estados requisitados,

com objetivo de reduzi-los, maximizando o desempenho.

Neste trabalho, a classificacao e feita de forma bastante

simples. Primeiro e feito todo o processamento sobre as

estruturas tridimensionais, animacao e cenario. Em seguida

sao feitas as chamadas de renderizacao dos humanos virtuais

seguindo sua complexidade, do mais caro ao mais barato.

Desta forma, os modelos tridimensionais texturizados de

geometria completa sao renderizados primeiro, e por ultimo

os impostores em sua forma mais simples.

D. Troca de Representacao

O sistema desenvolvido tem duas formas basicas de

representacao: modelo de geometria completa (malha tridi-

mensional) e modelo baseado em imagem (impostores).

O limiar onde a troca de representacao ocorre e definido

baseando-se em algum criterio.

No trabalho de Dobbyn et al. [5] e definido como distancia

ideal para troca de representacao o limiar onde a razao entre

146

o tamanho do pixel da imagem projetada e o tamanho do

texel do impostor e igual a 1:1. A partir dos tamanhos do

pixel e do texel dados por:

PixelSIZE =tan−1

(θ2

) · 2 · dcamx

e (1)

TexelSIZE =2 · dnearplane · tan−1

(θ2

)x

, (2)

e encontrada a distancia para o limiar:

dSWITCH =dnearplane · TexelSIZE

PixelSIZE, (3)

sendo θ o angulo do campo de visao da camera, dnearplanea distancia ao longo da direcao de visualizacao da camera

ao near plane, dcam e a distancia ao longo da direcao de

visualizacao da camera ao modelo do humano virtual, e x e

a resolucao da textura do impostor. Esta razao previne que

o impostor se aproxime exageradamente do observador, evi-

tando o esticamento de sua textura ou outro possıvel efeito

visual indesejado causado pelo impostor. Varios trabalhos

subsequentes que aplicam sistemas hıbridos de renderizacao

de multidoes adotam esta metrica, incluindo [6], [7] e [8].

A principal contribuicao deste trabalho e desamarrar este

limiar e torna-lo dinamico. O metodo altera a distancia do

limiar da troca de representacao com base na taxa atual de

quadros por segundo. O metodo e explicado de forma mais

detalhada na proxima secao.

IV. TROCA DINAMICA DE REPRESENTACAO

Nos trabalhos anteriores, e definido como distancia ideal

para troca de representacao o limiar onde a razao entre o

tamanho do pixel da imagem projetada e o tamanho do texeldo impostor e igual a 1:1. Uma vez definido o limiar onde

acontece a troca de representacao, o mesmo permanece inal-

terado ate o final da simulacao. Essa delimitacao previa nao

aproveita o potencial do emprego de impostores para balanco

da demanda computacional na tarefa de renderizacao. Neste

trabalho e proposto um criterio para troca de representacao

baseado na taxa de quadros por segundo da simulacao em

relacao a taxa de quadros por segundo desejada pela usuario.

A ideia e definir um numero de quadros por segundo como

meta e aumentar (ou diminuir) a distancia da mudanca de

representacao, de acordo com a diferenca da taxa de quadros

por segundo atual com a meta previamente estabelecida. A

cada quadro da animacao a distancia e recalculada a partir

da equacao:

d′ = d+

(1

Δt− φ

)· k, (4)

onde d denota a distancia da mudanca de representacao em

unidades de mundo, Δt e o intervalo de tempo entre o

quadro anterior e o atual em segundos, φ representa a meta

em quadros por segundo, e k e uma constante para atenuacao

da velocidade em que 1Δt converge para φ.

Como Δt e o intervalo de tempo entre os quadros atual

e anterior, entao 1Δt resulta na taxa de quadros por segundo

atual. Logo, 1Δt − φ sera positivo caso a meta da taxa de

quadros por segundo desejada seja menor do que a taxa

atual, consequentemente o valor sera somado a d, o que fara

a distancia aumentar, resultando no maior uso de modelos

tridimensionais. No caso inverso, se a meta da taxa de

quadros por segundo for maior do que a taxa de quadros

por segundo atual, a operacao sera negativa, o que reduzira

o valor de d, aproximando os impostores ao observador. A

Figura 1 ilustra essa troca dinamica.

Com relacao a constante de atenuacao k, quanto menor

for o k, mais suavemente a linha que define a mudanca

de representacao ira se movimentar; no entanto, mais lenta-

mente o sistema estabilizara na quantidade de quadros por

segundo desejada. Para um k grande, o sistema rapidamente

convergira para a taxa de quadros desejada; contudo, os

personagens proximos a linha da mudanca de representacao

podem sofrer com trocas contınuas excessivas (com o rapido

avanco e recuo da mesma), causando detrimento da quali-

dade de imagem.

Com o calculo realizado a cada quadro da animacao, o

limiar da mudanca de representacao move-se de maneira

proporcional a diferenca entre a taxa de quadros por segundo

desejada e corrente. O limiar tende a se comportar de forma

estabilizada quando as duas taxas se aproximam.

V. TESTES E RESULTADOS

Duas configuracoes de hardware foram utilizadas para os

testes. A primeira, com maior poder de processamento, conta

com processador Intel Core i5 de 3.1 GHz, 6GB de RAM

DDR3 e placa grafica nVidia Geforce 540M com 1GB RAM.

A segunda conta com processador Intel Core i3 de 2.53

GHz, 4GB de RAM DDR3 e placa grafica Intel HD Graphics

(memoria compartilhada). O metodo foi implementado em

C/C++ no ambiente de desenvolvimento QT Creator [13]

com a API grafica OpenGL [12]. O personagem tridimen-

sional, que foi obtido no site Free 3D Models [14], contem

cerca de 4500 faces e foi convertido/ajustado no Blender[15].

Os testes foram realizados a partir do benchmark imple-

mentado na aplicacao (Figura 7), onde a camera percorre

a multidao contornando uma curva de Bezier, em exatos

trinta segundos. Sao armazenadas, a cada segundo, a taxa

de quadros por segundo e a distancia atual do limiar onde

ocorre a troca de representacao.

Os personagens partem de posicoes aleatorias limitadas

por quatro margens (formando um quadrado). Ao se loco-

moverem com a animacao do caminhar humano, os avatares

podem eventualmente invadir os limites definidos e, neste

caso, os mesmos devem ressurgir na margem inversa. A

direcao que seguem tambem e definida aleatoriamente e nao

e modificada ate o fim da renderizacao. Nao e realizado

nenhum tratamento de colisao.

147

Figure 7. Benchmark em execucao na aplicacao com 2500 elementos.

A. Variando a Quantidade de Elementos na Cena

O metodo tem a proposta de renderizar multidoes, tanto

quanto possıvel, de forma fluida na taxa de quadros por

segundo definida. Contudo, cenas providas de multidoes

costumam ter variacoes nao uniformes na quantidade de

elementos visıveis. Neste cenario e verificada a capacidade

do sistema de renderizar diferentes quantidades de humanos

virtuais mantendo a taxa de quadros por segundo o mais

proximo possıvel da meta estipulada.

O benchmark e executado em tres configuracoes: com

2000, 3000 e 4000 elementos, respectivamente. Em todos os

testes a meta da taxa de quadros por segundo e definida em

30 fps e o valor da constante k e de 0,05. O grafico (Figura 8)

mostra a taxa de quadros por segundo e a distancia do limiar

da mudanca de representacao praticada a cada segundo da

execucao.

Figure 8. Benchmark realizado com 2000, 3000 e 4000 elementos nocenario e 30 quadros por segundo como meta.

Nos tres testes, o sistema estabiliza adequadamente na

taxa de quadros por segundo desejada, sendo que, nos

casos de 2000 e 3000 elementos, as distancias praticadas

sao sempre satisfatorias. Com 4000 agentes, nos segundos

iniciais, a distancia se iguala a zero, deixando o sistema

composto apenas por impostores. Este fato se da por conta

da grande aglomeracao inicial de agentes visıveis, fazendo a

taxa inicial de quadros por segundo ser de aproximadamente

20 fps, mesmo com todos os agentes representados por

impostores. Com a movimentacao da camera e eventual

reducao na quantidade de elementos visıveis, no terceiro

segundo da execucao o sistema alcanca a meta de quadros

por segundo. No quarto segundo, o sistema ja consegue

margem para renderizar modelos tridimensionais, e entao

a distancia comeca a ser incrementada.

Situacoes onde os impostores se aproximam exagerada-

mente, ou ate mesmo se tornam a unica representacao na

cena, devem ser evitadas (caso a manutencao da taxa de

quadros por segundo nao seja prioridade absoluta). Para

tanto, pode-se estabelecer limite de aproximacao (e ate

mesmo de distancia maxima). Desta forma os modelos

imediatamente proximos ao observador serao sempre ren-

derizados em sua forma tridimensional, e em casos de alta

demanda na renderizacao, a taxa de quadros por segundo

podera cair, mas por outro lado sera garantida uma margem

de qualidade mınima de imagem.

B. Diferentes Especificacoes de Hardware

Neste segundo teste, computadores de configuracoes difer-

entes (descritos anteriormente) executam o benchmark sob

as mesmas condicoes (Figura 9). O primeiro possui hard-ware mais robusto, contando com processador de clocksuperior e placa grafica dedicada. O segundo computador

possui processador de clock menor e placa grafica com

memoria compartilhada.

Figure 9. Benchmark executando nas configuracoes de hardware 1(esquerda) e 2 (direita).

O benchmark e realizado com 30 quadros por segundo

como meta, constante k igual 0,05 e ambiente composto com

1000 elementos (Figura 10). A arquitetura da plataforma e

o sistema operacional das duas configuracoes de hardwaresao equivalentes.

Figure 10. Benchmark realizado em especificacoes de hardware distintas.

As duas configuracoes de hardware estabilizam a taxa

de quadros por segundo por volta da meta. A primeira

148

configuracao, por ser mais robusta, mantem a distancia do

limiar da troca de representacao com valores altos, retendo

os impostores por volta de 25 unidades de mundo em media,

o que representa uma maior qualidade de imagem para a

mesma meta desejada. A segunda configuracao aproxima os

impostores para conseguir a mesma fluidez na renderizacao,

mantendo os impostores aproximadamente 12 unidades de

mundo distantes em media.

C. Distancia Variavel x Distancia Fixa

No sistema implementado por Dobbyn et al. [5], a

distancia da mudanca de representacao e dada pelo ponto

onde a relacao do pixel para o texel do impostor e de um

para um. Este teste compara situacoes onde a distancia e

fixa (com relacao 1:1) e dinamica (metodo proposto).

No primeiro cenario, o desempenho (em quadros por

segundo) dos metodos e comparado. O benchmark e exe-

cutado com 1000, 2000, 3000, 4000 e 5000 elementos,

respectivamente. Em todos os testes a meta da taxa de

quadros por segundo e definida em 30 fps e o valor da

constante k e de 0,05. O grafico (Figura 11) mostra a media

da taxa de quadros por segundo a cada benchmark.

Figure 11. Comparacao entre a troca de representacao com a razao pixelpara texel de 1:1 e o metodo proposto.

No segundo panorama, as distancias sao comparadas. E

desejavel que a distancia seja a maior possıvel, visto que os

impostores podem eventualmente gerar alguma degradacao

na qualidade de imagem. No caso especıfico do sistema

descrito, a distancia fixa em que a relacao pixel para texelresulta em um e de 12,5 unidades de mundo. O grafico

(Figura 12) mostra a media da distancia do limiar onde

acontece a troca de representacao a cada benchmark.

Em circunstancias de poucos elementos na cena, a

distancia fixa consegue valores altos na taxa de quadros

por segundo. No entanto, com a insercao de mais elementos

(ou a partir de qualquer adversidade) ela perde rendimento,

podendo prejudicar a fluidez da simulacao em tempo real,

apresentando pequenos travamentos e transmitindo sensacao

de movimentos nao naturais aos agentes.

A distancia do limiar da troca de representacao praticada

pelo metodo proposto alcanca valores altos para situacoes de

poucos elementos na cena, e vai reduzindo conforme mais

Figure 12. Comparacao entre distancias praticadas entre os metodos.

agentes sao inseridos. Quanto maior a densidade de humanos

virtuais na cena, maior a incidencia de oclusao e menor a

percepcao visual do observador aos detalhes especıficos da

cena, dando vantagem ao metodo, que mesmo violando a

relacao pixel para texel de 1:1 na renderizacao de grande

quantidade de elementos, consegue boa qualidade visual.

D. Diferentes Metas de Taxa de Quadros por Segundo

Com a aplicacao do metodo proposto e possıvel escolher a

taxa de quadros por segundo desejada, o que e outro aspecto

muito interessante do mesmo. A faixa de valores para a taxa

de quadros por segundo de determinada aplicacao e subjetiva

e pode depender de seu tipo. Filmes, jogos, simuladores e

editores costumam utilizar diferentes faixas. O padrao na

maioria das obras cinematograficas hoje e de 30 quadros por

segundo. Ja nos games, foi convencionado que a taxa de 60

quadros por segundo e a ideal para transmitir a experiencia

de maneira satisfatoria. Isso porque, diferente dos filmes e

da TV, o jogador nao esta apenas assistindo a um vıdeo, mas

tambem interagindo com ele [16].

Neste cenario, o metodo e testado com diferentes valores

para φ (meta de taxa de quadros por segundo). O benchmarke executado com 2500 elementos na cena e valor da cons-

tante k de 0,05. O grafico (Figura 13) mostra a distancia

do limiar onde acontece a troca de representacao praticada

durante a execucao.

Figure 13. Distancia praticada pelo metodo com diferentes metas dequadros por segundo.

Ao reduzir o valor da meta, o metodo aumenta a distancia

do limiar, dada a reducao do custo computacional ao ren-

149

derizar uma quantidade inferior de quadros a cada segundo.

Em contrapartida, com a elevacao da meta, o metodo apro-

xima os impostores, reduzindo a demanda computacional de

renderizacao de cada quadro.

A variacao da distancia praticada ao longo da execucao

ocorre pela propria natureza do benchmark. O pico na

distancia praticada por volta dos 13 segundos resulta do

momento de menor quantidade de agentes visıveis a serem

renderizados.

E. Diferentes Valores para a Constante “k”

Os valores da constante k (Equacao 4) tem influencia

direta no comportamento do metodo. Ela define a velocidade

em que o limiar se move, fazendo com que a taxa de quadros

alcance mais rapidamente (ou lentamente) a taxa objetivo.

Neste cenario, tres valores para k foram definidos.

O benchmark e realizado com 2500 elementos na cena e

meta da taxa de quadros por segundo de 30 fps. O grafico

(Figura 14) mostra a taxa de quadros por segundo e a

distancia do limiar onde ocorre a troca de representacao

praticados a cada segundo da execucao.

Figure 14. Benchmark rodando com diferentes valores para k.

Para avaliar precisamente a influencia da constante na

qualidade da renderizacao, e necessario inferir a quantidade

de trocas de representacao que cada valor da mesma incita.

O grafico (Figura 15) mostra a quantidade total de trocas de

representacao (tanto de impostor para modelo tridimensional

quanto o inverso) por benchmark.

Figure 15. Quantidade de vezes que os impostores viram malhastridimensionais, ou vice versa, por benchmark.

Com valores altos definidos em k, o metodo tende a

estabilizar mais rapidamente na taxa objetivo; contudo, ha

degradacao na animacao por conta de consecutivas trocas

de representacao dos personagens. Definindo valores baixos

para k, o metodo estabiliza lentamente na taxa de quadros

desejada; todavia, minimiza a quantidade de mudanca de

representacao dos personagens, aumentando a qualidade

grafica da renderizacao.

Devido a baixa quantidade de trocas de representacao e

relativa velocidade na variacao do limiar proporcionado ao

metodo, o valor k = 0, 05 foi adotado nesse trabalho.

F. Renderizando Com e Sem Otimizacoes de Desempenho

Neste cenario e investigado o ganho de desempenho com

o emprego dos algoritmos de descarte por volume de

visualizacao e classificacao de estado (Figura 16). O bench-mark e realizado com 2000 elementos no cenario e taxa de

30 quadros por segundo como meta.

Figure 16. Distancia do limiar da troca de representacao praticada com esem as otimizacoes de desempenho.

As otimizacoes de desempenho proporcionam aumento

no rendimento, o que, com o metodo, reflete em aumento

na distancia do limiar praticado. Quanto maior a distancia

aplicada aos impostores, maior a possibilidade de balanco

para a tarefa de renderizacao praticado pelo metodo.

VI. CONCLUSOES E TRABALHOS FUTUROS

Neste trabalho foi apresentado um metodo dinamico

para a troca de representacao em sistemas hıbridos de

renderizacao de multidoes. O objetivo deste metodo e tornar

a demanda computacional da renderizacao dinamica, a partir

da variacao da distancia da mudanca de representacao entre

o modelo tridimensional e impostores. A tecnica prioriza a

fluidez na renderizacao de multidoes em tempo real, balan-

ceando a carga computacional de acordo com os recursos

disponıveis, tentando manter taxas de quadros por segundo

interativas sempre que possıvel.

O trabalho tem a proposta de dinamizar a distancia da

troca de representacao de acordo com uma meta na taxa

de quadros por segundo previamente estabelecida. A ideia e

utilizar sempre todos os recursos disponıveis. Em situacoes

de sobra computacional, o sistema afasta os impostores,

consequentemente diminuindo a possibilidade de detrimento

150

da qualidade de imagem que pode ser gerada pelos mesmos.

Em contrapartida, quando os recursos diminuem (devido

ao aumento na quantidade de agentes virtuais na cena

ou qualquer adversidade), o metodo e capaz de manter

a suavidade da renderizacao aproximando os impostores,

mascarando a presenca dos mesmos pela alta incidencia de

oclusao e baixa perceptividade do observador, caracterısticas

tıpicas de cenas com alta densidade de objetos.

A transicao entre as representacoes eventualmente pode

gerar artefatos perceptıveis ao usuario, devendo ser evitada

tanto quanto possıvel. A forma que o limiar da troca

de representacao avanca e recua casualmente pode gerar

degradacao na qualidade da renderizacao, devido as suces-

sivas trocas de representacao dos agentes virtuais que se

encontram proximos a sua margem. O ajuste adequado na

constante k da Equacao 4 serve para suavizar o problema.

O trabalho proposto mostrou bons resultados, dando di-

namismo a tarefa de renderizacao da multidao em tempo

real. Ele revelou grande vantagem de tornar mais pratica

a modelagem de um sistema de simulacao de multidoes,

tirando a necessidade de alocacao com precisao de recursos

do sistema para cada etapa de modelo geral, deixando

a renderizacao dinamica suficientemente para liberar ou

ocupar recursos (gerando ou aliviando a demanda computa-

cional).

Como trabalhos futuros, pode-se investigar a insercao de

novos nıveis de detalhes para o modelo tridimensional e

diferentes abordagens de impostores em um mesmo sistema,

podendo representar uma renderizacao de qualidade com

bons ganhos na taxa de quadros por segundo. Consequente-

mente varios limiares, preferencialmente dinamicos, devem

ser definidos tanto para a troca de representacao quanto para

a mudanca do nıvel de detalhe do modelo tridimensional.

REFERENCES

[1] PES2011. Pro evolution soccer 2010.http://www.konami.com/games/pes2010/.

[2] Amaury Aubel, Ronan Boulic, and Daniel Thalmann. An-imated impostors for real-time display of numerous virtualhumans. In Proc. Virtual Worlds 98, pages 14–28. Springer-Verlag, 1998.

[3] Franco Tecchia and Yiorgos Chrysanthou. Real-time ren-dering of densely populated urban environments. In InProceedings of the Eurographics Workshop on RenderingTechniques 2000, pages 83–88. Springer, 2000.

[4] Franco Tecchia, Celine Loscos, and Yiorgos Chrysanthou.Image-based crowd rendering. IEEE Computer Graphics andApplications, 22:36–43, 2002.

[5] Simon Dobbyn, John Hamill, Keith O’Conor, and CarolO’Sullivan. Geopostors: a real-time geometry / impostorcrowd rendering system. In Proceedings of the 2005 sympo-sium on Interactive 3D graphics and games, I3D ’05, pages95–102, New York, NY, USA, 2005. ACM.

[6] Jerry Yee and James Davis. Crowd rendering with non-planar3d impostors. In Proceedings of the 2008 symposium onInteractive 3D graphics and games, I3D ’08, pages 7:1–7:1,New York, NY, USA, 2008. ACM.

[7] Ladislav Kavan, Simon Dobbyn, Steven Collins, Jirı Zara,and Carol O’Sullivan. Polypostors: 2d polygonal impostorsfor 3d crowds. In Proceedings of the 2008 symposium onInteractive 3D graphics and games, I3D ’08, pages 149–155,New York, NY, USA, 2008. ACM.

[8] Jean-Marc Coic, Celine Loscos, and Alexandre Meyer. ThreeLOD for the Realistic and Real-Time Rendering of Crowdswith Dynamic Lighting. Technical Report RR-LIRIS-2005-008, LIRIS UMR 5205 CNRS/INSA de Lyon/UniversiteClaude Bernard Lyon 1/Universite Lumiere Lyon 2/EcoleCentrale de Lyon, April 2005.

[9] Erik Millan and Isaac Rudomin. Impostors and pseudo-instancing for gpu crowd rendering. In Proceedings ofthe 4th international conference on Computer graphics andinteractive techniques in Australasia and Southeast Asia,GRAPHITE ’06, pages 49–55, New York, NY, USA, 2006.ACM.

[10] James F. Blinn. Models of light reflection for computer syn-thesized pictures. SIGGRAPH Comput. Graph., 11(2):192–198, July 1977.

[11] IdSoftware. Id software llc, a zenimax media company.http://www.idsoftware.com/.

[12] OpenGL. The industry’s foundation for high performancegraphics. http://www.opengl.org/.

[13] QTCreator. The cross-platform application framework.http://qt.nokia.com/.

[14] TheFree3DModels. Free 3d models.http://thefree3dmodels.com/.

[15] BLENDER. Blender. http://www.blender.org/.

[16] Felipe Gugelmin. Tecmundo.http://www.tecmundo.com.br/video/10926-o-que-sao-frames-por-segundo-.htm, junho de 2011.

151