#include "SimpleOpenGL2Renderer.h" #include "OpenGL2Include.h" #include "Bullet3Common/b3Vector3.h" SimpleOpenGL2Renderer::SimpleOpenGL2Renderer(int width, int height) :m_width(width), m_height(height) { } void SimpleOpenGL2Renderer::init() { } const CommonCameraInterface* SimpleOpenGL2Renderer::getActiveCamera() const { return &m_camera; } CommonCameraInterface* SimpleOpenGL2Renderer::getActiveCamera() { return &m_camera; } void SimpleOpenGL2Renderer::setActiveCamera(CommonCameraInterface* cam) { b3Assert(0);//not supported yet } void SimpleOpenGL2Renderer::updateCamera(int upAxis) { float projection[16]; float view[16]; m_camera.setAspectRatio((float)m_width/(float)m_height); m_camera.update(); m_camera.getCameraProjectionMatrix(projection); m_camera.getCameraViewMatrix(view); GLfloat projMat[16]; GLfloat viewMat[16]; for (int i=0;i<16;i++) { viewMat[i] = view[i]; projMat[i] = projection[i]; } glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMultMatrixf(projMat); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glMultMatrixf(viewMat); } void SimpleOpenGL2Renderer::removeAllInstances() { } void SimpleOpenGL2Renderer::writeSingleInstanceColorToCPU(float* color, int srcIndex) { } void SimpleOpenGL2Renderer::writeSingleInstanceColorToCPU(double* color, int srcIndex) { } void SimpleOpenGL2Renderer::writeSingleInstanceScaleToCPU(float* scale, int srcIndex) { } void SimpleOpenGL2Renderer::writeSingleInstanceScaleToCPU(double* scale, int srcIndex) { } int SimpleOpenGL2Renderer::getTotalNumInstances() const { return 0; } void SimpleOpenGL2Renderer::getCameraViewMatrix(float viewMat[16]) const { b3Assert(0); } void SimpleOpenGL2Renderer::getCameraProjectionMatrix(float projMat[16]) const { b3Assert(0); } void SimpleOpenGL2Renderer::renderScene() { } int SimpleOpenGL2Renderer::registerGraphicsInstance(int shapeIndex, const double* position, const double* quaternion, const double* color, const double* scaling) { return 0; } int SimpleOpenGL2Renderer::registerGraphicsInstance(int shapeIndex, const float* position, const float* quaternion, const float* color, const float* scaling) { return 0; } void SimpleOpenGL2Renderer::drawLines(const float* positions, const float color[4], int numPoints, int pointStrideInBytes, const unsigned int* indices, int numIndices, float pointDrawSize) { int pointStrideInFloats = pointStrideInBytes/4; glLineWidth(pointDrawSize); for (int i=0;i