From: Sven G. <sgo...@ja...> - 2000-05-02 05:04:09
|
Dear GL4Java devloper/user, --------------------- DRI GLX XFREE 4.0 I have had success, running GL4Java under XFree86 4.0 & DRI ! I attach a text file, which describes the bugs and tricks .. I send this info to the DRI developer mailinglist also, so hopefully some bugs in DRI will be fixed soon. GL4Java runs with a Vodoo3 in DRI mode and Indirect mode. Other cards should be tested by others (I bought myself a damn Vodoo3 card, just for this purpose :-( --------------------- NVIDIA GLX XFREE 4.0 The current NVidia GLX module for XFree86 4.0 did not work for me (GeForce256 AGP, Linux 2.2.14, XFree 4.0, glibc2.0) with the sun/blackdown java vm's ! I just get segmentation faults :-( The funny thing is, that it works with the Netscape Java VM :))) I guess it is time to encourage nvidia AGAIN to support the DRI project .. ---------------------- Static GL <= 1.1 / Dynamic GL > 1.1 & EXTensions Request for comments ===================== I want to change the native library linkage for GL4Java, to use fixed symbols (current state) for the OpenGL/GLU functions specified till OpenGL 1.1. All newer functions should be linked dynamic using the new glXGetProcAddressARB function, while the 1st call ! Of course, the Java method stubs must be added all the time, but we can use all libGL.so libraries, which supports GL 1.1 ! (Currently we must add dummy methods for unavaiable native methods) Additionally a kind of "boolean *Exists()" methods will be added for this purpose ... ---------------------- Swing Support Request for comments ===================== Last month, the company DESYS (http://www.desys.com/) contacted me. They want Swing (within Java2) supported by GL4Java ! DESYS does develop a new kind of lightweight gui framework, which is based upon Java and uses Swing. In the near future they want support OpenGL 3D rendering, using GL4Java. Here are my main ideas - in a brainstorm way: Prerequisites: - Usage of Java2 - To use OpenGL in Java, we can not use the native window, which is opened by the JavaVM (under some OS) ! Solutions: 1 - Lightweight component gl4java.swing.GLJPanel ! This component draws itself in a OffScreen mode and acts like e.g. an ImagePanel (copy the native OffScreen Data to a Java Image which can be painted by the JVM therefore)! All GL/Swing components will use OffScreen rendering (may be fast), and the OffScreen content must be offered (copied) to the Java VM (slow) ! 2 - Heavyweight component gl4java.swing.GLHeavyComponent ! This component creates an own native window ! The native window will show up (bring to front), if the component is completly viewable ! - The native window must be connected to the native java root window (->Heavy). - The swing component stack order must be controlled, so the native heavy window can be showed and hided, depending of the visible state of the component. Rendered is done fast ! But the OpenGL rendering is only viewable, if no other component hides the GL component - even partial ! (-> Ugly ! Component can not contain any more components ! ) 3 - Implementing an OpenGL based java.awt.Graphics and java.awt.Graphics2D ! E.g.: java.awt.GLGraphics extends java.awt.Graphics ! Because everything is drawn in one native OpenGL window, we are fast and should run into trouble ! Synchronisation, animation, etc. is fine, because of the homogene rendering toolkit (-> OpenGL). (We cannot use the original JVM native window, because of the restriction described in the prerequisites !) So, my personal favorite is - of course - the universal solution number 3 ! Many ideas can may be found in the Kaffe project ! -------------------------------------------------------------- Comments, ideas & manpower is welcome ! Yours - best regard, Sven Goethel -- mailto:sgo...@ja... www : http://www.jausoft.com voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |