summaryrefslogtreecommitdiffstats
path: root/src/demos/proceduralTexturePhysics
Commit message (Collapse)AuthorAgeFilesLines
* Renamed all files to intended destination packages for JSR-231. The Kenneth Russel2005-08-302-2/+4
| | | | | | | | | | | only package specified by the JSR is "javax.media.opengl". The utility package com.sun.opengl.utils is Sun-specific and optional. The Cg binding has been moved into com.sun.opengl.cg. Moved Animator and FPSAnimator to com.sun.opengl.utils. Updated and tested demos with new source code locations. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@118 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Restructured generation of MethodBindings and emitters to more closely Kenneth Russel2005-08-291-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | match desired new code generation style of mapping void* to Buffer and to support non-direct Buffers. Removed expansion of void* to multiple primitive array types. Primitive-type C pointers (such as int*) are now exposed as IntBuffer and (optionally) int[], if NioDirectOnly has not been specified. The int[] variant is a simple wrapper around the indirect buffer implementation. If desired, expansion of void* to other array types could be layered on this new support. Rewrote and simplified expandMethodBinding and split up creation of emitters into generatePublicEmitters and generatePrivateEmitters. Deleted JavaMethodBindingImplEmitter and CMethodBindingImplEmitter and folded their functionality into their superclasses, controlled under flags, which makes it more straightforward to tweak a given emitter to produce correct glue code. Restructured OpenGL-specific JavaGLPAWrapperEmitter and CGLPAWrapperEmitter and how they are created by the GLEmitter; these classes are now much simpler than before. Changed how data types are passed from MethodBindings to Emitters. Generally only two MethodBindings will be created, one which maps types like int* to IntBuffer and one which maps it to int[]. The version taking Buffers will be the only one for which glue code will be generated; the one taking int[] will call the native code for the indirect buffer case for the one taking Buffers. Compound types (representing C structs) and compound type arrays (represending arrays of C structs) are no longer mapped to NIO ByteBuffers and arrays of NIO ByteBuffers by the MethodBinding; erasure and lowering of types is now handled by the Emitters, to preserve more type information during the code generation process. It is unclear whether this is in the end a simplification or just pushing code around, but it does help reduce confusion over the number of MethodBindings floating around in the system and what purpose they served. Restructured cure JOGL code and demos to work with new APIs, in particular new glTexImage*D, glDrawElements, and glReadPixels Buffer arguments. Fixed performance problem in new Animator which occurred with VertexArrayRange demo. Added new gluPickMatrix entry point to be able to implement NIO variant in generated signatures. Some further simplifications of the new code may be possible (i.e., some new flags in JavaMethodBindingEmitter and MethodBinding removed) and it is possible more unused code remains to be deleted. As it stands the new GL.java is significantly smaller than before, as all of the expansions of void* to primitive arrays are gone, several areas of GlueGen are easier to understand, and while some functionality has been lost, the autogenerated APIs are basically in the final form specified by JSR-231. Tested with the JOGL demos on Windows and Linux. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@116 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Missed new DemoListener.repaint() in a few placesKenneth Russel2005-08-061-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@109 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Refactored Gears, VertexProgRefract and Water demos to be more Kenneth Russel2005-08-052-220/+230
| | | | | | | | modular. Started rewriting other demos like JGears and JRefract in terms of others to share more code. Added Water demo to JRefract demo. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@106 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Implemented pbuffer instantiation support in GLDrawableFactory rather Kenneth Russel2005-07-181-6/+9
| | | | | | | | than GLCanvas on Windows. Restructured GLJPanel and jogl-demos to use new APIs. Still needs to be ported to other platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@104 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Further context-related changes for the JSR-231 API. The GLContext Kenneth Russel2005-07-172-6/+8
| | | | | | | | | | | | | | | | | | | | | | | implementations on all platforms have been split into orthogonal GLDrawable and GLContext concepts. It is now possible to create more than one GLContet per GLDrawable (though this has not been tested yet). GLCanvas has been reimplemented in terms of GLDrawableFactory.getGLDrawable(). More functionality has been moved from GLDrawable to GLAutoDrawable. Reimplemented lazy sending of reshape GLEventListener events in GLCanvas and GLJPanel and deleted notion of deferred reshapes from GLDrawableHelper and elsewhere. Sharing of textures and display lists is now expressed in terms of GLContexts instead of GLDrawables. Still need to move pbuffer creation into GLDrawableFactory from the onscreen GLContext implementations. Added option to gleem ExaminerViewer to disable automatic redraws upon mouse events and respecified more of gleem to work on GLAutoDrawables rather than GLDrawables. Updated all JOGL demos to work with new APIs and slightly different initialization sequences (in particular, for pbuffers -- this will change with the addition of GLDrawableFactory.createGLPbuffer()). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@103 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Initial set of context-related changes for the JSR-231 API. GLContext Kenneth Russel2005-07-102-16/+15
| | | | | | | | | | | | | | | has been exposed in the public API. The GLEventListener callback mechanism has been removed from the core GLContext implementation and moved up to a higher level. GLAutoDrawable now contains the GLEventListener-related methods, and the GLEventListener's methods now receive a GLAutoDrawable as argument. All JOGL demos have been updated for the new APIs. Many FIXMEs and much unimplemented functionality remain. There is slightly different initialization behavior for the demos containing pbuffers, and the deferring of reshape callbacks needs to be rethought. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@100 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Fixed Windows port after changes to GlueGen to include array offsets. Kenneth Russel2005-07-081-27/+29
| | | | | | | | | | | Ported all demos to new API. Temporarily added back in GLU entry points taking primitive arrays as the underlying APIs (in particular, glTexImage2D) do not yet support non-direct Buffers. Changed C code generation to only add in array offset if array is non-null. Fixed bug in GLU tesselator demo's vertex callback. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@99 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Merged with main trunk (tag JOGL_PRE_1_1_1)Kenneth Russel2005-07-071-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@98 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* This commit was manufactured by cvs2svn to create branch 'JSR-231'.First Last2005-06-161-1/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/branches/JSR-231@93 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