Jogl Tutorial and Release 2.4.0: Difference between pages

From JogampWiki
(Difference between pages)
Jump to navigation Jump to search
 
(Created page with "Git Tag v2.4.0 * [{{Server}}/git/?p=gluegen.git;a=tag;h=refs/tags/v2.4.0 gluegen] * [{{Server}}/git/?p=joal.git;a=tag;h=refs/tags/v2.4.0 joal] * [{{Server}}/git/?p=jogl.git;a=tag;h=refs/tags/v2.4.0 jogl] * [{{Server}}/git/?p=jocl.git;a=tag;h=refs/tags/v2.4.0 jocl] [{{Server}}/deployment/v2.4.0/ Signed Release URL] [{{Server}}/deployment/v2.4.0/archive/ Sources, ChangeLogs, Platform 7z Files, ..] SW Tracking Report Objectives for the release 2.4.0|Roadmap Release 2.4...")
 
Line 1: Line 1:
= JogAmp's Static =
Git Tag v2.4.0
* [{{SERVER}}/jogl/doc/Overview-OpenGL-Evolution-And-JOGL.html OpenGL Evolution & JOGL]
* [{{Server}}/git/?p=gluegen.git;a=tag;h=refs/tags/v2.4.0 gluegen]
*API Doc [ [{{SERVER}}/deployment/jogamp-next/javadoc/jogl/javadoc/ Public], Specs [ [{{SERVER}}/deployment/jogamp-next/javadoc/jogl/javadoc_nativewindow_spec/ Nativewindow], [{{SERVER}}/deployment/jogamp-next/javadoc/jogl/javadoc_jogl_spec/ JOGL] ] ]
* [{{Server}}/git/?p=joal.git;a=tag;h=refs/tags/v2.4.0 joal]
* [{{SERVER}}/jogl/doc/HowToBuild.html How to Build JOGL]
* [{{Server}}/git/?p=jogl.git;a=tag;h=refs/tags/v2.4.0 jogl]
* [{{SERVER}}/jogl/doc/userguide/ Userguide]
* [{{Server}}/git/?p=jocl.git;a=tag;h=refs/tags/v2.4.0 jocl]
* [{{SERVER}}/jogl/doc/deployment/JOGL-DEPLOYMENT.html Deployment]
* [{{SERVER}}/deployment/jogamp-current/jogl-test-applets.html JOGL Test Applets]
** [{{SERVER}}/deployment/jogamp-current/jogl-applet-runner-newt-gears-normal.html using Object/Embed tags]
** [{{SERVER}}/deployment/jogamp-current/jogl-demos/applet-gears.html using the Applet Tag]
* [{{SERVER}}/jogl/doc/NEWT-Overview.html NEWT - High Performance Native Windowing Toolkit]
* [{{SERVER}}/git/?p=jogl-demos.git;a=blob;f=src/demos/es2/RawGL2ES2demo.java;hb=HEAD OpenGL GL2ES2 GLSL Standalone Example by Xerxes Rånby]
* [https://jogamp.org/wiki/index.php/Rudimentary_standalone_example_using_the_fixed_pipeline_by_Julien_Gouesse Rudimentary standalone example using the fixed pipeline by Julien Gouesse]
* [https://gist.github.com/xranby/ccbcfcaef341f5bd1ba8 Rudimentary standalone example using the fixed pipeline with OpenGL ES 1 by Xerxes Rånby]


= JogAmp's Wiki =
[{{Server}}/deployment/v2.4.0/ Signed Release URL]
* [[Downloading and installing JOGL|Downloading and installing JOGL]]
** [[Jogamp_Versioning_and_Releases|Versioning And Release Information]]
* [[Setting up a JogAmp project in your favorite IDE|Setting up a JogAmp project in your favorite IDE]]
* Deployment
** [[JogAmp JAR File Handling|JAR File Handling]]
** [[Using JOGL in a Java applet|Using JOGL in a Java Applet]]
** [[Using JOGL in Java Web Start|Using JOGL in Java Web Start]]
** [[Foreign Packaging|Foreign Packaging]]
* JOGL
** [[How to write cross GLProfile compatible shader using JOGL]]
** [[How to use the Debug and Trace GL Pipeline and Debug GL Context]]
** [[Using JOGL in AWT SWT and Swing|Using JOGL in AWT, SWT, and Swing]]
** [[How to use X11 displays]]
* [[Jogl_FAQ|FAQ]]


= Hello Triangle and Texture =
[{{Server}}/deployment/v2.4.0/archive/ Sources, ChangeLogs, Platform 7z Files, ..]
[https://github.com/elect86/helloTriangle Sample] that features GL4, pure newt, glWindow options, animator, indexed drawing, dynamic attribute and frag data binding, interleaved data, vao, vbo (with normalization on one attribute), ibo (with shorts), uniform, glsl program (with specific suffix) and matrix jogl util, gl error check, key listener and right way to dispose.  


There is also a gl3 version and a Texture sample.
[[SW Tracking Report Objectives for the release 2.4.0|Roadmap Release 2.4.0]]


All the samples are written in Java and [https://en.wikipedia.org/wiki/Kotlin_(programming_language) Kotlin].
Build Information:
* [{{Server}}/chuck/view/fwd/job/gluegen/952/ gluegen]
* [{{Server}}/chuck/view/fwd/job/joal/670/ joal]
* [{{Server}}/chuck/view/fwd/job/jogl/1519/ jogl]
* [{{Server}}/chuck/view/fwd/job/jocl/1159/ jocl]


[https://github.com/jvm-graphics-labs/hello-triangle/blob/master/src/main/java/gl4/HelloTriangleSimple.java This example in pure Java] is less difficult to use for newcomers but it requires [https://github.com/jvm-graphics-labs/hello-triangle/blob/master/src/main/java/framework/Semantic.java Semantic.java].
[{{Server}}/deployment/v2.4.0/log/all.artifact.properties.sorted Detailed Version Information]


= Common Mistakes =
<pre>
I suggest you to take a read to these two pages for a quick overview over the most common problems, it is a very useful reading, legacy sections are carefully signaled.
gluegen.build.branch=origin/master
 
gluegen.build.commit=9dce06050a8a607b8c4ab83bd3aba8460d9ca593
[https://www.opengl.org/wiki/Common_Mistakes OpenGL]
gluegen.build.id=952
[https://www.opengl.org/wiki/GLSL_:_common_mistakes GLSL]
gluegen.build.number=952
 
gluegen.build.sha.classes=ee45eb067581f8968e6f44fafc216cfb6c1a5fa1b4fa18bc409ff6506323a171
Another common mistake that may happen if you port code from C/C++ to Java is this one:
gluegen.build.sha.natives=0384469b36ef9febccf778d56808ea055cfc77c513cc5525d2013aa0a59e03a8
 
gluegen.build.sha.natives=396a4d2a713215cfbf6633e7340a090c5f14ff465d82e7a6c3f39cee166fd3e7
<code>
gluegen.build.sha.natives=7e460de9ee595367aa6bbc883e356fd4e2f738121d9a430176e58f6b4a36a3b8
Caused by: com.jogamp.opengl.GLException: unpack pixel_buffer_object must be bound to call this method
gluegen.build.sha.natives=c41bfd2c28eb4e3646c1706a4a46dab0ea47261c7db23fac747af24641c12c96
at jogamp.opengl.gl4.GL4bcImpl.checkBufferObject(GL4bcImpl.java:40621)
gluegen.build.sha.sources=20ef84615bde56b95c31cb1100f4911d9bea181d8285b7d6517dcbebab9c1dea
at jogamp.opengl.gl4.GL4bcImpl.checkUnpackPBOBound(GL4bcImpl.java:40707)
gluegen.build.version=2.4.0
at jogamp.opengl.gl4.GL4bcImpl.glTexImage2D(GL4bcImpl.java:5535)
joal.build.branch=origin/master
at tests.gl320.Gl_320_fbo_blit.initTexture(Gl_320_fbo_blit.java:199)
joal.build.commit=bfba3d564cfb53ea879d5050abf0384c5f438c20
</code>
joal.build.id=670
 
joal.build.number=670
This happens because in C/C++, when you just want to allocate the space for a texture using, for example, ''glTexImage2D'', you should not pass 0 as the last argument, but ''null''.
joal.build.version=2.4.0
 
joal-demos.build.branch=origin/master
 
joal-demos.build.commit=338cececcef747238d778185611d05654b2633c7
N.B: The use of color picking is '''NOT''' recommended on any hardware whose palette is partially emulated.
joal-demos.build.id=534
 
joal-demos.build.number=534
= Java OpenGL Samples Pack =
jocl.build.branch=origin/master
 
jocl.build.commit=ba234c82a4b59faa18937afa37389bd0f442a141
The [https://github.com/elect86/jogl-samples Java OpenGL Samples Pack] (called unsurprisingly jogl-samples) is a port of the [http://www.g-truc.net/project-0026.html OpenGL Samples Pack], a collection of OpenGL samples based on the OpenGL "core profile" specifications.
jocl.build.id=1159
 
jocl.build.number=1159
The project aims to promote the new OpenGL features making easier version transitions for OpenGL programmers with a complementary documentation for the OpenGL specification. Despite the fact that the OpenGL Samples Pack provides as simple (and dumb) as possible samples, it's not a tutorial for beginner but a project for programmers already familiar with OpenGL. The OpenGL Samples Pack is also a good OpenGL drivers feature test.
jocl.build.version=2.4.0
 
jocl-demos.build.branch=origin/master
These samples illustrate mostly of the OpenGL features from ES 2.0 up to the last GL extenstions, same of them usually also called AZDO (Almost Zero Driver Overhead).
jocl-demos.build.commit=f486f88f5c86e3981b669275d7250856d8f03f11
 
jocl-demos.build.id=1038
= Wade's JOGL tutorials =
jocl-demos.build.number=1038
* [http://wadeawalker.wordpress.com/2010/10/09/tutorial-a-cross-platform-workbench-program-using-java-opengl-and-eclipse/ Cross-platform workbench program using Eclipse and JOGL]
jogl.build.branch=origin/master
* [http://wadeawalker.wordpress.com/2010/10/17/tutorial-faster-rendering-with-vertex-buffer-objects/ Faster rendering with vertex buffer objects]
jogl.build.commit=7982cc52344c025c40da45fd4b946056a63bc855
* [http://wadeawalker.wordpress.com/2010/10/24/tutorial-creating-native-binary-executables-for-multi-platform-java-apps-with-opengl-and-eclipse-rcp/ Creating native binary executables for multi-platform Java apps with OpenGL and Eclipse RCP]
jogl.build.id=1519
* [http://wadeawalker.wordpress.com/2010/12/06/tutorial-displaying-java-opengl-in-an-eclipse-editor-with-a-menu-bar-and-a-runpause-button/ Displaying Java OpenGL in an Eclipse RCP editor with a menu bar and a run/pause button]
jogl.build.number=1519
 
jogl.build.version=2.4.0
= Rami's JOGL tutorials =
jogl-demos.build.branch=origin/master
* [http://ramisantina.com/blog/?p=8 Rami's Guide how to setup a JOGL Eclipse project]
jogl-demos.build.commit=650296b9b5ea3c340cdb668decbdbe73821fd990
 
jogl-demos.build.id=507
= [https://sites.google.com/site/justinscsstuff/jogl-tutorials Justin's Getting Started with JOGL 2 Tutorials] =
jogl-demos.build.number=507
* [https://sites.google.com/site/justinscsstuff/jogl-tutorial-1 JOGL Tutorial 1 - Environment Setup]
</pre>
* [https://sites.google.com/site/justinscsstuff/jogl-tutorial-2 JOGL Tutorial 2 - Creating a Window]
* [https://sites.google.com/site/justinscsstuff/jogl-tutorial-3 JOGL Tutorial 3 - Creating a Render Loop]
 
= [http://ecs.csus.edu/~gordonvs/textbook.html Gordon] and Clevenger textbook =
 
Shader-based modern OpenGL 3D graphics programming textbook entirely in JOGL. Also works as a JOGL primer. "Computer Graphics Programming in OpenGL with Java" by V. Scott Gordon and John L. Clevenger, published by [http://www.merclearning.com/titles/Computer_Graphics_Programming.html Mercury], available at [https://www.amazon.com/Computer-Graphics-Programming-OpenGL-Java/dp/1683920279/ Amazon].
 
= Elect86's modern OpenGL examples =
 
* [https://github.com/elect86/modern-jogl-examples Source code on Github]
 
= Nils Hoffmann's Netbeans Platform examples =
* [https://github.com/nilshoffmann/netbeans-jogl2 Source code on Github]
 
= Courses =
* [http://www3.ntu.edu.sg/home/ehchua/programming/opengl/JOGL2.0.html Yet Another Tutorial on JOGL 2.0 - Including Nehe JOGL Port (Chua Hock-Chuan's notes at Nanyang Tech. University)]
* [http://www.informatik.uni-oldenburg.de/~trigger/opengl_course.html Johannes's Courses at University of Oldenburg (German)]
* [http://www.manuel-carcenac.com/courses/index.html Manuel's Courses at European University of Lefke]
** [http://www.manuel-carcenac.com/courses/Graphics_in_Java/index.htm Graphics in Java incl. 3D/JOGL]
** [http://www.manuel-carcenac.com/courses/Advanced_Graphics_in_Java_and_JOGL/index.htm Advanced 3D Graphics in Java and Java OpenGL (JOGL 2)]
 
= [http://leolol.com/tutorials/graphics_tutorials.html LeoLoL.com Tutorials] (Currently unreachable) =
* [http://leolol.com/tutorials/graphics/lesson01.html Lesson 1 - Setting up a JOGL Template]
* [http://leolol.com/tutorials/graphics/lesson02.html Lesson 2 - Drawing basic 2D shapes]
* [http://leolol.com/tutorials/graphics/lesson03.html Lesson 3 - Adding colour]
* [http://leolol.com/tutorials/graphics/lesson04.html Lesson 4 - 3D Shapes and Rotation]
 
= JOGL 1 tutorials =
* [http://www.felixgers.de/teaching/jogl/ Felix's OpenGL and JOGL]
 
== [http://www.sjonesart.com/gl.php Ste3e's JOGL tutorials] ==
* [https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B9hhZie2D-fENGE3ZmZkOGItZGYzZC00ZDgzLTg0NTAtMTk1MTAwMzYxYzNk&hl=en Keys and Mouse]
* [https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B9hhZie2D-fEYTFiMmFiYzQtMDA0MC00ZWI0LWI1NjItODE3ZjM2OGUxOWEw&hl=en First-Person Shooter]
* [https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B9hhZie2D-fEZGI2NTZhZTMtYWYwNS00NTljLWFiNGQtM2UyNTYyNjAzNDYy&hl=en Vertex Buffer Objects]
* [https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B9hhZie2D-fENWFhODk0M2UtZDY0Ni00YWM5LWIxZGUtMzM0YzMxMmRlODgx&hl=en Shader Setup]
* [https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B9hhZie2D-fEMzNjNDBmMjUtNGQzNS00ODY0LWJkYmUtNDM5Y2I5ODc0Y2Nj&hl=en Texture Using Shaders]
 
(The old (not quite up-to-date) JOGL Userguide is currently available [http://jogamp.org/jogl/doc/userguide/ here])

Revision as of 22:20, 1 February 2023

Git Tag v2.4.0

Signed Release URL

Sources, ChangeLogs, Platform 7z Files, ..

Roadmap Release 2.4.0

Build Information:

Detailed Version Information

gluegen.build.branch=origin/master
gluegen.build.commit=9dce06050a8a607b8c4ab83bd3aba8460d9ca593
gluegen.build.id=952
gluegen.build.number=952
gluegen.build.sha.classes=ee45eb067581f8968e6f44fafc216cfb6c1a5fa1b4fa18bc409ff6506323a171
gluegen.build.sha.natives=0384469b36ef9febccf778d56808ea055cfc77c513cc5525d2013aa0a59e03a8
gluegen.build.sha.natives=396a4d2a713215cfbf6633e7340a090c5f14ff465d82e7a6c3f39cee166fd3e7
gluegen.build.sha.natives=7e460de9ee595367aa6bbc883e356fd4e2f738121d9a430176e58f6b4a36a3b8
gluegen.build.sha.natives=c41bfd2c28eb4e3646c1706a4a46dab0ea47261c7db23fac747af24641c12c96
gluegen.build.sha.sources=20ef84615bde56b95c31cb1100f4911d9bea181d8285b7d6517dcbebab9c1dea
gluegen.build.version=2.4.0
joal.build.branch=origin/master
joal.build.commit=bfba3d564cfb53ea879d5050abf0384c5f438c20
joal.build.id=670
joal.build.number=670
joal.build.version=2.4.0
joal-demos.build.branch=origin/master
joal-demos.build.commit=338cececcef747238d778185611d05654b2633c7
joal-demos.build.id=534
joal-demos.build.number=534
jocl.build.branch=origin/master
jocl.build.commit=ba234c82a4b59faa18937afa37389bd0f442a141
jocl.build.id=1159
jocl.build.number=1159
jocl.build.version=2.4.0
jocl-demos.build.branch=origin/master
jocl-demos.build.commit=f486f88f5c86e3981b669275d7250856d8f03f11
jocl-demos.build.id=1038
jocl-demos.build.number=1038
jogl.build.branch=origin/master
jogl.build.commit=7982cc52344c025c40da45fd4b946056a63bc855
jogl.build.id=1519
jogl.build.number=1519
jogl.build.version=2.4.0
jogl-demos.build.branch=origin/master
jogl-demos.build.commit=650296b9b5ea3c340cdb668decbdbe73821fd990
jogl-demos.build.id=507
jogl-demos.build.number=507