您的位置:首页 > 编程语言 > C语言/C++

C++用opengl直接调用box2D 的debug绘图

2015-07-14 12:02 232 查看
本来用的是opengl

但是debug绘图需要freeGlut

辛苦找了半天放上了 发现和本身的重名了,怎么办的呢

后来发现自带的Render中有这么一段

#include "Render.h"

#ifdef __APPLE__
#include <glut.h>
#else
#include "freeglut.h"
#endif

#include <stdio.h>
#include <stdarg.h>


原来可以直接用普通gl啊 只不过这里设置成苹果的了

后面调用render只需要

world.SetDebugDraw(&m_debugDraw);

然后放上下面的就行了

flags += settings->drawShapes			* b2Draw::e_shapeBit;
flags += settings->drawJoints			* b2Draw::e_jointBit;
flags += settings->drawAABBs			* b2Draw::e_aabbBit;
flags += settings->drawCOMs				* b2Draw::e_centerOfMassBit;
m_debugDraw.SetFlags(flags);


m_debugDraw.DrawString(50, 50, "ok!");

记得加上

world.DrawDebugData();

另外
settings->drawShapes
之类的只是gui的名称去掉就成了

完全不需要freeglut另外吐槽下2.3自带的freeglut貌似内容不全,或者我没完全找到吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: