summaryrefslogtreecommitdiffstats
path: root/src/demos/j2d
Commit message (Collapse)AuthorAgeFilesLines
* Added 3D rendering methods to TextureRenderer and TextRenderer on Kenneth Russel2007-01-203-55/+218
| | | | | | | | | | | | request of several people on javagaming.org forums. Refactored existing 2D rendering support in these classes in terms of the new 3D methods. Wrote new TextCube demo illustrating how to render 2D text in 3D using the TextRenderer. Factored out FPS counter rendering into new FPSCounter utility class and updated TestTextRenderer and FlyingText demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@201 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Robustness improvements to TextRenderer and underlying RectanglePacker. Kenneth Russel2007-01-131-0/+202
| | | | | | | | | | | | | | | Added ability to specify a maximum size to which the RectanglePacker can expand. Added preExpand method to BackingStoreManager to support early eviction of unused entries instead of always expanding the backing store, and additionFailed method used when the backing store can not expand further. Added more robust free list coalescing to Level. Added support for shrinking of backing store and for eager compaction when there is a lot of vertical dead space. Added TextFlow demo which shows how to do dynamic layout of text and which acts as a stress test for the TextRenderer. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@200 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Added new FlyingText demo to illustrate more advanced usage of the Kenneth Russel2007-01-071-0/+472
| | | | | | | | | | | TextRenderer class; displays dynamically rotated, translated and colored text. Changed how setSmoothing() is handled by the TextureRenderer and stopped disabling smoothing in the TextRenderer. For the time being, not exposing this flag in that class to keep the API simple. Changed TextRenderer to also push/pop the texture matrix. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@199 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* With help from Chris Campbell, fixed incredibly stupid bug on my part Kenneth Russel2007-01-063-9/+13
| | | | | | | | | | | | | | | | where the new Java 2D TextureRenderer was destroying and re-creating the OpenGL texture every frame. This was why the Java 2D Overlay class was so expensive, and why the TextRenderer wasn't as fast as it seemed it should be. Fixed bugs in all of the Java 2D demos which were covered up by this implicit sync, as well as in the TextRenderer class itself where it was missing a key sync operation. Added code to the Texture.updateSubImage() implementation to clip the incoming rectangle to the bounds of the input data and texture, to keep OpenGL from dropping almost-valid updates on the floor. Ran all of the Java 2D integration demos to verify these fixes. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@198 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Removed debugging codeKenneth Russel2007-01-041-69/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@197 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* With extensive help from Phil Race and Chris Campbell from the Java 2D Kenneth Russel2007-01-041-0/+246
| | | | | | | | | | | | | | | | | | | | | | team, added a TextRenderer class which enables high-performance rendering of bitmapped Java 2D fonts, with full Unicode support, into arbitrary OpenGL drawables using a simple API. Builds on top of the TextureRenderer class and its associated functionality; added createAlphaOnlyRenderer() and other methods to enable the TextRenderer. Caches rendering results on a string-by-string basis in an OpenGL texture using a fully automatic least-recently-used algorithm for good efficiency when rendering the same string or strings multiple times. Uses a rectangle packing algorithm, currently housed in com.sun.opengl.impl.packrect, for managing the positions of cached strings on a larger OpenGL texture to avoid OpenGL pipeline state changes. Added a TestTextRenderer demo which simply adds a moving text string and frames-per-second counter to the Gears demo; more sophisticated examples to come. (Some commented-out debugging code is being temporarily left in the new demo, to be removed in the next checkin, in order to have it in the version history.) git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@196 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* Moved J2DTextureRenderer and J2DOverlay into their own sub-package and Kenneth Russel2007-01-042-13/+13
| | | | | | | | | dropped the prefixes on the suggestion of Chris Campbell. No other changes to these classes. Added com.sun.opengl.util.j2d to the javadoc generation. Updated demos. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@195 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
* On request from James Gosling and others, added a J2DTextureRenderer Kenneth Russel2006-12-302-0/+407
class to com.sun.opengl.util to make it easier to render into OpenGL textures using Java 2D. Added convenience methods to this class to make it easy to draw sub-rectangles of the resulting texture to the screen. Added a J2DOverlay class which acts like a Java 2D-based heads-up display for an arbitrary GLDrawable, tracking its size and making it easier to render the entire contents of the HUD. There appear to be performance issues with the J2DOverlay class as the window gets large, at least on older hardware, as it allocates very large OpenGL textures internally. Added tests for both the J2DTextureRenderer and J2DOverlay classes which have similar functionality but different implementation approaches and different performance characteristics. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@194 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4