summaryrefslogtreecommitdiffstats
path: root/src/demos/proceduralTexturePhysics
Commit message (Collapse)AuthorAgeFilesLines
* Changes in respect to JOGL2 revision 1929Sven Gothel2009-06-111-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@342 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixes against JOGL2 revision 1922 - Multi GL Profiles, plus setenv scriptsSven Gothel2009-06-031-3/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@338 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Recently code (UnifiedName, GLUnifiedName) was added to GlueGen toKenneth Russel2009-05-201-79/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automatically detect duplicate constant and function definitions between vendor and ARB extensions and the OpenGL core, and to remove the suffixes of ARB extensions. This code has helped automate the process of discovering extensions that were promoted into the OpenGL core. While this code has saved some manual effort, it has also caused several problems: 1. It causes obsolete ARB extensions to be incorrectly moved into the core OpenGL namespace. GL_ARB_texture_rectangle, GL_ARB_vertex_blend, and GL_ARB_matrix_palette are examples of extensions that should not have their ARB suffixes removed because they are dead-end extensions. Definitions which are explicitly specified that they will change, such as those in the EGL_KHR_sync extension, were also incorrectly moved into the core namespace. 2. It has caused certain OpenGL ES-specific definitions to accidentally be promoted into the core OpenGL namespace: for example, the constants associated with the GL_OES_point_size_array extension, which were incorrectly placed into the GL2ES1 interface. 3. It causes namespace collisions between certain ARB extensions that are only accessible via their ARB entry points and core OpenGL routines: specifically GL_ARB_vertex_program and GL_ARB_fragment program. Based on tests on NVIDIA's drivers, when a developer wants to use the earlier ARB_vertex_program and ARB_fragment_program semantics rather than GLSL, it is mandatory to use the ARB entry points rather than the core OpenGL entry points. 4. It is not easy to configure the behavior of this automatic merging, nor easy to see how it would be extended to be configurable. 5. It does not address the problem of detecting which extensions are common between desktop OpenGL and OpenGL ES. A different algorithm would be needed to solve that problem. 6. It has a high degree of functional overlap to the IgnoreExtension directive which has previously been used to ignore ARB extensions that were promoted into the OpenGL core. There were already IgnoreExtension directives in place for all of the OpenGL extensions subsumed in OpenGL 1.1 through 1.3. 7. It has been the cause of several bugs and unexpected interactions with the Ignore and ForceProcAddressGen directives. After careful consideration, it appears that the problems with this code outweigh the benefits and it has been removed. The run-time code which attempts to find extension variants of core entry points has been retained, however. To reduce the amount of subsequent manual work, the following additions have been made: 1. A generic SymbolFilter mechanism has been added to GlueGen, which can be used to pre-process the entire set of constant and function definitions at any time during glue code generation (although it is recommended to do so at the beginning of processing, i.e., in GlueEmitter.beginEmission()). 2. The RenameJavaMethod directive has been generalized to RenameJavaSymbol, and can now work on constant definitions. 3. A ConstantDefinition class has been added. 4. A RenameExtensionIntoCore directive has been added to the GLEmitter which will rename all constant definitions and entry points associated with a particular OpenGL extension into the core namespace, i.e., stripping off any ARB or similar suffixes. 5. An AutoUnifyExtensions directive has been added which is disabled by default but which will automatically ignore any OpenGL extension which has been completely subsumed into the OpenGL core and, if not, print out the first declaration in that extension which caused it to fail to be ignored. The extensions common between OpenGL ES and desktop OpenGL have now largely been moved into the core namespace using the RenameExtensionIntoCore directive. A couple of these extensions had slight differences between desktop OpenGL and OpenGL ES; the common declarations were renamed manually. IgnoreExtension directives have been added for those ARB extensions promoted into the OpenGL core up to OpenGL 2.1. A few extensions which were either silently promoted into the core specification (GL_EXT_paletted_texture) or are obsolete (GL_EXT_multisample, GL_EXT_point_parameters) were also ignored. The GlueGen runtime code which looks up extension versions of core APIs via GLExtensionNames makes this possible without breaking compatibility on older machines that do not support OpenGL 2.1 directly. With these changes, the same effect as the automatic extension unification mechanism has been achieved, with much more explainable and controllable results. Before-and-after versions of all of the public interfaces (GL, GL2ES1, GL2ES2, GLES1, GLES2, and GL2) have been compared by hand to ensure that the results are as expected and desired. Bugs in BuildStaticGLInfo were fixed which were preventing the extension associations in the OpenGL ES headers from being discovered. getExtensions() was added to be able to enumerate the discovered extensions. Most .cfg files were changed to parse both the desktop OpenGL and the OpenGL ES headers using the GLHeaders directive so that the extension associations are known for both sets of APIs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@334 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Partially fixed breakage to ProceduralTexturePhysics demo; exposesKenneth Russel2009-04-262-23/+27
| | | | | | | | | | | fundamental problems with the function name unification now going on by default -- and not configurable -- in GlueGen; must at least have the ARB_vertex_program and ARB_fragment_program extensions and entry points exposed separately from the unified versions in order to properly access them git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@332 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Moved remaining portions of fixed function emulation out of core JOGLKenneth Russel2009-03-191-1/+1
| | | | | | | | | | | | | | | | | | public and implementation packages and into com.sun.opengl.util.glsl.fixed.* and other subpackages of com.sun.opengl.util. Renamed javax.media.opengl.sub.GLObject to javax.media.opengl.GLBase. Moved interfaces in javax.media.opengl.sub.fixed to javax.media.opengl.fixedfunc and changed naming convention. Moved all classes in javax.media.opengl.util to com.sun.opengl.util. Moved com.sun.opengl.impl.packrect to com.sun.opengl.util.packrect. Renamed InternalBufferUtils to InternalBufferUtil to match naming convention and copied in needed routines for GLU and other classes. Fixed build breakage when specifying rootrel.build property; reintroduced build-temp directory. Updated demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@324 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Updated demos after refactoring of OpenGL capability bits back into ↵Kenneth Russel2009-03-191-2/+2
| | | | | | GLCapabilities git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@323 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* NEWT window closing:Sven Gothel2009-03-142-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - New WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY and WindowListener.windowDestroyNotify() method. - Removed windowClosed() method for JNI hook - Added windowDestroyNotify() windowDestroyed(), where windowDestroyNotify() shall be called by the native implementation _before_ the window gets shutdown. The Window.java then sends a WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY event, and either Window.java or it's owner GLWindow.java issues the destroy() procedure. - Added GLEventListener.dispose(GLAutoDrawable), to allow user application to release GL ressources. Issued by GLWindow (-> see windowDestroyNotify()) - X11 impl intercepts WM_DELETE_WINDOW, using Atom, MacosX impl already uses the _before_ method (VERIFY), and Windows impl uses the WM_CLOSE event (VERIFY). JOGL2 dispose/destroy .. - Added GLEventListener.dispose() to GLCanvas and GLJpanel - GL* toString() rearrangement, assumes it is issued by GLContext(), which indeed is the core information node. - Added proper destroy() methods and calls, to achieve a proper resource release at destruction. Instrumentizing almost all classes with a destroy() method, so no release function lookup is necessary. - misc changes .. JOGL2 Demos - Fixed in regards to the above changes git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@321 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Adapt to JOGL nwi package changesSven Gothel2009-03-131-2/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@320 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* - Fixed rootrel.build usage, this works properly through gluegen, jogl-demos ↵Sven Gothel2009-03-052-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and this build. You can say -Drootrel.build=build-x86_64 for example. - Fixed jogl-demos in regard to this changeset - Gluegen - Fixed gluegen BuildComposablePipeline's 'getGL*' methods. Now they return 'this', otherwise the pipeline would be broken/removed. - Add BuildComposablePipeline CustomPipeline, which allows customized class composition with an interface (to be wrapped), prolog class and the downstream class. - Add GlueGen (incl. ant task) 'outputRootDir' to be able to set a top output root dir via ant / commandline. - GL fixed function - Package 'javax.media.opengl.sub.fixed.*' defines some fixed function interfaces. This allows partitioning of custom implementation. - Using gluegen's new CustomPipeline to compose a GLFixedFuncIf implementation, using a GL downstream and a GLFixedFuncHookIf prolog. The latter implements the fixed functionality. Example is the GLFixedFuncImpl. gl.getContext().setGL( new GLFixedFuncImpl(gl, new FixedFuncHook(gl.getGL2ES2())) ) ; or gl.getContext().setGL( new GLFixedFuncImpl(gl, gl.getGL2ES1()) ) ; - The example GLFixedFuncHookIf impl FixedFuncPipeline/ can be instantiated with custom shader code. - ES2 and all other interfaces only contain the original functionality, besides minor convenient data access methods. - Fix: GL2ES2 createCompileShader() and createLoadShader() is moved to ShaderCode util class. - Updated PMVMatrix - Add: GLAutoDrawable.setContext() .. and all it's implementations Necessary to set a new GLContext. - Add: GLContext getAttachedObject(int) and putAttachedObject(int, Object), to allow the user to attach application specific and TLS sensitive objects to the GLContext. - git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@316 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed ArgumentIsString directive for glProgramStringARB (nowKenneth Russel2009-01-121-2/+1
| | | | | | | | | | glProgramString) and updated demos. Added FIXME to gl-ignore-gl2_es12-special.cfg about definitions that it seems should be in the GL interface (such as the GL_ARB_imaging definitions) as they are replicated in the GL2ES1 and GL2ES2 interfaces. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@315 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Moved FileUtil and StreamUtil classes back into com.sun.opengl.utilKenneth Russel2008-12-301-1/+1
| | | | | | | | | package. Moved TGAWriter back into com.sun.opengl.util package to prevent creating a new package for a single class. Updated implementation and demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@312 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Refactored AWT dependencies in Animator class differently to allowKenneth Russel2008-12-301-1/+1
| | | | | | | | | | | both Animator and FPSAnimator to pick up AWT behavior when available. Moved Animator and FPSAnimator back to com.sun.opengl.util package as it is unclear whether these classes are useful enough on all platforms and profiles to warrant inclusion in the public specification. Updated demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@311 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Changed gleem to explicitly declare AWT dependencies. Updated allKenneth Russel2008-11-211-5/+6
| | | | | | | demos. All demos now build cleanly. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@291 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Applied second jogl-demos patch from Michael Bien. Adjusted build.xmlKenneth Russel2008-11-202-4/+9
| | | | | | | | | | to not try to compile jbullet sources, and to merge the ES1 and ES2 targets. To build the full set of demos (including the OpenGL ES demos), run "ant". To build just the OpenGL ES demos, run "ant -Djogl.es=1". git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@290 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Incorporated patch from Michael Bien fixing roughly 80% of compilation errorsKenneth Russel2008-10-302-525/+566
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JOGL_2_SANDBOX@287 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Renamed com.sun.opengl.utils to com.sun.opengl.util. Moved Kenneth Russel2006-01-132-5/+6
| | | | | | | | | | | TextureIO-related classes to com.sun.opengl.util.texture and TextureProvider, TextureWriter and format-specific readers to com.sun.opengl.util.texture.spi. Renamed BufferUtils to BufferUtil. Added ImageUtil and FileUtil. Cleaned up javadoc. Updated demos. Cleaned up some imports. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@165 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Reorganized and added code in TextureIO and Texture classes to support Kenneth Russel2006-01-072-128/+70
| | | | | | | | | | | | cubemap generation as well as complete replacement of the texture's image, not just a sub-image. Added setTexParameteri to provide control over things like the GL_TEXTURE_WRAP_ modes. Ported JOGL demos to use new TextureIO class instead of TGAImage and ImageIO directly. Fixed longstanding bug in ExaminerViewer's setting up of inverse rotation causing errors in loading of uffizi cubemap. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@163 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Removed code inadvertently checked in along with Kenneth Russel2005-12-061-2/+0
| | | | | | | MacOSXOnscreenGLContext git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@154 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added MacOSXExternalGLContext support as suggested by Billy BiggsKenneth Russel2005-12-051-0/+2
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@153 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added GLCapabilitiesChooser argument (currently ignored) to Kenneth Russel2005-11-271-0/+1
| | | | | | | | GLDrawableFactory.createGLPbuffer() based on JSR-231 expert group's feedback. Updated GLJPanel and demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@149 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added workaround for problem on Mac OS X 10.4.3 where could not shareKenneth Russel2005-11-131-0/+3
| | | | | | | | | | | | | | | textures and display lists between a pbuffer and an on-screen OpenGL context; now specify pbuffer support for all created contexts. Tested on 10.3.9 and 10.4.3. See 4129317 on Apple's Bug Reporter for first report of this bug. Added workaround for older OpenGL version strings being reported with older graphics cards on OS X; now attempt to parse vendor-specific version string. Added workaround for ProceduralTexturePhysics demo on OS X where pbuffer's rendering results were not being flushed each frame; this demo is now working properly on 10.4.3 with recent hardware. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@148 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Made public API changes discussed with expert group to make core JOGLKenneth Russel2005-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | API more toolkit-agnostic: 1. Decoupled instantiation of GLCanvas and GLJPanel objects from the GLDrawableFactory. GLCanvas and GLJPanel's constructors are now public and the associated factory methods have been removed from the GLDrawableFactory. 2. Changed the signature of GLDrawableFactory. chooseGraphicsConfiguration() to accept and return marker AbstractGraphicsDevice and AbstractGraphicsConfiguration interfaces, respectively. Defined new AWTGraphicsDevice and AWTGraphicsConfiguration wrapper classes simply wrapping the associated objects. An SWT port could define similar wrapper classes for its data types. 3. Allowed overriding of the specific GLDrawableFactory subclass instantiated through GLDrawableFactory.getFactory() by setting the system property "opengl.factory.class.name". For example, an SWT port might swap itself in by specifying the following system property on the command line: -Dopengl.factory.class.name=com.ibm.swt.opengl.SWTGLDrawableFactory Tested on Solaris/SPARC. Also fixed breakage on Solaris/SPARC due to recent split of jogl native library into jogl and jogl_awt pieces. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@146 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-242-322/+343
| | | | | | | | contains the evolving JSR-231 Reference Implementation and the JSR-231 branch is permanently closed. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@144 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Enabled sync-to-vertical-refresh for ProceduralTexturePhysics demoKenneth Russel2005-05-241-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@79 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Removed temporary debugging codeKenneth Russel2004-11-181-1/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@44 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Ported ProceduralTexturePhysics demo to ARB_vertex_program and Kenneth Russel2004-11-172-695/+526
| | | | | | | | | | | | ARB_fragment_program from NV_vertex_program, NV_register_combiners and NV_texture_shader for compatibility with all vendors' graphics cards. Tested resulting demo on both NVidia and ATI cards. Framerate on Quadro FX Go700 is close to original version after optimization of a few of the fragment programs. Results are visually similar to (though probably not identical to) the original version. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@41 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Implemented a per-thread GLContext stack, which gives a thread Kenneth Russel2003-11-041-56/+35
| | | | | | | | | | | | | | | knowledge of the OpenGL contexts it has made current and allows a GLDrawable to make its context current recursively as well as allowing a GLEventListener to call another GLDrawable's display() method from within its display(). This mechanism can be used fairly easily to expose swapBuffers in the public API, as has been requested. Updated the demos which had to explicitly call display() on more than one drawable to use the Animator class and to call GLDrawable.display() from within their GLEventListeners' display() methods. Updated documentation. Fixed bugs in gleem's CameraParameters class. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@27 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed bug in Animator where it would hang upon stopping if exceptionKenneth Russel2003-07-151-27/+36
| | | | | | | | | was thrown during init(). Fixed build.xml files to get javac to produce source file and line number information. Fixed demos to pop up a dialog box if an extension they need is unsupported. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@12 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added pbuffer support to JOGL on X11; HWShadowmapsSimple andKenneth Russel2003-07-031-1/+1
| | | | | | | | | | | | | | | | | | ProceduralTexturePhysics demos are now working on Linux with the appropriate hardware. Moved core GLX routines out of the public GLX interface; this allowed XVisualInfo (and the new GLXFBConfig) to be removed from the public API. Added support to GlueGen for returning arrays of pointers as arrays of StructAccessors in Java and for choosing the typedef name for a pointer-to-struct if the struct itself does not have a typedef name. Added support to GLEmitter to emit ProcAddressTables under arbitrary names and to support arbitrary mechanisms for fetching those tables. Made GLU (on all platforms) and GLX (on X11) be dynamically linked. Refactored ProcAddressTable filling to be mostly shared code. Tested changes on Linux, Mac OS X and Windows. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@9 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Split up net.java.games.util; moved GLUT and BufferUtils intoKenneth Russel2003-06-252-0/+2438
net.java.games.jogl.util, and moved demo-specific utility classes into jogl-demos project under demos.util. Added nearly all JavaOne demos into jogl-demos project; rewrote where necessary to use ClassLoader.getResourceAsStream() instead of flat files, put into packages and added to Makefile. Added gleem to jogl-demos project. Added jogl.jar build rule. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@3 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4