作者:白堤柳帘佳_688 | 来源:互联网 | 2023-08-16 21:04
1HelloWorld官方代码($sdk)\examples\01.HelloWorld看起来200多行代码,挺吓人。仔细看清楚点,实际上没那么多,真正的代码不足50行,其他都是注释。我的英文够烂了
1 HelloWorld
官方代码($sdk)\examples\01.HelloWorld
设置场景节点材质所使用的贴图。用getTexture(文件名)获取贴图。如果没纹理的话,网格模型上将会填充一种颜色。
29:}
30:smgr->addCameraSceneNode(0,vector3df(0,30,-40), vector3df(0,5,0));添加照相机场景节点。照相机3D空间位置(0,30,-40),观察目标点(0,5,0)。
31:while(device->run())如果irr设备运行就执行循环。这跟Windows消息循环一样,run()里执行了irr的消息处理的功能。循环里放置绘图功能,每循环一次绘制一帧图像。因程序里没有添加任何退出程序的功能,程序将一直在该循环里持续运行,直到点击窗口上的关闭按钮,或按下ATL+F4,这是irr设备将收到退出程序的消息,并停止执行,run()这时返回false,循环停止。
32:{
33: driver->beginScene(true,true,Scolor(255,100,101,140));开始绘制屏幕,并与指定的颜色清空颜色缓冲区,同时清空深度缓冲区。irr使用的是双缓冲区,一个缓冲区用于绘图,另一个缓冲区用于显示。因此需先使用beginScene通知绘图,绘制玩后再用endScene通知交换缓冲区。如果绘图前不清空缓冲区,将会在上一次绘制的内容上进行绘图。
34: smgr->drawAll();绘制场景管理器里的所有场景节点
35: guienv->drawAll();绘制GUI
36: driver->endScene();结束绘制屏幕,并显示绘制的内容。
37:}
38:device->drop();销毁irr设备
39:return0;退出程序
40:}
irr官方sdk里编译好的运行库并没有对宽字符文字显示做扩展,因此暂不支持中文显示。需要自己修改源码后获得支持。