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

Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

  • Upload
    crevan

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

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 ? - PowerPoint PPT Presentation

Citation preview

Page 1: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

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

Introdução

Características◦ Hardware◦ Software

Exemplos

Referências

Page 3: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

O que é PhysX ?

PhysX é uma unidade de processamento física, primeiramente projetada pela .

Page 4: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

Proprietário

Page 5: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

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

Leis de NewtonoPrimeira Lei de Newton (inércia)

Page 7: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

Leis de NewtonoSegunda Lei de Newton (relação força-mov.)

Page 8: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

Leis de NewtonoTerceira Lei de Newton (ação e reação)

Page 9: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

SDK disponível e livre de cobrança.

Page 10: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

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

Exemplo de um processador produzido pela AGEIA

PhysX 100M

Page 12: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

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

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

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

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

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

Fabricantes de GPU

INTEL

NVIDIA

ATI

Page 18: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

Exemplo de um processador, desenvolvido pela NVIDIA.

GEFORCE 6600 GT

Page 19: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

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

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

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

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

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

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

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

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

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

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

Page 29: Davi Barbosa Leonardo Batista Marcelo Almeida Wagner Barros

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