Commit 8481637a authored by hybrid's avatar hybrid

Fix OpenGL compilation without extension pointers.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2476 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 3d46ce96
...@@ -24,17 +24,16 @@ COctTreeTriangleSelector::COctTreeTriangleSelector(const IMesh* mesh, ...@@ -24,17 +24,16 @@ COctTreeTriangleSelector::COctTreeTriangleSelector(const IMesh* mesh,
if (!Triangles.empty()) if (!Triangles.empty())
{ {
u32 start = os::Timer::getRealTime(); const u32 start = os::Timer::getRealTime();
// create the triangle octtree // create the triangle octtree
Root = new SOctTreeNode(); Root = new SOctTreeNode();
Root->Triangles = Triangles; Root->Triangles = Triangles;
constructOctTree(Root); constructOctTree(Root);
u32 end = os::Timer::getRealTime(); c8 tmp[256];
c8 tmp[255]; sprintf(tmp, "Needed %ums to create OctTreeTriangleSelector.(%d nodes, %u polys)",
sprintf(tmp, "Needed %ums to create OctTreeTriangleSelector.(%d nodes, %u polys)", os::Timer::getRealTime() - start, NodeCount, Triangles.size());
end - start, NodeCount, Triangles.size());
os::Printer::log(tmp, ELL_INFORMATION); os::Printer::log(tmp, ELL_INFORMATION);
} }
} }
...@@ -91,7 +90,7 @@ void COctTreeTriangleSelector::constructOctTree(SOctTreeNode* node) ...@@ -91,7 +90,7 @@ void COctTreeTriangleSelector::constructOctTree(SOctTreeNode* node)
keepTriangles.push_back(node->Triangles[i]); keepTriangles.push_back(node->Triangles[i]);
} }
} }
memcpy(node->Triangles.pointer(), keepTriangles.pointer(), memcpy(node->Triangles.pointer(), keepTriangles.pointer(),
sizeof(core::triangle3df)*keepTriangles.size()); sizeof(core::triangle3df)*keepTriangles.size());
node->Triangles.set_used(keepTriangles.size()); node->Triangles.set_used(keepTriangles.size());
...@@ -109,8 +108,8 @@ void COctTreeTriangleSelector::constructOctTree(SOctTreeNode* node) ...@@ -109,8 +108,8 @@ void COctTreeTriangleSelector::constructOctTree(SOctTreeNode* node)
//! Gets all triangles which lie within a specific bounding box. //! Gets all triangles which lie within a specific bounding box.
void COctTreeTriangleSelector::getTriangles(core::triangle3df* triangles, void COctTreeTriangleSelector::getTriangles(core::triangle3df* triangles,
s32 arraySize, s32& outTriangleCount, s32 arraySize, s32& outTriangleCount,
const core::aabbox3d<f32>& box, const core::aabbox3d<f32>& box,
const core::matrix4* transform) const const core::matrix4* transform) const
{ {
...@@ -178,7 +177,7 @@ void COctTreeTriangleSelector::getTrianglesFromOctTree( ...@@ -178,7 +177,7 @@ void COctTreeTriangleSelector::getTrianglesFromOctTree(
//! Gets all triangles which have or may have contact with a 3d line. //! Gets all triangles which have or may have contact with a 3d line.
// new version: from user Piraaate // new version: from user Piraaate
void COctTreeTriangleSelector::getTriangles(core::triangle3df* triangles, s32 arraySize, void COctTreeTriangleSelector::getTriangles(core::triangle3df* triangles, s32 arraySize,
s32& outTriangleCount, const core::line3d<f32>& line, s32& outTriangleCount, const core::line3d<f32>& line,
const core::matrix4* transform) const const core::matrix4* transform) const
{ {
#if 0 #if 0
...@@ -215,13 +214,13 @@ void COctTreeTriangleSelector::getTriangles(core::triangle3df* triangles, s32 ar ...@@ -215,13 +214,13 @@ void COctTreeTriangleSelector::getTriangles(core::triangle3df* triangles, s32 ar
if (Root) if (Root)
getTrianglesFromOctTree(Root, trianglesWritten, arraySize, invline, &mat, triangles); getTrianglesFromOctTree(Root, trianglesWritten, arraySize, invline, &mat, triangles);
outTriangleCount = trianglesWritten; outTriangleCount = trianglesWritten;
#endif #endif
} }
void COctTreeTriangleSelector::getTrianglesFromOctTree(SOctTreeNode* node, s32& trianglesWritten, s32 maximumSize, void COctTreeTriangleSelector::getTrianglesFromOctTree(SOctTreeNode* node,
const core::line3d<f32>& line, const core::matrix4* transform, s32& trianglesWritten, s32 maximumSize, const core::line3d<f32>& line,
core::triangle3df* triangles)const const core::matrix4* transform, core::triangle3df* triangles) const
{ {
if (!node->Box.intersectsWithLine(line)) if (!node->Box.intersectsWithLine(line))
return; return;
...@@ -256,7 +255,6 @@ void COctTreeTriangleSelector::getTrianglesFromOctTree(SOctTreeNode* node, s32& ...@@ -256,7 +255,6 @@ void COctTreeTriangleSelector::getTrianglesFromOctTree(SOctTreeNode* node, s32&
if (node->Child[i]) if (node->Child[i])
getTrianglesFromOctTree(node->Child[i], trianglesWritten, getTrianglesFromOctTree(node->Child[i], trianglesWritten,
maximumSize, line, transform, triangles); maximumSize, line, transform, triangles);
} }
......
...@@ -892,7 +892,12 @@ inline void COpenGLExtensionHandler::extGlActiveTexture(GLenum texture) ...@@ -892,7 +892,12 @@ inline void COpenGLExtensionHandler::extGlActiveTexture(GLenum texture)
if (MultiTextureExtension && pGlActiveTextureARB) if (MultiTextureExtension && pGlActiveTextureARB)
pGlActiveTextureARB(texture); pGlActiveTextureARB(texture);
#else #else
if (MultiTextureExtension) glActiveTextureARB(texture); if (MultiTextureExtension)
#ifdef GL_ARB_multitexture
glActiveTextureARB(texture);
#else
glActiveTexture(texture);
#endif
#endif #endif
} }
...@@ -902,7 +907,8 @@ inline void COpenGLExtensionHandler::extGlClientActiveTexture(GLenum texture) ...@@ -902,7 +907,8 @@ inline void COpenGLExtensionHandler::extGlClientActiveTexture(GLenum texture)
if (MultiTextureExtension && pGlClientActiveTextureARB) if (MultiTextureExtension && pGlClientActiveTextureARB)
pGlClientActiveTextureARB(texture); pGlClientActiveTextureARB(texture);
#else #else
if (MultiTextureExtension) glClientActiveTextureARB(texture); if (MultiTextureExtension)
glClientActiveTextureARB(texture);
#endif #endif
} }
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
#else #else
#if defined(_IRR_OPENGL_USE_EXTPOINTER_) #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
#define GL_GLEXT_LEGACY 1 #define GL_GLEXT_LEGACY 1
#else
#define GL_GLEXT_PROTOTYPES 1
#endif #endif
#if defined(_IRR_OSX_PLATFORM_) #if defined(_IRR_OSX_PLATFORM_)
#include <OpenGL/gl.h> #include <OpenGL/gl.h>
......
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
#if defined(_IRR_OPENGL_USE_EXTPOINTER_) #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
#define GL_GLEXT_LEGACY 1 #define GL_GLEXT_LEGACY 1
#else
#define GL_GLEXT_PROTOTYPES 1
#endif #endif
#ifdef _IRR_WINDOWS_API_ #ifdef _IRR_WINDOWS_API_
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#if defined(_IRR_OPENGL_USE_EXTPOINTER_) #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
#define GL_GLEXT_LEGACY 1 #define GL_GLEXT_LEGACY 1
#else
#define GL_GLEXT_PROTOTYPES 1
#endif #endif
#ifdef _IRR_WINDOWS_API_ #ifdef _IRR_WINDOWS_API_
// include windows headers for HWND // include windows headers for HWND
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment