Native Java3D
Greg Lewis
glewis at eyesbeyond.com
Mon Aug 30 11:45:51 PDT 2004
Hi all,
As the Java3D source code is now available <https://java3d.dev.java.net/>
we can produce a native version of it. To this end, I worked up some
fairly simple patches a while ago to do this. I tested them last night and
the examples appear to work (or at least the ones I tried did).
If anyone is interested, please grab the source code and apply the attached
patch to the j3d-core sub-project. Then just follow the build and use
instructions as normal.
It would be useful for someone else to try this out, particularly if you
have a big Java3D application you can try it with. I aim to contribute
the patch to the project so we'll get a native Java3D 1.3.2. I'd prefer
to get a few "works for me" first :).
--
Greg Lewis Email : glewis at eyesbeyond.com
Eyes Beyond Web : http://www.eyesbeyond.com
Information Technology FreeBSD : glewis at FreeBSD.org
-------------- next part --------------
? build
? java3d.diff
? src/classes/freebsd
? src/native/ogl/build-freebsd-i586.xml
? src/native/share/build-freebsd-i586.xml
Index: build.xml
===================================================================
RCS file: /cvs/j3d-core/build.xml,v
retrieving revision 1.1
diff -u -r1.1 build.xml
--- build.xml 9 Jun 2004 04:21:10 -0000 1.1
+++ build.xml 30 Aug 2004 06:24:55 -0000
@@ -56,13 +56,18 @@
<property name="platform" value="linux-i586"/>
</target>
+ <target name="setupFreeBSD" depends="init" if="isFreeBSDOnX86">
+ <property name="ostype" value="freebsd"/>
+ <property name="platform" value="freebsd-i586"/>
+ </target>
+
<!-- win32 should be rename as windows -->
<target name="setupWindows" depends="init" if="isWindowsOnX86">
<property name="ostype" value="win32"/>
<property name="platform" value="windows-i586-${build.comp}"/>
</target>
- <target name="setupPlatform" depends="setupSolaris, setupLinux, setupWindows">
+ <target name="setupPlatform" depends="setupSolaris, setupLinux, setupFreeBSD, setupWindows">
</target>
@@ -85,6 +90,10 @@
<condition property="isLinuxOnX86">
<os name="linux" arch="i386"/>
+ </condition>
+
+ <condition property="isFreeBSDOnX86">
+ <os name="FreeBSD" arch="i386"/>
</condition>
<condition property="isSolarisOnSparc">
Index: src/classes/share/javax/media/j3d/MasterControl.java
===================================================================
RCS file: /cvs/j3d-core/src/classes/share/javax/media/j3d/MasterControl.java,v
retrieving revision 1.4
diff -u -r1.4 MasterControl.java
--- src/classes/share/javax/media/j3d/MasterControl.java 12 Aug 2004 16:55:17 -0000 1.4
+++ src/classes/share/javax/media/j3d/MasterControl.java 30 Aug 2004 06:24:56 -0000
@@ -48,6 +48,7 @@
static final int RENDER_OPENGL_WIN32 = 1;
static final int RENDER_DIRECT3D = 2;
static final int RENDER_OPENGL_LINUX = 3;
+ static final int RENDER_OPENGL_FREEBSD = 4;
// Constants used in renderer thread argument
static final Integer REQUESTRENDER = new Integer(Renderer.REQUESTRENDER);
Index: src/native/build.xml
===================================================================
RCS file: /cvs/j3d-core/src/native/build.xml,v
retrieving revision 1.1
diff -u -r1.1 build.xml
--- src/native/build.xml 9 Jun 2004 04:24:57 -0000 1.1
+++ src/native/build.xml 30 Aug 2004 06:24:57 -0000
@@ -29,6 +29,12 @@
<property name="coreUtilsLibDependency" value="lib/i386/libj3dutils.so"/>
</target>
+ <target name="nativeSetup-debug-freebsd" if="isFreeBSDOnX86">
+ <property name="bldFlag" value="g"/>
+ <property name="coreLibDependency" value="lib/i386/libj3dcore-ogl.so"/>
+ <property name="coreUtilsLibDependency" value="lib/i386/libj3dutils.so"/>
+ </target>
+
<target name="nativeSetup-debug-win32" if="isWindowsOnX86">
<property name="bldFlag"
value="-DWIN32 -DDEBUG -D_WINDOWS"/>
@@ -37,7 +43,7 @@
</target>
- <target name="nativeSetup-debug" depends="nativeSetup-debug-solaris, nativeSetup-debug-linux, nativeSetup-debug-win32">
+ <target name="nativeSetup-debug" depends="nativeSetup-debug-solaris, nativeSetup-debug-linux, nativeSetup-debug-freebsd, nativeSetup-debug-win32">
<property name="bldType" value="debug"/>
<property name="javahCoreSrc"
location="${src}/classes/share/javax/media/j3d"/>
@@ -61,6 +67,12 @@
<property name="coreUtilsLibDependency" value="lib/i386/libj3dutils.so"/>
</target>
+ <target name="nativeSetup-opt-freebsd" if="isFreeBSDOnX86">
+ <property name="bldFlag" value="O"/>
+ <property name="coreLibDependency" value="lib/i386/libj3dcore-ogl.so"/>
+ <property name="coreUtilsLibDependency" value="lib/i386/libj3dutils.so"/>
+ </target>
+
<target name="nativeSetup-opt-win32" if="isWindowsOnX86">
<property name="bldFlag"
value="-DWIN32 -DNDEBUG -D_WINDOWS"/>
@@ -68,7 +80,7 @@
<property name="coreUtilsLibDependency" value="bin/j3dutils.dll"/>
</target>
- <target name="nativeSetup-opt" depends="nativeSetup-opt-solaris, nativeSetup-opt-linux, nativeSetup-opt-win32">
+ <target name="nativeSetup-opt" depends="nativeSetup-opt-solaris, nativeSetup-opt-linux, nativeSetup-opt-freebsd, nativeSetup-opt-win32">
<property name="bldType" value="opt"/>
<property name="javahCoreSrc"
location="${src}/classes/share/javax/media/j3d"/>
Index: src/native/ogl/Canvas3D.c
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/Canvas3D.c,v
retrieving revision 1.3
diff -u -r1.3 Canvas3D.c
--- src/native/ogl/Canvas3D.c 26 Jul 2004 23:12:55 -0000 1.3
+++ src/native/ogl/Canvas3D.c 30 Aug 2004 06:24:58 -0000
@@ -174,7 +174,7 @@
if(isExtensionSupported(tmpExtensionStr,"GL_NV_register_combiners" )) {
ctxInfo->textureRegisterCombinersAvailable = JNI_TRUE;
ctxInfo->textureExtMask |= javax_media_j3d_Canvas3D_TEXTURE_REGISTER_COMBINERS;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glCombinerInputNV =
(MYPFNGLCOMBINERINPUTNV) glCombinerInputNV;
ctxInfo->glFinalCombinerInputNV =
@@ -285,7 +285,7 @@
ctxInfo->linear_sharpen_rgb_enum = GL_LINEAR_SHARPEN_COLOR_SGIS;
ctxInfo->linear_sharpen_alpha_enum = GL_LINEAR_SHARPEN_ALPHA_SGIS;
ctxInfo->textureExtMask |= javax_media_j3d_Canvas3D_TEXTURE_SHARPEN;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glSharpenTexFuncSGIS =
(MYPFNGLSHARPENTEXFUNCSGI) glSharpenTexFuncSGIS;
#endif
@@ -309,7 +309,7 @@
ctxInfo->texture_detail_mode_enum = GL_DETAIL_TEXTURE_MODE_SGIS;
ctxInfo->texture_detail_level_enum = GL_DETAIL_TEXTURE_LEVEL_SGIS;
ctxInfo->textureExtMask |= javax_media_j3d_Canvas3D_TEXTURE_DETAIL;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glDetailTexFuncSGIS =
(MYPFNGLDETAILTEXFUNCSGI) glDetailTexFuncSGIS;
#endif
@@ -328,7 +328,7 @@
ctxInfo->textureFilter4Available = JNI_TRUE;
ctxInfo->filter4_enum = GL_FILTER4_SGIS;
ctxInfo->textureExtMask |= javax_media_j3d_Canvas3D_TEXTURE_FILTER4;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glTexFilterFuncSGIS =
(MYPFNGLTEXFILTERFUNCSGI) glTexFilterFuncSGIS;
#endif
@@ -481,7 +481,7 @@
ctxInfo->bgr_ext_enum = GL_BGR;
ctxInfo->texture3DAvailable = JNI_TRUE;
ctxInfo->textureExtMask |= javax_media_j3d_Canvas3D_TEXTURE_3D;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glTexImage3DEXT = (MYPFNGLTEXIMAGE3DPROC )glTexImage3D;
ctxInfo->glTexSubImage3DEXT = (MYPFNGLTEXSUBIMAGE3DPROC )glTexSubImage3D;
#endif
@@ -500,7 +500,7 @@
if(isExtensionSupported(tmpExtensionStr, "GL_ARB_imaging")){
ctxInfo->blend_color_ext = JNI_TRUE;
ctxInfo->blendFunctionTable[7] = GL_CONSTANT_COLOR;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glBlendColor = (MYPFNGLBLENDCOLORPROC )glBlendColor;
#endif
#ifdef WIN32
@@ -540,7 +540,7 @@
ctxInfo->textureExtMask |= javax_media_j3d_Canvas3D_TEXTURE_3D;
ctxInfo->texture_3D_ext_enum = GL_TEXTURE_3D_EXT;
ctxInfo->texture_wrap_r_ext_enum = GL_TEXTURE_WRAP_R_EXT;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glTexImage3DEXT = (MYPFNGLTEXIMAGE3DPROC )glTexImage3DEXT;
ctxInfo->glTexSubImage3DEXT = (MYPFNGLTEXSUBIMAGE3DPROC )glTexSubImage3DEXT;
/* Fallback to non-EXT variants, needed for older
@@ -587,7 +587,7 @@
if(isExtensionSupported(tmpExtensionStr, "GL_EXT_blend_color")){
ctxInfo->blend_color_ext = JNI_TRUE;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxInfo->glBlendColor = (MYPFNGLBLENDCOLOREXTPROC )glBlendColorEXT;
#endif
#ifdef WIN32
@@ -661,7 +661,7 @@
ctxInfo->geometry_compression_sunx = JNI_TRUE ;
}
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
/*
* setup ARB_multisample, under windows this is setup in
* NativeConfigTemplate when pixel format is choose
@@ -888,7 +888,7 @@
stencilSize = pfd.cStencilBits;
#endif
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
if(ctxInfo->multi_draw_arrays_ext) {
ctxInfo->glMultiDrawArraysEXT = glMultiDrawArraysEXT;
ctxInfo->glMultiDrawElementsEXT = glMultiDrawElementsEXT;
@@ -1041,7 +1041,7 @@
wglDeleteContext((HGLRC)context);
#endif /* WIN32 */
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
/*
glXMakeCurrent((Display *)display, (GLXDrawable)window, NULL);
*/
@@ -1094,7 +1094,7 @@
GraphicsContextPropertiesInfo *sharedCtxStructure;
int PixelFormatID=0;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
GLXContext ctx;
jlong hdc;
@@ -1296,7 +1296,7 @@
{
GraphicsContextPropertiesInfo *ctxProperties = (GraphicsContextPropertiesInfo *)ctxInfo;
jlong ctx = ctxProperties->context;
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
glXMakeCurrent((Display *)display, (GLXDrawable)window, (GLXContext)ctx);
#endif
@@ -2327,7 +2327,7 @@
jint win)
{
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
glXSwapBuffers((Display *)display, (Window)win);
#endif
@@ -2503,7 +2503,7 @@
ctxProperties->glGetColorTableParameteriv =
(MYPFNGLGETCOLORTABLEPARAMETERIVPROC)wglGetProcAddress("glGetColorTableParameteriv");
#endif
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxProperties->glColorTable = glColorTable;
ctxProperties->glGetColorTableParameteriv = glGetColorTableParameteriv;
#endif
@@ -2514,7 +2514,7 @@
ctxProperties->glGetColorTableParameteriv =
(MYPFNGLGETCOLORTABLEPARAMETERIVPROC)wglGetProcAddress("glGetColorTableParameterivSGI");
#endif
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
ctxProperties->glColorTable = glColorTableSGI;
ctxProperties->glGetColorTableParameteriv = glGetColorTableParameterivSGI;
#endif
@@ -2540,7 +2540,7 @@
#ifndef GLX_VERSION_1_3
#ifdef GLX_SGIX_pbuffer
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
typedef XID GLXPbuffer;
typedef struct __GLXFBConfigRec *GLXFBConfig;
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
@@ -2575,7 +2575,7 @@
#endif /* __linux__ */
#endif /* GLX_VERSION_1_3 */
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#pragma weak glXChooseFBConfig
#pragma weak glXCreatePbuffer
#pragma weak glXDestroyPbuffer
@@ -2597,7 +2597,7 @@
jfloat dvrFactor)
{
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
/* Not need to do ext. supported checking. This check is done in java. */
/* fprintf(stderr, "Canvas3D.c -- glXVideoResize -- %d %f\n", win, dvrFactor); */
@@ -2614,7 +2614,7 @@
jboolean enable)
{
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
GraphicsContextPropertiesInfo *ctxProperties =
(GraphicsContextPropertiesInfo *)ctxInfo;
@@ -2644,7 +2644,7 @@
jint height)
{
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
XVisualInfo *vinfo, template;
int nitems, depth, redSize;
Display *dpy;
@@ -2848,7 +2848,7 @@
jlong display,
jint window)
{
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
Display *dpy = (Display*)display;
GLboolean pbufferSupported = GL_FALSE;
@@ -3158,7 +3158,7 @@
int PixelFormatID=0;
GraphicsContextPropertiesInfo* ctxInfo = (GraphicsContextPropertiesInfo *)malloc(sizeof(GraphicsContextPropertiesInfo));
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
XVisualInfo *vinfo, template;
int nitems;
GLXContext ctx;
@@ -3326,7 +3326,7 @@
/* clear up the context , colormap and window if appropriate */
if(window == 0 && !offScreen){
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
Java_javax_media_j3d_Canvas3D_destroyContext(env, obj, display, newWin, (jlong)ctxInfo);
XDestroyWindow((Display *)display, glWin);
XFreeColormap((Display *)display, cmap);
@@ -3408,7 +3408,7 @@
return (devMode.dmBitsPerPel > 8);
#endif
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
return TRUE;
#endif
}
Index: src/native/ogl/DrawingSurfaceObjectAWT.c
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/DrawingSurfaceObjectAWT.c,v
retrieving revision 1.1
diff -u -r1.1 DrawingSurfaceObjectAWT.c
--- src/native/ogl/DrawingSurfaceObjectAWT.c 9 Jun 2004 04:25:21 -0000 1.1
+++ src/native/ogl/DrawingSurfaceObjectAWT.c 30 Aug 2004 06:24:58 -0000
@@ -28,7 +28,7 @@
#endif /* DEBUG */
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#pragma weak JAWT_GetAWT
#endif
@@ -145,7 +145,7 @@
}
#endif /* SOLARIS */
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
JAWT_X11DrawingSurfaceInfo *xds =
(JAWT_X11DrawingSurfaceInfo*) dsi->platformInfo;
window = (jint)xds->drawable;
Index: src/native/ogl/MasterControl.c
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/MasterControl.c,v
retrieving revision 1.1
diff -u -r1.1 MasterControl.c
--- src/native/ogl/MasterControl.c 9 Jun 2004 04:25:23 -0000 1.1
+++ src/native/ogl/MasterControl.c 30 Aug 2004 06:24:58 -0000
@@ -32,13 +32,16 @@
#include <winbase.h>
#endif /* WIN32 */
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#include <unistd.h>
#ifdef SOLARIS
#include <thread.h>
#else
#include <pthread.h>
#endif
+#ifdef __FreeBSD__
+#include <sys/sysctl.h>
+#endif
#include <dlfcn.h>
#include <X11/X.h>
#include <X11/Xlib.h>
@@ -81,7 +84,7 @@
return glIsMTSafe;
#endif /* WIN32 */
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
glIsMTSafe = JNI_TRUE;
return glIsMTSafe;
#endif /* __linux__ */
@@ -183,6 +186,16 @@
return sysconf(_SC_NPROCESSORS_ONLN);
#endif /* SOLARIS || __linux__ */
+#ifdef __FreeBSD__
+ int cpus = 1;
+ size_t len = sizeof(cpus);
+ int mib[2];
+ mib[0] = CTL_HW;
+ mib[1] = HW_NCPU;
+ sysctl(mib, 2, &cpus, &len, NULL, 0);
+ return cpus;
+#endif
+
#ifdef WIN32
SYSTEM_INFO sysInfo;
@@ -237,6 +250,10 @@
#ifdef __linux__
/* No-op on linux */
#endif /* __linux__ */
+
+#ifdef __FreeBSD__
+ /* No-op on FreeBSD */
+#endif /* __FreeBSD__ */
}
@@ -258,4 +275,8 @@
#ifdef __linux__
return 8;
#endif /* __linux__ */
+
+#ifdef __FreeBSD__
+ return 8;
+#endif /* __FreeBSD__ */
}
Index: src/native/ogl/NativeAPIInfo.c
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/NativeAPIInfo.c,v
retrieving revision 1.1
diff -u -r1.1 NativeAPIInfo.c
--- src/native/ogl/NativeAPIInfo.c 9 Jun 2004 04:25:23 -0000 1.1
+++ src/native/ogl/NativeAPIInfo.c 30 Aug 2004 06:24:58 -0000
@@ -35,4 +35,8 @@
#ifdef __linux__
return (jint)javax_media_j3d_MasterControl_RENDER_OPENGL_LINUX;
#endif /* __linux__ */
+
+#ifdef __FreeBSD__
+ return (jint)javax_media_j3d_MasterControl_RENDER_OPENGL_FREEBSD;
+#endif /* __FreeBSD__ */
}
Index: src/native/ogl/NativeConfigTemplate3D.c
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/NativeConfigTemplate3D.c,v
retrieving revision 1.2
diff -u -r1.2 NativeConfigTemplate3D.c
--- src/native/ogl/NativeConfigTemplate3D.c 4 Aug 2004 05:36:53 -0000 1.2
+++ src/native/ogl/NativeConfigTemplate3D.c 30 Aug 2004 06:24:59 -0000
@@ -22,7 +22,7 @@
#include "gldefs.h"
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
@@ -35,7 +35,7 @@
/* check if the extension is supported */
extern int isExtensionSupported(const char *allExtensions, const char *extension);
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
XVisualInfo *findVisualInfoSwitchDoubleBufferAndStereo(jlong display,
jint screen,
Index: src/native/ogl/NativeScreenInfo.c
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/NativeScreenInfo.c,v
retrieving revision 1.1
diff -u -r1.1 NativeScreenInfo.c
--- src/native/ogl/NativeScreenInfo.c 9 Jun 2004 04:25:24 -0000 1.1
+++ src/native/ogl/NativeScreenInfo.c 30 Aug 2004 06:24:59 -0000
@@ -21,7 +21,7 @@
#include "gldefs.h"
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
@@ -31,7 +31,7 @@
#include <windows.h>
#endif
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
/*
* Class: javax_media_j3d_NativeScreenInfo
* Method: openDisplay
Index: src/native/ogl/NativeWSInfo.c
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/NativeWSInfo.c,v
retrieving revision 1.1
diff -u -r1.1 NativeWSInfo.c
--- src/native/ogl/NativeWSInfo.c 9 Jun 2004 04:25:25 -0000 1.1
+++ src/native/ogl/NativeWSInfo.c 30 Aug 2004 06:24:59 -0000
@@ -21,7 +21,7 @@
#include "gldefs.h"
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
Index: src/native/ogl/gl_1_2.h
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/gl_1_2.h,v
retrieving revision 1.1
diff -u -r1.1 gl_1_2.h
--- src/native/ogl/gl_1_2.h 9 Jun 2004 04:25:30 -0000 1.1
+++ src/native/ogl/gl_1_2.h 30 Aug 2004 06:24:59 -0000
@@ -95,7 +95,7 @@
#endif
#ifndef GL_ARB_multisample
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#define GLX_SAMPLE_BUFFERS_ARB 100000
#define GLX_SAMPLES_ARB 100001
#endif
Index: src/native/ogl/gldefs.h
===================================================================
RCS file: /cvs/j3d-core/src/native/ogl/gldefs.h,v
retrieving revision 1.1
diff -u -r1.1 gldefs.h
--- src/native/ogl/gldefs.h 9 Jun 2004 04:25:31 -0000 1.1
+++ src/native/ogl/gldefs.h 30 Aug 2004 06:24:59 -0000
@@ -23,7 +23,7 @@
#include <stdlib.h>
#include <string.h>
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
#define GLX_GLEXT_PROTOTYPES
#define GLX_GLXEXT_PROTOTYPES
#include <limits.h>
@@ -302,7 +302,7 @@
#define J3D_RGBA javax_media_j3d_Texture_RGBA
#ifndef D3D
-#if defined(SOLARIS) || defined(__linux__)
+#if defined(SOLARIS) || defined(__linux__) || defined(__FreeBSD__)
extern void APIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf);
extern void APIENTRY glBlendColorEXT (GLclampf, GLclampf, GLclampf, GLclampf);
extern void APIENTRY glColorTable (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
More information about the freebsd-java
mailing list