Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (741)
Games in Android Showcase (225)
games submitted by our members
Games in WIP (823)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 ... 192 193 [194]
  ignore  |  Print  
  What I did today  (Read 2035336 times)
0 Members and 6 Guests are viewing this topic.
Offline Mac70
« Reply #5790 - Posted 2017-11-14 12:20:25 »

Working WebKit based web browser in LWJGL 3:


Click to Play


It still requires lots of work, but is very convenient to use (using JavaFX built-in WebEngine and no external libraries at all). The biggest and pretty much the only problem for now is that texture of rendered page is transferred from CPU to GPU on every frame, some kind of streaming should remove most of that overhead.
Offline KaiHH

JGO Kernel


Medals: 481



« Reply #5791 - Posted 2017-11-14 23:04:30 »

About to finish Tutorial 5 using the "Edge-Avoiding À-Trous Wavelet Filter". On the way to a real-time, game-ready path tracer! Smiley
The following images show a scene with the current tutorial state of the path tracer:

Unfiltered (1 sample per pixel):


Filtered (1 sample per pixel):


Ground truth (1000 samples per pixel):


The downside of that edge-avoiding filter is that it requires per-scene tweaking of the various weighting parameters involved. I'm pretty sure the authors spent a whole lot of time to find the right weight coefficients for the still images shown in their paper.

EDIT: Tutorial 5 (more like a demo really than a "tutorial") is in: https://github.com/LWJGL/lwjgl3-demos/tree/master/src/org/lwjgl/demo/opengl/raytracing/tutorial
Offline Sickan
« Reply #5792 - Posted 2017-11-16 10:57:05 »

This morning I wrote a garbage collector. GC has always seemed to be some kind of impossible mystery that only extremely talents folks like JVM engineers could understand. Turns out a basic tracing garbage collector isn't very complicated.

Take a look: https://github.com/snordgren/goose
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec

« JGO Spiffy Duke »


Medals: 976
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #5793 - Posted 2017-11-16 11:00:55 »

It isn't very complicated until you have to handle references in registers, concurrency, threads and cache coherency, finalizers, and references...

Cas Smiley

Offline Riven
Administrator

« JGO Overlord »


Medals: 1324
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #5794 - Posted 2017-11-16 12:41:30 »

.. and optimisations by the JIT. You can have multiple (inlined) implementations of 1 callsite at a time, which all store these references in different registers, or (differently laid out) stack memory.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Offline princec

« JGO Spiffy Duke »


Medals: 976
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #5795 - Posted 2017-11-16 12:46:42 »

The way Azul's Zing VM handles all this is quite remarkably sensible... start here https://www.azul.com/products/zing/pgc/

Cas Smiley

Offline KaiHH

JGO Kernel


Medals: 481



« Reply #5796 - Posted 2017-11-16 23:11:02 »

Worked on a new demo today. This time we make a few big steps:
- externalize the scene description out of the shader (the example will use LWJGL 3's Assimp binding to load a scene with meshes)
- that means, we are adding the ability to trace triangle meshes for the first time and getting closer to actual usefulness
- with any triangle meshes bigger than like 32 vertices there now comes the necessity to use a spatial acceleration structure. The already existing LWJGL 3 demos have some ready which we will use for this (most importantly KDTree.java)
- Adding stackless kd-tree traversal as per this fine paper (lwjgl3-demos also already has a shader implementation ready which we will use and integrate into our path tracer)
- Interpolating the normals using barycentric coordinates
- Hybrid rasterization and ray tracing. The benefit of rasterization is that we can use it to "shoot" the primary rays and let them intersect with scene geometry (simply by means of projection/rasterization; this has been done like 20 years ago, nothing of that is new!) and write normals and depth into a texture, which the actual path tracer can then sample to know where to start shooting the secondary rays from (this is basically only a performance optimization, but a very worthy one, especially when we are now talking about traversing lots of kd-tree nodes and testing triangles). The good thing also is that all optimizations for rasterization algorithms apply here as well, such as frustum culling and occlusion culling.

Here is a development image visualizing the kd-tree traversal without rasterization (so, primary rays are being shot by the raytracer) (lighter orange means more kd-tree nodes being traversed) with vertex normals interpolated in the raytracer using the barycentric coordinates returned from the ray-triangle intersection tests:


(sorry for the rather poor image compared to the previous ones, but remember, this is a debug render) Smiley
Offline KaiHH

JGO Kernel


Medals: 481



« Reply #5797 - Posted 2017-11-18 21:37:02 »

Today I worked on completing the next demo, which is almost ready. Like mentioned it features hybrid rasterization and path tracing of triangle meshes using stackless kd-tree traversal. The following images show renders of Crytek's popular Sponza model with the primary rays being rasterized and two additional bounces being path traced at FullHD.

Offline girthquake
« Reply #5798 - Posted 2017-11-19 06:59:46 »

Decided to start learning some 3D with libGDX. Got inspired by this to make some 3D grass.

<a href="http://www.youtube.com/v/dboU8KWxQ70?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/dboU8KWxQ70?version=3&amp;hl=en_US&amp;start=</a>

It uses 30,000 decals. Took me a couple weeks to smash my head against it, made the wind adjustable today Yawn

Offline h.pernpeintner

JGO Knight


Medals: 64



« Reply #5799 - Posted 2017-11-19 14:09:09 »

VERY NICE!! Smiley

I nearly finished my implementation of compute shader based two-phase occlusion culling for a self-feeding gpu render pipeline Smiley Inspired by the slides from RedLynx. Very impressive that this system can simply be put on top of an existing renderer and performs like f* hell.... and provides proper occlusion culling for arbitrary scenes without the need to distinguish between occluders and occludees. Just a perfect system Oo

EDIT: The system uses a highz depth pyramid from the last frame, culls bounding boxes of all objects against it, renders the visible objects, refreshes the depth pyramid and renders the false occluded objects. Made a demonstration video, sorry for the crappy assets and the crappy demo Smiley The 7-8 cars have roughly a million vertices combined. In the video, I switch between occlusion culling enabled/disabled and set the occluding plane visible/invisble, to show how occlusion culling influences the frame time.

<a href="http://www.youtube.com/v/hIJHpLpGidQ?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/hIJHpLpGidQ?version=3&amp;hl=en_US&amp;start=</a>
Pages: 1 ... 192 193 [194]
  ignore  |  Print  
 
 

 
xxMrPHDxx (13 views)
2017-11-21 16:21:00

xxMrPHDxx (10 views)
2017-11-21 16:14:31

xxMrPHDxx (10 views)
2017-11-21 16:10:57

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

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

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

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

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

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

Archive (875 views)
2017-04-27 17:45:51
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

SF/X Libraries
by SkyAphid
2017-03-02 06:38:56

SF/X Libraries
by SkyAphid
2017-03-02 06:38:32

SF/X Libraries
by SkyAphid
2017-03-02 06:38:05

SF/X Libraries
by SkyAphid
2017-03-02 06:37:51
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!