5.1的笔记
所有内容参考自官方文档
https://nvidia-omniverse.github.io/PhysX/physx/5.1.0/index.html#

所有的demo示例都被称为Snippet。源码可以在physx/snippets目录中找到。

每个都是一个完整的可执行目标。

Hello world

physx\snippets\snippethelloworld\SnippetHelloWorld.cpp
目录下是Hello World程序。是刚体的一个模拟程序。官方推荐从这里看起。

一般流程:

首先要:

  1. 使用PxCreateFoundation()函数创建一个 gFoundation对象,这个对象是管理内存和错误回调的单例。
  2. 使用 PxCreatePhysics() 函数创建一个gPhysics对象,这个对象也是单例,用来设置tolerance和PVD(physX visualization debugger)等。用户还可以改用PxCreateBasePhysics()来替代PxCreatePhysics() ,从而关闭不需要的功能模块。

所有的程序都需要这两个全局单例对象。我们来看一个例子
位于physx\snippets\snippethelloworld\SnippetHelloWorld.cpp 的第81行


这里我们已经提到了

  1. gFoundation用来管理内存和报错
  2. gPvd用来管理可视化调试器(visualization debugger)
  3. gPhysics设置容差和选择使用的功能模块等。
  4. gScene是场景对象。(下面会细说)
  5. gMaterial是材质对象。
  6. 最后addActor()创建了一个actor对象。(下面会细说)

这里面最重要的两个对象:场景对象和actor对象。

这两个概念在文档中如下描述:

The basic concepts of the world within a PhysX simulation are easy to
describe: The PhysX world comprises a collection of Scenes, each
containing objects called Actors;

  • Each Scene defines its own reference frame encompassing all of space
    and time;

  • Actors in different Scenes do not interact with each other;

  • Characters and vehicles are complex specialized objects made from
    Actors;

  • Actors have physical state : position and orientation; velocity or
    momentum; energy; etc,

  • Actor physical state may evolve over time due to applied forces,
    constraints such as joints or contacts, and interactions between
    Actors.

也就是说 physx之中有许多场景(类似关卡)。每个场景互不影响。每个场景中有许多actor。每个actor具有物理属性(速度、位置、姿态、能量等)。这个actor就是我们要真正实现模拟的对象。一个复杂的对象(比如一辆车)可以由多个actor所组成。

stepPhysics

在stepPhysics当中进行模拟。注意最重要 的是gScene->simulate(dt)

最后的gScene->fetchResults 也十分关键。它是用来传回结果的。在physX当中,所有的仿真都默认是异步的。因此,你模拟完了之后,要有一个传回仿真结果的操作。

PBD

目前PBD还不是很完整,只有四个demo。在physX当中,他们被称为ParticleSystem。

PBD模块的demo位于
physx\snippets\snippetpbdcloth
physx\snippets\snippetpbdinflatable
physx\snippets\snippetpbf
physx\snippets\snippetpbfmultimat



【physX】physX 5.1的笔记1:初识相关推荐

  1. Hadoop学习笔记—4.初识MapReduce

    一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个 编程模型 ,用以进行大数据量的计算.对于大 数据量的计算,通常采用的处理手法就是并行计算.但对许多开 ...

  2. ASM学习笔记1 - 初识ClassVistor ——以ClassReader的应用为例

    ASM学习笔记1 - 初识ClassVistor --以ClassReader的应用为例 1 ASM简介 什么是ASM? Java操纵类字节码的工具.是一个jar包. 如何使用? ASM提供两类API ...

  3. C语言学习笔记-P1 初识C语言(2)

    C语言学习笔记-P1 初识C语言(2) C语言学习笔记-P1 初识C语言(2) 一.常量 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.枚举常量 二.字符串+转义字 ...

  4. C语言学习笔记-P1 初识C语言(1)

    C语言学习笔记-P1 初识C语言(1) P1 初识C语言(1) 一.什么是C语言 1.定义 2.发展 二.第一个C语言程序 Hello World 三.数据类型 四.变量,常量 未完待续!!! P1 ...

  5. 整理笔记:初识应广(单片机)

    整理笔记:初识应广(单片机) 学习应广单片机(一) 题外话 内容 IO设置 点灯工程 容易出现的问题 学习应广单片机(一) 学习应广 PMS132B系列 单片机的知识.这片文章用于记录学习该芯片的笔记 ...

  6. 咸鱼CAD笔记—CAD初识

    咸鱼CAD笔记-CAD初识 发现开发板功能实现了但是没有载体展示(比如智能家居功能实现了,房子木有.拿不出手作展示)特意学习一下CAD(毕竟雕刻机不用白不用) CAD(Computer Aided D ...

  7. css-day01笔记-CSS初识、基础选择器、文字和文本样式

    typora-copy-images-to: media 第01阶段.web基础:css-day01笔记-CSS初识.基础选择器.文字和文本样式 一.CSS层叠样式表 学习目标 理解 css的目的作用 ...

  8. xilinx srio ip学习笔记之初识srio

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 xilinx srio ip学习笔记之初识srio 前言 IP 设置 总结 前言 因为工作原因,需要对rapidio 的协议进行了解, ...

  9. 吴恩达《机器学习》学习笔记一——初识机器学习

    吴恩达<机器学习>学习笔记一 一. 什么是机器学习? 二.监督学习 三.无监督学习 初识机器学习 这是个人学习吴恩达<机器学习>课程的一些笔记,供自己和大家学习提升.第一篇内容 ...

  10. Kubernetes 笔记 01 初识 Kubernetes 新时代的领航者

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 大明王朝时期, ...

最新文章

  1. python数据储存_五种使用python储存数据的方式
  2. (Java多线程)线程状态
  3. 委派模式的定义及应用场景
  4. while循环语句用法_EXCEL退出DO LOOP循环语句|until、while
  5. C# 中使用HttpClient读取大型Json数据集
  6. wireshark提取流量包中的文件_[技术]Wireshark抓取的数据包提取文件
  7. php getbyid,ThinkPHP查询中的魔术方法简述
  8. 量子运算 简单通俗例子_什么是量子计算机? 用一个简单的例子解释。
  9. c++矩阵类_面向对象有限元编程|单元类
  10. 中文版microbit:TurnipBit显示动态滚动字符教程实例
  11. android 放大镜动画,Android在图片上进行放大镜效果(放大镜形状)
  12. Python风格总结:遍历技巧
  13. centOS下JDK1.8的安装
  14. 网吧无盘最新服务器配置,80-100台网吧无盘服务器配置方案建议
  15. 智能指针的标准之争:Boost vs. Loki [转]
  16. mongodb 使用$lookup做多表关联处理
  17. 什么人最适合读研呢?你适不适合读研究生?
  18. Java项目中这样打印错误日志,排查问题更高效
  19. Android 关于极光推送退出APP时清空通知的问题
  20. 科技爱好者周刊(第 114 期):U 盘化生存和 Uber-job

热门文章

  1. python推荐_Python中一个简单的基于内容的推荐引擎
  2. 蚁剑加密 WebShell 过杀软
  3. 在线办公时代,如何选择合适的云办公软件?
  4. moveable摘要中文文档
  5. PSEN ma1.3p-22PSEN ma1.3-12皮尔兹安全开关
  6. dct基 matlab,DCT 变换的基函数与基图像
  7. openssh移植 for pycharm 远程调试 sftp
  8. FFmpeg音视频编解码示例
  9. ubuntu更改屏幕分辨率-修改因驱动更新引起的分辨率不匹配问题
  10. cygwin安装cron服务