1 / 29

Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

Prof.ª Judith Kelner Alunos:. Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros. [dbb, lbs3, maa, wbas]@cin.ufpe.br. Sumário. Introdução Características Hardware Software Exemplos Referências. Introdução. O que é PhysX ?

crevan
Download Presentation

Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prof.ª Judith Kelner Alunos: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros [dbb, lbs3, maa, wbas]@cin.ufpe.br

  2. Sumário • Introdução • Características • Hardware • Software • Exemplos • Referências

  3. Introdução • O que é PhysX ? PhysX é uma unidade de processamento física, primeiramente projetada pela .

  4. Introdução • Proprietário

  5. Introdução • Leis de Newton • Primeira Lei de Newton (inércia); • Segunda Lei de Newton (relação força-mov.); • Terceira Lei de Newton (ação e reação).

  6. Introdução • Leis de Newton • Primeira Lei de Newton (inércia)

  7. Introdução • Leis de Newton • Segunda Lei de Newton (relação força-mov.)

  8. Introdução • Leis de Newton • Terceira Lei de Newton (ação e reação)

  9. Introdução • SDK disponível e livre de cobrança.

  10. Hardware • 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

  11. Hardware • Exemplo de um processador produzido pela AGEIA • PhysX 100M

  12. Hardware • 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

  13. Hardware • 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

  14. Hardware • A NVIDIA oferece aos desenvolvedores de jogos o PhysXSDK(Software Development Kit) • É aceito por quase todas as ferramentas de desenvolvimento • Oferece suporte direto em várias plataformas • Microsoft • Xbox 360 • PlayStation 3

  15. Hardware • Processador • 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.

  16. Hardware • 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.

  17. Hardware • Fabricantes de GPU • INTEL • NVIDIA • ATI

  18. Hardware • Exemplo de um processador, desenvolvido pela NVIDIA. • GEFORCE 6600 GT

  19. Hardware • 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

  20. Hardware • 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

  21. Software • 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”

  22. WORLD • 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);

  23. 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: NxSceneDescsceneDesc; • sceneDesc.gravity = NxVec3(0.0f, -9.81f, 0.0f); //Define a gravidade da cena • gScene = gPhysicsSDK->createScene(sceneDesc);

  24. 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 NxPlaneShapeDescplaneDesc; NxActorDescactorDesc; actorDesc.shapes.pushBack(&planeDesc); NxActor *staticActor = gScene->createActor(actorDesc);

  25. 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 1m de aresta NxBoxShapeDescboxDesc; boxDesc.dimensions.set(0.5f,0.5f,0.5f); NxBoxShape *boxShape=actor->createShape(boxDesc)->isBox();

  26. 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 • NxVec3 globalAnchor = NxVec3(0,5,0); • NxVec3 globalAxis = NxVec3(0,1,0); • NxSphericalJointDescsphericalDesc; • 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);

  27. 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: 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);

  28. Resultados • lista de jogos : http://nzone.com/object/nzone_physxgames_home.html

  29. Referências • 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

More Related