Prof Judith Kelner Alunos Davi Barbosa Leonardo Batista
Prof. ª Judith Kelner Alunos: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs 3, maa, wbas]@cin. ufpe. br
Sumário Introdução Características ◦ Hardware ◦ Software Exemplos Referências
Introdução O que é Phys. X ? Phys. X é uma unidade de processamento física, primeiramente projetada pela .
Introdução Proprietário
Introdução Leis de Newton o Primeira Lei de Newton (inércia); o Segunda Lei de Newton (relação força-mov. ); o Terceira Lei de Newton (ação e reação).
Introdução Leis de Newton o Primeira Lei de Newton (inércia)
Introdução Leis de Newton o Segunda Lei de Newton (relação força-mov. )
Introdução Leis de Newton o Terceira Lei de Newton (ação e reação)
Introdução SDK disponível e livre de cobrança.
Hardware AGEIA Phys. X q Primeiro processador dedicado apenas para à aceleração de hardware para jogos de PC q Placa de extensão de acelerador q Produção de movimentos e iteração dinâmicos
Hardware Exemplo de um processador produzido pela AGEIA Phys. X 100 M
Hardware A importância de Física para os Jogos q Efeitos de Animação pré-fabricados q Evolução dos Jogos q Melhor Interação e Reação com o Ambiente
Hardware Como os Jogos ficam otimizados com o Phys. X ? q q q Criação de recursos físicos Criação de recursos para aceleração de hardware Estabilidade Funcionalidade Desempenho
Hardware A NVIDIA oferece aos desenvolvedores de jogos o Phys. X SDK (Software Development Kit) q É aceito por quase todas as ferramentas de desenvolvimento q Oferece suporte direto em várias plataformas q Microsoft q Xbox 360 q Play. Station 3
Hardware Processador GPUs (Graphics Processing Unit) da Nvidia q Basicamente, é um processador produzido especificamente para realizar cálculos e tarefas relacionadas ao Processamento de Gráficos em tempo real.
Hardware Por que a GPU é boa para processamento da física ? q O mecanismo Phys. X multiencadeado foi projetado especificamente para aceleração de hardware em ambientes de intensa computação paralela.
Hardware Fabricantes de GPU INTEL NVIDIA ATI
Hardware Exemplo de um processador, desenvolvido pela NVIDIA. v GEFORCE 6600 GT
Hardware Contribuição do Phys. X para GPU ? q As GPUs da NVIDIA baseadas na CUDA, estão sendo habilitadas com a tecnologia NVIDIA Phys. X. q Combinação entre elementos gráficos e físicos q Maior aproveitamento para desenvolvedores q Melhor Interação entre o usuário e o ambiente virtual
Hardware O que é CUDA ? q É uma arquitetura de computação paralela projetada para tirar melhor aproveitamento dos mecanismos de computação paralela das unidades de processamento gráfico (GPUs) NVIDIA
Software Algoritmo de colisão, posicionamento espacial, etc. Phys. X SDK implementado em c++ Organizado como uma hierarquia de classes Cada classe contendo alguma funcionalidade acessível pelo usuário implementa uma interface Nomes de interface sempre começam com “Nx”
WORLD Classe usada para instanciar objetos e setar parâmetros globais que afetam todas as cenas Método Nx. Create. Physics. SDK() é usado para obter uma instância desta classe Exemplo: Nx. Physics. SDK *myworld = Nx. Create. Physics. SDK(NX_PHYSICS_SDK_VERSI ON);
SCENE Conjunto de corpos, restrições e efeitos Simula comportamento de objetos de acordo com sua interação, com as interações só ocorrendo entre objetos de uma mesma cena Pode manipular elementos de ambiente, como por exemplo a gravidade Exemplo: Nx. Scene. Desc scene. Desc; scene. Desc. gravity = Nx. Vec 3(0. 0 f, -9. 81 f, 0. 0 f); //Define a gravidade da cena g. Scene = g. Physics. SDK>create. Scene(scene. Desc);
ACTOR Principal objeto de simulação, sendo criado por uma cena e pertencente à mesma Pode ser estático ou dinâmico No caso de ator estático, definem-se como elementos de paisagens, não possuem atributos físicos e são utilizados habitualmente na detecção de colisões Atores dinâmicos são corpos e possuem um conjunto de propriedades físicas Exemplo abaixo cria um ator estático Nx. Plane. Shape. Desc plane. Desc; Nx. Actor. Desc actor. Desc; actor. Desc. shapes. push. Back(&plane. Desc); Nx. Actor *static. Actor = g. Scene->create. Actor(actor. Desc);
SHAPE Modelam o objeto Utilizados para o controle e detecção de colisões Podem assumir vários tipos, tais como caixa, esfera, cápsula, cubo, entre outros No exemplo abaixo, modelamos um cubo de 1 m de aresta Nx. Box. Shape. Desc box. Desc; box. Desc. dimensions. set(0. 5 f, 0. 5 f); Nx. Box. Shape *box. Shape=actor>create. Shape(box. Desc)->is. Box();
JOINTS São conexões entre corpos rígidos, ou seja, entre atores Necessita sempre de pelo menos 2 atores Possuem pontos em comum que tanto podem ser de rotação como de translação Classificados em diversas categorias, tais como, esférica, prismática, ponto no plano, ponto na reta, etc Define como se dá a movimentação dos atores sobre o ponto de junta Exemplo Nx. Vec 3 global. Anchor = Nx. Vec 3(0, 5, 0); Nx. Vec 3 global. Axis = Nx. Vec 3(0, 1, 0); Nx. Spherical. Joint. Desc spherical. Desc; spherical. Desc. actor[0] = a 0; spherical. Desc. actor[1] = a 1; spherical. Desc. set. Global. Anchor(global. Anchor); spherical. Desc. set. Global. Axis(global. Axis); spherical. Desc. flags |= NX_SJF_SWING_LIMIT_ENABLED; spherical. Desc. swing. Limit. value = 0. 3*Nx. Pi; spherical. Desc. flags |= NX_SJF_TWIST_LIMIT_ENABLED; spherical. Desc. twist. Limit. low. value = -0. 05*Nx. Pi; spherical. Desc. twist. Limit. high. value = 0. 05*Nx. Pi; Nx. Spherical. Joint *j = (Nx. Spherical. Joint*)g. Scene->create. Joint(spherical. Desc);
MATERIAL Descreve as propriedades da superfície Pode ser anisotrópica, ou seja, propriedade física pode variar com a direção Exemplo abaixo cria um material anisotrópico, definindo também o seu atrito anisotrópico: Nx. Material. Desc material; material. restitution = 0. 0 f; material. static. Friction = 0. 1 f; material. dynamic. Friction. V = 0. 8 f; material. static. Friction. V = 1. 0 f; material. dir. Of. Anisotropy. set(0, 0, 1); material. flags = NX_MF_ANISOTROPIC; Nx. Material *aniso. Material = g. Scene->create. Material(material);
Resultados lista de jogos : http: //nzone. com/object/nzone_physxgames_home. html
Referências http: //pt. wikipedia. org/wiki/Phys. X http: //www. nvidia. com/object/nvidia_physx. html http: //www. infomaniaco. com. br/games/physx-o-que-e-e -o-que-ele-muda-nos-jogos/ http: //www. nvmania. com. br/forum/ultimas-noticias/513 nvidia-compra-ageia-e-seu-physx. html http: //www. forumpcs. com. br/noticia. php? b=217951 http: //www. nvidia. com. br/object/physx_accelerator_br. ht ml
- Slides: 29