use freeglut by default under Windows
This commit is contained in:
@@ -225,6 +225,10 @@ void MouseMotion(int x, int y)
|
||||
demo->mouseMotionFunc(x,y);
|
||||
}
|
||||
|
||||
#if (defined (WIN32) && defined (_MSC_VER))
|
||||
#include "GL/freeglut_ext.h"
|
||||
#endif
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
|
||||
@@ -237,8 +241,9 @@ int main(int argc, char** argv)
|
||||
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE |GLUT_DEPTH);
|
||||
glutInitWindowSize(width, height);
|
||||
mainWindow = glutCreateWindow("http://bulletphysics.com");
|
||||
//glutSetOption (GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS);
|
||||
|
||||
#if (defined (WIN32) && defined (_MSC_VER))
|
||||
glutSetOption (GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS);
|
||||
#endif
|
||||
entry = g_demoEntries + testIndex;
|
||||
demo = CreatDemo(entry);
|
||||
|
||||
|
||||
@@ -649,6 +649,7 @@ void CcdPhysicsDemo::exitPhysics()
|
||||
for (int j=0;j<m_collisionShapes.size();j++)
|
||||
{
|
||||
btCollisionShape* shape = m_collisionShapes[j];
|
||||
m_collisionShapes[j] = 0;
|
||||
delete shape;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,5 +29,8 @@ int main(int argc,char** argv)
|
||||
ccdDemo->getDynamicsWorld()->setDebugDrawer(&gDebugDrawer);
|
||||
|
||||
|
||||
return glutmain(argc, argv,640,480,"Bullet Physics Demo. http://bullet.sf.net",ccdDemo);
|
||||
glutmain(argc, argv,640,480,"Bullet Physics Demo. http://bullet.sf.net",ccdDemo);
|
||||
|
||||
delete ccdDemo;
|
||||
|
||||
}
|
||||
|
||||
@@ -235,8 +235,6 @@ void DemoApplication::reshape(int w, int h)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void DemoApplication::keyboardCallback(unsigned char key, int x, int y)
|
||||
{
|
||||
(void)x;
|
||||
@@ -257,7 +255,14 @@ void DemoApplication::keyboardCallback(unsigned char key, int x, int y)
|
||||
|
||||
switch (key)
|
||||
{
|
||||
case 'q' : exit(0); break;
|
||||
case 'q' :
|
||||
#if (defined (WIN32) && defined (_MSC_VER))
|
||||
//return from glutMainLoop(), detect memory leaks etc.
|
||||
glutLeaveMainLoop();
|
||||
#else
|
||||
exit();
|
||||
#endif
|
||||
break;
|
||||
|
||||
case 'l' : stepLeft(); break;
|
||||
case 'r' : stepRight(); break;
|
||||
|
||||
@@ -17,18 +17,7 @@ subject to the following restrictions:
|
||||
#define DEMO_APPLICATION_H
|
||||
|
||||
|
||||
#ifdef WIN32//for glut.h
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
//think different
|
||||
#if defined(__APPLE__) && !defined (VMDMESA)
|
||||
#include <OpenGL/gl.h>
|
||||
#include <OpenGL/glu.h>
|
||||
#include <GLUT/glut.h>
|
||||
#else
|
||||
#include <GL/glut.h>
|
||||
#endif
|
||||
#include "GlutStuff.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -66,7 +66,6 @@ static void glutDisplayCallback(void)
|
||||
}
|
||||
|
||||
|
||||
|
||||
int glutmain(int argc, char **argv,int width,int height,const char* title,DemoApplication* demoApp) {
|
||||
|
||||
gDemoApplication = demoApp;
|
||||
@@ -76,6 +75,9 @@ int glutmain(int argc, char **argv,int width,int height,const char* title,DemoAp
|
||||
glutInitWindowPosition(0, 0);
|
||||
glutInitWindowSize(width, height);
|
||||
glutCreateWindow(title);
|
||||
#if (defined (WIN32) && defined (_MSC_VER))
|
||||
glutSetOption (GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS);
|
||||
#endif
|
||||
|
||||
gDemoApplication->myinit();
|
||||
|
||||
|
||||
@@ -15,6 +15,24 @@ subject to the following restrictions:
|
||||
#ifndef GLUT_STUFF_H
|
||||
#define GLUT_STUFF_H
|
||||
|
||||
#ifdef WIN32//for glut.h
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
//think different
|
||||
#if defined(__APPLE__) && !defined (VMDMESA)
|
||||
#include <OpenGL/gl.h>
|
||||
#include <OpenGL/glu.h>
|
||||
#include <GLUT/glut.h>
|
||||
#else
|
||||
#include <GL/glut.h>
|
||||
#endif
|
||||
|
||||
#if (defined (WIN32) && defined (_MSC_VER))
|
||||
#include "GL/freeglut_ext.h" //to be able to return from glutMainLoop()
|
||||
#endif
|
||||
|
||||
|
||||
class DemoApplication;
|
||||
|
||||
int glutmain(int argc, char **argv,int width,int height,const char* title,DemoApplication* demoApp);
|
||||
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
void free(void* ptr)
|
||||
void freeMemory(void* ptr)
|
||||
{
|
||||
if (ptr) {
|
||||
btAssert((unsigned char*)ptr >= m_pool && (unsigned char*)ptr < m_pool + m_maxElements * m_elemSize);
|
||||
|
||||
Reference in New Issue
Block a user