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);
|
demo->mouseMotionFunc(x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (defined (WIN32) && defined (_MSC_VER))
|
||||||
|
#include "GL/freeglut_ext.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -237,8 +241,9 @@ int main(int argc, char** argv)
|
|||||||
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE |GLUT_DEPTH);
|
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE |GLUT_DEPTH);
|
||||||
glutInitWindowSize(width, height);
|
glutInitWindowSize(width, height);
|
||||||
mainWindow = glutCreateWindow("http://bulletphysics.com");
|
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;
|
entry = g_demoEntries + testIndex;
|
||||||
demo = CreatDemo(entry);
|
demo = CreatDemo(entry);
|
||||||
|
|
||||||
|
|||||||
@@ -649,6 +649,7 @@ void CcdPhysicsDemo::exitPhysics()
|
|||||||
for (int j=0;j<m_collisionShapes.size();j++)
|
for (int j=0;j<m_collisionShapes.size();j++)
|
||||||
{
|
{
|
||||||
btCollisionShape* shape = m_collisionShapes[j];
|
btCollisionShape* shape = m_collisionShapes[j];
|
||||||
|
m_collisionShapes[j] = 0;
|
||||||
delete shape;
|
delete shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,5 +29,8 @@ int main(int argc,char** argv)
|
|||||||
ccdDemo->getDynamicsWorld()->setDebugDrawer(&gDebugDrawer);
|
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 DemoApplication::keyboardCallback(unsigned char key, int x, int y)
|
||||||
{
|
{
|
||||||
(void)x;
|
(void)x;
|
||||||
@@ -257,7 +255,14 @@ void DemoApplication::keyboardCallback(unsigned char key, int x, int y)
|
|||||||
|
|
||||||
switch (key)
|
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 'l' : stepLeft(); break;
|
||||||
case 'r' : stepRight(); break;
|
case 'r' : stepRight(); break;
|
||||||
|
|||||||
@@ -17,18 +17,7 @@ subject to the following restrictions:
|
|||||||
#define DEMO_APPLICATION_H
|
#define DEMO_APPLICATION_H
|
||||||
|
|
||||||
|
|
||||||
#ifdef WIN32//for glut.h
|
#include "GlutStuff.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 <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.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) {
|
int glutmain(int argc, char **argv,int width,int height,const char* title,DemoApplication* demoApp) {
|
||||||
|
|
||||||
gDemoApplication = demoApp;
|
gDemoApplication = demoApp;
|
||||||
@@ -76,6 +75,9 @@ int glutmain(int argc, char **argv,int width,int height,const char* title,DemoAp
|
|||||||
glutInitWindowPosition(0, 0);
|
glutInitWindowPosition(0, 0);
|
||||||
glutInitWindowSize(width, height);
|
glutInitWindowSize(width, height);
|
||||||
glutCreateWindow(title);
|
glutCreateWindow(title);
|
||||||
|
#if (defined (WIN32) && defined (_MSC_VER))
|
||||||
|
glutSetOption (GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS);
|
||||||
|
#endif
|
||||||
|
|
||||||
gDemoApplication->myinit();
|
gDemoApplication->myinit();
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,24 @@ subject to the following restrictions:
|
|||||||
#ifndef GLUT_STUFF_H
|
#ifndef GLUT_STUFF_H
|
||||||
#define 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;
|
class DemoApplication;
|
||||||
|
|
||||||
int glutmain(int argc, char **argv,int width,int height,const char* title,DemoApplication* demoApp);
|
int glutmain(int argc, char **argv,int width,int height,const char* title,DemoApplication* demoApp);
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void free(void* ptr)
|
void freeMemory(void* ptr)
|
||||||
{
|
{
|
||||||
if (ptr) {
|
if (ptr) {
|
||||||
btAssert((unsigned char*)ptr >= m_pool && (unsigned char*)ptr < m_pool + m_maxElements * m_elemSize);
|
btAssert((unsigned char*)ptr >= m_pool && (unsigned char*)ptr < m_pool + m_maxElements * m_elemSize);
|
||||||
|
|||||||
Reference in New Issue
Block a user