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

本来用的是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貌似内容不全,或者我没完全找到吧

你可能感兴趣的:(C++,debug,OpenGL,box2D)