Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br...
-
Upload
luan-de-melo -
Category
Documents
-
view
218 -
download
0
Transcript of Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br...
![Page 1: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/1.jpg)
Davi BarbosaLeonardo BatistaMarcelo AlmeidaWagner Barros
[dbb, lbs3, maa, wbas]@cin.ufpe.br
Prof.ª Judith KelnerAlunos:
![Page 2: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/2.jpg)
Introdução
Características◦ Hardware◦ Software
Exemplos
Referências
![Page 3: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/3.jpg)
O que é PhysX ?
PhysX é uma unidade de processamento física, primeiramente projetada pela .
![Page 4: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/4.jpg)
Proprietário
![Page 5: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/5.jpg)
Leis de Newton
oPrimeira Lei de Newton (inércia);
oSegunda Lei de Newton (relação força-mov.);
oTerceira Lei de Newton (ação e reação).
![Page 6: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/6.jpg)
Leis de NewtonoPrimeira Lei de Newton (inércia)
![Page 7: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/7.jpg)
Leis de NewtonoSegunda Lei de Newton (relação força-mov.)
![Page 8: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/8.jpg)
Leis de NewtonoTerceira Lei de Newton (ação e reação)
![Page 9: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/9.jpg)
SDK disponível e livre de cobrança.
![Page 10: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/10.jpg)
AGEIA PhysX
Primeiro processador dedicado apenas para à aceleração de hardware para jogos de PC
Placa de extensão de acelerador Produção de movimentos e iteração dinâmicos
![Page 11: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/11.jpg)
Exemplo de um processador produzido pela AGEIA
PhysX 100M
![Page 12: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/12.jpg)
A importância de Física para os Jogos
Efeitos de Animação pré-fabricados
Evolução dos Jogos
Melhor Interação e Reação com o Ambiente
![Page 13: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/13.jpg)
Como os Jogos ficam otimizados com o PhysX ?
Criação de recursos físicos Criação de recursos para aceleração de
hardware Estabilidade Funcionalidade Desempenho
![Page 14: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/14.jpg)
A NVIDIA oferece aos desenvolvedores de jogos o PhysXPhysX SDKSDK (Software Development Kit)
É aceito por quase todas as ferramentas de desenvolvimento
Oferece suporte direto em várias plataformas
Microsoft Xbox 360 PlayStation 3
![Page 15: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/15.jpg)
ProcessadorProcessador
GPUs (Graphics Processing Unit) da Nvidia
Basicamente, é um processador produzido especificamente para realizar cálculos e tarefas relacionadas ao Processamento de Gráficos em tempo real.
![Page 16: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/16.jpg)
Por que a GPU é boa para processamento da física ?
O mecanismo PhysX multiencadeado foi projetado especificamente para aceleração de hardware em ambientes de intensa computação paralela.
![Page 17: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/17.jpg)
Fabricantes de GPU
INTEL
NVIDIA
ATI
![Page 18: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/18.jpg)
Exemplo de um processador, desenvolvido pela NVIDIA.
GEFORCE 6600 GT
![Page 19: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/19.jpg)
Contribuição do PhysX para GPU ?
As GPUs da NVIDIA baseadas na CUDA, estão sendo habilitadas com a tecnologia NVIDIA PhysX.
Combinação entre elementos gráficos e físicos
Maior aproveitamento para desenvolvedores
Melhor Interação entre o usuário e o ambiente virtual
![Page 20: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/20.jpg)
O que é CUDA ? É 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
![Page 21: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/21.jpg)
Algoritmo de colisão, posicionamento espacial, etc.
PhysX 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”
![Page 22: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/22.jpg)
Classe usada para instanciar objetos e setar parâmetros globais que afetam todas as cenas
Método NxCreatePhysicsSDK() é usado para obter uma instância desta classe
Exemplo: NxPhysicsSDK *myworld = NxCreatePhysicsSDK(NX_PHYSICS_SDK_VERSION);
![Page 23: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/23.jpg)
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: NxSceneDesc sceneDesc; sceneDesc.gravity = NxVec3(0.0f, -9.81f,
0.0f); //Define a gravidade da cena gScene = gPhysicsSDK-
>createScene(sceneDesc);
![Page 24: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/24.jpg)
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áticoNxPlaneShapeDesc planeDesc;
NxActorDesc actorDesc;actorDesc.shapes.pushBack(&planeDesc);NxActor *staticActor = gScene-
>createActor(actorDesc);
![Page 25: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/25.jpg)
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
1m de arestaNxBoxShapeDesc boxDesc;
boxDesc.dimensions.set(0.5f,0.5f,0.5f); NxBoxShape *boxShape=actor-
>createShape(boxDesc)->isBox();
![Page 26: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/26.jpg)
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 NxVec3 globalAnchor = NxVec3(0,5,0); NxVec3 globalAxis = NxVec3(0,1,0); NxSphericalJointDesc sphericalDesc; sphericalDesc.actor[0] = a0; sphericalDesc.actor[1] = a1; sphericalDesc.setGlobalAnchor(globalAnchor); sphericalDesc.setGlobalAxis(globalAxis); sphericalDesc.flags |= NX_SJF_SWING_LIMIT_ENABLED; sphericalDesc.swingLimit.value = 0.3*NxPi; sphericalDesc.flags |= NX_SJF_TWIST_LIMIT_ENABLED; sphericalDesc.twistLimit.low.value = -0.05*NxPi; sphericalDesc.twistLimit.high.value = 0.05*NxPi; NxSphericalJoint *j = (NxSphericalJoint*)gScene->createJoint(sphericalDesc);
![Page 27: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/27.jpg)
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:
NxMaterialDesc material; material.restitution = 0.0f; material.staticFriction = 0.1f; material.dynamicFriction = 0.1f; material.dynamicFrictionV = 0.8f; material.staticFrictionV = 1.0f; material.dirOfAnisotropy.set(0,0,1); material.flags = NX_MF_ANISOTROPIC; NxMaterial *anisoMaterial = gScene->createMaterial(material);
![Page 28: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/28.jpg)
lista de jogos : http://nzone.com/object/nzone_physxgames_home.html
![Page 29: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br Prof.ª Judith Kelner Alunos:](https://reader035.fdocument.pub/reader035/viewer/2022062400/570638431a28abb8238f1f9b/html5/thumbnails/29.jpg)
http://pt.wikipedia.org/wiki/PhysX 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.html