PhysX3.3.4 snippets—SnippetHelloWorld (1)

  从GitHub上下载PhysX3.3源代码,里面包含了snippet系列示例。相比于sample,snippet更加简单,它使用OpenGL和glut工具包作为渲染和窗口系统依赖项。此外,运行snippet不需要计算机有Nvidia显卡(sample代码使用cuda)。我们从SnippetHelloWorld开始,学习构建PhysX程序的主要步骤。

  HelloWorld示例在窗口中渲染了一些堆叠起来的立方体,可以通过按B键添加立方体。按空格键可以从视角方向发射一个球,打击立方体堆使它塌陷(有点像愤怒的小鸟...)。此外,我们还可以通过wasd和鼠标来操控相机方向,从而控制球的发射方向。


  除了HelloWorld,snippet示例解决方案中的项目都包含了SnippetCamera.h和SnippetRender.h头文件(以下简称Camera和Render)。Render中定义了5个渲染函数,封装了OpenGL和glut工具包的相关函数,实现了创建窗口、图形绘制、渲染启动序列等操作;Camera是一个类,封装了OpenGL视角的定位、键盘和鼠标对视角的控制等。这两个头文件中的全部成员都使用snippet命名空间。

  HelloWorld项目包含SnippetHelloWorld和SnippetHelloWorldRender两个.cpp文件,其中PyhsX的主要实现都放在前者里,后者定义了许多glut接口的回调函数,在主函数renderLoop中实现了渲染进程的主循环。renderLoop的代码如下:

void renderLoop()
{
	sCamera = new Snippets::Camera(PxVec3(50.0f, 50.0f, 50.0f), PxVec3(-0.6f,-0.2f,-0.7f));

	Snippets::setupDefaultWind
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值