A dynamic representation-switch method for hybrid crowd rendering systems
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