ports/62016: New port: graphics/demeter A C++ library to render 3D terrains using OpenGL

Igor Pokrovsky tiamat at comset.net
Fri Jan 30 08:42:10 UTC 2004


diff -ru demeter-orig/Makefile demeter/Makefile
--- demeter-orig/Makefile	Fri Jan 30 10:51:59 2004
+++ demeter/Makefile	Fri Jan 30 11:30:13 2004
@@ -75,9 +75,9 @@
 .endif
 
 .if !defined(WITH_LIBXML2)
-PLIST_SUB=	WITH_LIBXML2="@comment "
+PLIST_SUB+=	WITH_LIBXML2="@comment "
 .else
-PLIST_SUB=	WITH_LIBXML2=""
+PLIST_SUB+=	WITH_LIBXML2=""
 .endif
 
 .if !defined(WITH_OSG)
diff -ru demeter-orig/files/patch-samples-SampleRawApplication-SampleRawMain.cpp demeter/files/patch-samples-SampleRawApplication-SampleRawMain.cpp
--- demeter-orig/files/patch-samples-SampleRawApplication-SampleRawMain.cpp	Fri Jan 30 10:51:59 2004
+++ demeter/files/patch-samples-SampleRawApplication-SampleRawMain.cpp	Fri Jan 30 11:17:58 2004
@@ -1,35 +1,22 @@
 --- samples/SampleRawApplication/SampleRawMain.cpp.orig	Sat Dec 20 17:28:54 2003
-+++ samples/SampleRawApplication/SampleRawMain.cpp	Mon Jan 26 09:16:09 2004
++++ samples/SampleRawApplication/SampleRawMain.cpp	Fri Jan 30 11:17:04 2004
 @@ -28,6 +28,10 @@
  #include <SDL.h>
  #include "Elevations.h"
  
 +#ifndef _WIN32
-+#include <dlfcn.h>
++#include <GL/glx.h>
 +#endif
 +
  using namespace Demeter;
  using namespace std;
  
-@@ -35,6 +39,8 @@
- #ifdef _WIN32
- typedef void (APIENTRY * PFNGLFOGCOORDPOINTERFARBPROC) (GLenum type,GLint stride,const GLvoid* pointer);
- #else
-+typedef void* (*GLXGETPROCADDRESSARBPROC) (const char *);
-+GLXGETPROCADDRESSARBPROC glXGetProcAddress;
- typedef void (*PFNGLFOGCOORDPOINTERFARBPROC) (GLenum type,GLint stride,const GLvoid* pointer);
- #endif
- PFNGLFOGCOORDPOINTERFARBPROC FogCoordPointerEXT = NULL;
-@@ -193,7 +199,11 @@
+@@ -193,7 +197,7 @@
  #ifdef _WIN32
  		FogCoordPointerEXT = (PFNGLFOGCOORDPOINTERFARBPROC) wglGetProcAddress("glFogCoordPointerEXT");
  #else
 -		FogCoordPointerEXT = glFogCoordPointerEXT;
-+		glXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(RTLD_NEXT, "glXGetProcAddress");
-+		if (!glXGetProcAddress)
-+		  cout << "No glXGetProcAddress!" << endl;
-+		else
-+		  FogCoordPointerEXT = (PFNGLFOGCOORDPOINTERFARBPROC) glXGetProcAddress("glFogCoordPointerEXT");
++		FogCoordPointerEXT = (PFNGLFOGCOORDPOINTERFARBPROC) glXGetProcAddress((GLubyte*)"glFogCoordPointerEXT");
  #endif
  		if (FogCoordPointerEXT != NULL)
  		{
diff -ru demeter-orig/files/patch-src-Terrain.cpp demeter/files/patch-src-Terrain.cpp
--- demeter-orig/files/patch-src-Terrain.cpp	Fri Jan 30 10:51:59 2004
+++ demeter/files/patch-src-Terrain.cpp	Fri Jan 30 11:14:23 2004
@@ -1,28 +1,18 @@
 --- src/Terrain.cpp.orig	Sat Dec 20 17:28:54 2003
-+++ src/Terrain.cpp	Mon Jan 26 09:09:31 2004
++++ src/Terrain.cpp	Fri Jan 30 11:13:50 2004
 @@ -26,6 +26,11 @@
  #include <iostream>
  #include <string>
  
 +#ifndef _WIN32
-+#include <dlfcn.h>
++#include <GL/glx.h>
 +#endif
 +
 +
  using namespace Demeter;
  using namespace std;
  
-@@ -40,6 +45,9 @@
- // Diagnostics
- vector < GLuint > AllocatedTextures;
- 
-+typedef void* (*GLXGETPROCADDRESSARBPROC) (const char *);
-+GLXGETPROCADDRESSARBPROC glXGetProcAddress;
-+
- PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB_ptr;
- PFNGLACTIVETEXTUREARBPROC glActiveTextureARB_ptr;
- PFNGLLOCKARRAYSEXTPROC glLockArraysEXT_ptr;
-@@ -108,11 +116,16 @@
+@@ -108,11 +113,11 @@
  	glUnlockArraysEXT_ptr = (PFNGLUNLOCKARRAYSEXTPROC) wglGetProcAddress("glUnlockArraysEXT");
  	glClientActiveTextureARB_ptr = (PFNGLCLIENTACTIVETEXTUREARBPROC) wglGetProcAddress("glClientActiveTextureARB");
  #else
@@ -31,16 +21,11 @@
 -	glLockArraysEXT_ptr = glLockArraysEXT;
 -	glUnlockArraysEXT_ptr = glUnlockArraysEXT;
 -	glClientActiveTextureARB_ptr = glClientActiveTextureARB;
-+	glXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(RTLD_NEXT, "glXGetProcAddress");
-+	if (!glXGetProcAddress) {
-+	  cout << "LoadGLExtensions: No glXGetProcAddress" << endl;
-+	  return;
-+	}
-+	glMultiTexCoord2fARB_ptr = (PFNGLMULTITEXCOORD2FARBPROC) glXGetProcAddress("glMultiTexCoord2fARB");
-+	glActiveTextureARB_ptr = (PFNGLACTIVETEXTUREARBPROC) glXGetProcAddress("glActiveTextureARB");
-+	glLockArraysEXT_ptr = (PFNGLLOCKARRAYSEXTPROC) glXGetProcAddress("glLockArraysEXT");
-+	glUnlockArraysEXT_ptr = (PFNGLUNLOCKARRAYSEXTPROC) glXGetProcAddress("glUnlockArraysEXT");
-+	glClientActiveTextureARB_ptr = (PFNGLCLIENTACTIVETEXTUREARBPROC) glXGetProcAddress("glClientActiveTextureARB");
++	glMultiTexCoord2fARB_ptr = (PFNGLMULTITEXCOORD2FARBPROC) glXGetProcAddress((GLubyte*)"glMultiTexCoord2fARB");
++	glActiveTextureARB_ptr = (PFNGLACTIVETEXTUREARBPROC) glXGetProcAddress((GLubyte*)"glActiveTextureARB");
++	glLockArraysEXT_ptr = (PFNGLLOCKARRAYSEXTPROC) glXGetProcAddress((GLubyte*)"glLockArraysEXT");
++	glUnlockArraysEXT_ptr = (PFNGLUNLOCKARRAYSEXTPROC) glXGetProcAddress((GLubyte*)"glUnlockArraysEXT");
++	glClientActiveTextureARB_ptr = (PFNGLCLIENTACTIVETEXTUREARBPROC) glXGetProcAddress((GLubyte*)"glClientActiveTextureARB");
  #endif
  }
  
diff -ru demeter-orig/pkg-descr demeter/pkg-descr
--- demeter-orig/pkg-descr	Fri Jan 30 11:19:07 2004
+++ demeter/pkg-descr	Wed Jan 28 06:59:56 2004
@@ -3,7 +3,7 @@
 of advanced techniques such as dynamic tessellation (adaptive mesh) to render
 vast landscapes in real-time, without the need for high-end hardware. It is
 written as a stand-alone component that can be easily integrated into any kind
-of application
+of application.
 
 WWW:	http://www.terrainengine.com/
 



More information about the freebsd-ports-bugs mailing list