Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (744)
Games in Android Showcase (225)
games submitted by our members
Games in WIP (825)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  LWJGL 3.1.5  (Read 1158 times)
0 Members and 1 Guest are viewing this topic.
Offline Spasi
« Posted 2017-11-20 00:26:53 »

LWJGL 3.1.5 has been released!

edit: This post was originally about 3.1.4. The build published to Maven Central was incompatible with Java 8, so it had to be replaced quickly with a new version.

3.1.5 release notes
3.1.4 release notes
Download

You can now contribute to LWJGL by becoming a backer on Open Collective with a monthly/yearly/one-time donation to the project. The plan is to use donated funds:

  • to cover server hosting & bandwidth expenses (currently ~$30 per month)
  • to cover software & hardware expenses
  • to offer bounties for documentation work (priorities: adding EGL & GLES javadoc, updating GL)
  • to offer bounties for new bindings
  • to offer bounties for new platform ports (priorities: ARM, Android)

Finally, don't forget to check out the lovely path tracing tutorials created by KaiHH!
Offline Icecore
« Reply #1 - Posted 2017-11-20 12:11:41 »

Finally, don't forget to check out the lovely path tracing tutorials created by KaiHH!
I open first tutorial
https://github.com/LWJGL/lwjgl3-demos/blob/master/src/org/lwjgl/demo/opengl/raytracing/tutorial/Tutorial1.java

try look on shader but can’t find it Sad

org/lwjgl/demo/opengl/raytracing/tutorial1/quad.vs.glsl
org/lwjgl/demo/opengl/raytracing/tutorial1/quad.fs.glsl
org/lwjgl/demo/opengl/raytracing/tutorial1/raytracing.glsl

https://github.com/LWJGL/lwjgl3-demos/tree/master/src/org/lwjgl/demo/opengl/raytracing
no folder tutorial1 and no files in folder tutorial

IMO: Oh my..
Why not use Enums (but its ok for RAW example ^^)
1  
2  
3  
4  
5  
6  
eyeUniform = glGetUniformLocation(computeProgram, "eye");
ray00Uniform = glGetUniformLocation(computeProgram, "ray00");
ray10Uniform = glGetUniformLocation(computeProgram, "ray10");
ray01Uniform = glGetUniformLocation(computeProgram, "ray01");
ray11Uniform = glGetUniformLocation(computeProgram, "ray11");
int loc = glGetUniformLocation(computeProgram, "framebufferImage");

up:
Also be nice to
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
interface GLEnum{
}
class GLShaderVal{
   int gl_Pointer;
   GL_Enum name;//Or String
   /*
   int val_Cur;
   int val_Wait_Set;
   */

}
GLShaderVal param = glGetUniformLocation(computeProgram, GLEnum_X_Shader.FramebufferImage);

Last known State: Reassembled in Cyberspace
End Transmission....
..
.
Journey began Now)
Offline KaiHH

JGO Kernel


Medals: 486



« Reply #2 - Posted 2017-11-20 12:37:06 »

The convention for Maven-style and also Gradle projects is to separate Java source files from non-Java files (resources). And it's generally a good style to do that. You'll find the shaders in /res.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Icecore
« Reply #3 - Posted 2017-11-20 12:42:19 »

You'll find the shaders in /res.
..But, But  persecutioncomplex
its
org/lwjgl/demo/opengl
not
res/org/lwjgl/demo/opengl

The convention for Maven-style and also Gradle projects is to separate Java source files from non-Java files (resources). And it's generally a good style to do that.
OK - its new fancy technologies  Roll Eyes

Last known State: Reassembled in Cyberspace
End Transmission....
..
.
Journey began Now)
Offline KaiHH

JGO Kernel


Medals: 486



« Reply #4 - Posted 2017-11-20 12:45:46 »

In case you don't see the symmetry here:
- the package for the Java classes is org/lwjgl/demo/opengl INSIDE /src
- the package for the resources is org/lwjgl/demo/opengl INSIDE /res
Offline Icecore
« Reply #5 - Posted 2017-11-20 12:51:37 »

In case you don't see the symmetry here:
- the package for the Java classes is org/lwjgl/demo/opengl INSIDE /src
- the package for the resources is org/lwjgl/demo/opengl INSIDE /res
I don’t know this Gradle magic)
Not use it
So when I see
org/lwjgl/demo/opengl/raytracing/tutorial1/quad.vs.glsl
First place where I be looking is current
org/lwjgl/demo/opengl/raytracing/

and its
lwjgl3-demos/src/org/lwjgl/demo/opengl/raytracing/

Last known State: Reassembled in Cyberspace
End Transmission....
..
.
Journey began Now)
Offline NuclearPixels

Senior Devvie


Medals: 10
Projects: 1



« Reply #6 - Posted 2017-11-21 18:53:32 »

Is there any chance that there will be EUR donations? For a monthly 2$ subscription my bank will charge me another two just for exchanging the money :S

CERN-based beginner game devs. Follow us on Twitter: https://twitter.com/NuclearPixels
Offline elect

JGO Knight


Medals: 50



« Reply #7 - Posted 2017-11-21 23:14:47 »

Is there any chance that there will be EUR donations? For a monthly 2$ subscription my bank will charge me another two just for exchanging the money :S

Better one time donation from time to time then
Offline Spasi
« Reply #8 - Posted 2017-11-22 02:16:03 »

LWJGL 3.1.4 has been replaced by 3.1.5. See the updated release notes in the OP for more information.

LWJGL 3.1.5 includes AMD Tootle bindings. It's a library that optimizes geometry to better utilize the vertex prefetch cache and post-transform vertex cache in modern GPUs, while also minimizing overdraw (less fragment shading). Here's a simple demo, everything is done automatically in two simple function calls. Enjoy!
Offline Spasi
« Reply #9 - Posted 2017-11-22 02:18:32 »

Is there any chance that there will be EUR donations? For a monthly 2$ subscription my bank will charge me another two just for exchanging the money :S

Open Collective plans to add more payment options in the near future. If it takes too long, we'll consider other solutions.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline h.pernpeintner

JGO Knight


Medals: 71



« Reply #10 - Posted 2017-11-22 09:38:32 »

I would really be interested in some runtime performance comparisons with/without tootled meshes. Just curious Smiley
Offline Spasi
« Reply #11 - Posted 2017-11-26 21:03:42 »

I would really be interested in some runtime performance comparisons with/without tootled meshes. Just curious Smiley

I have converted the demo to a before-after benchmarking tool. It looks like this:



You set up the geometry to test and optimization parameters, then toggle between unoptimized and optimized mesh (with 'O') and see the performance difference. The elapsed time on the upper-right is the GPU time for the 3D mesh only (uses GL_TIME_ELAPSED queries), the HUD rendering does not affect it. Some notes:

1. The meshes 1-8 are procedurally generated using par_shapes. They already have a low ACMR and cannot be optimized significantly, so are not good for testing. The demo supports loading a custom mesh with Assimp (press <CTRL+O>). Artist-created meshes from a DCC app usually suffer from high ACMR.
2. If you don't have a good test mesh, press <SPACE> to shuffle the unoptimized mesh. The geometry is exactly the same, but the triangle order is randomized, resulting in a horrible ACMR close to the worst case (3.0). This should give you a good idea of how bad it can get when the vertex caches are not utilized.
3. When doing ACMR comparisons, it's best to turn off rasterization (press <F> to toggle). This will isolate measurement to the GPU vertex processing pipeline.
4. Overdraw optimization is harder to test. It depends on the mesh having clusters covering other clusters and you also need to be doing significant work in the fragment shader. You may want to edit the shader to do something expensive (e.g. a sin/cos loop). There's also a trade-off involved, optimizing a mesh for less overdraw usually leads to a higher ACMR. This can be tuned with the alpha parameter of TootleFastOptimize. If you want to test for ACMR only, press F1, it usually produces the best ACMR results.

As an example, with the 512 bunnies in the screenshot above and rasterization disabled:

- Unoptimized mesh with an ACMR of 2.075 -> 12ms
- Optimized mesh with an ACMR of 0.689 -> 5.7ms

It's a fairly dramatic difference, but YMMV. It really depends on the mesh used, but it's always beneficial and, well, it's free (can be done offline).

Finally, if you're on Windows, make sure to download the latest 3.1.6 snapshot. It adds support for Direct3D rasterization when doing overdraw optimization/measurement, which makes Tootle at least 100x faster (hundred x, not a typo).
Offline h.pernpeintner

JGO Knight


Medals: 71



« Reply #12 - Posted 2017-11-27 08:50:43 »

Thank you very much for your effort! Unbelievable that the difference is that dramatic - I just added a point on my to-check-out list Smiley
Pages: [1]
  ignore  |  Print  
 
 

 
Ecumene (149 views)
2017-09-30 02:57:34

theagentd (222 views)
2017-09-26 18:23:31

cybrmynd (301 views)
2017-08-02 12:28:51

cybrmynd (288 views)
2017-08-02 12:19:43

cybrmynd (297 views)
2017-08-02 12:18:09

Sralse (291 views)
2017-07-25 17:13:48

Archive (978 views)
2017-04-27 17:45:51

buddyBro (1102 views)
2017-04-05 03:38:00

CopyableCougar4 (1678 views)
2017-03-24 15:39:42

theagentd (1430 views)
2017-03-24 15:32:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!