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 ... 192 193 [194]
  ignore  |  Print  
  What I did today  (Read 2094940 times)
0 Members and 3 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: 486



« 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: 982
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: 1327
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: 982
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: 486



« 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: 486



« 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: 71



« 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>
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Ecumene

JGO Kernel


Medals: 196
Projects: 4
Exp: 8 years


I did not hit her! I did not!


« Reply #5800 - Posted 2017-11-26 05:02:53 »

I spent a week filling my wordpress site with my projects and I just made my first post about Silicon Tycoon! Check it out here http://ecumene.xyz

This was also posted in the Silicon Tycoon thread, but it doesn't look like that has many watchers so I might just quietly work on the game on my wordpress.

Offline abcdef
« Reply #5801 - Posted 2017-11-27 04:22:44 »

In my quest to make my current project GWT compatible I wrote a pure java zlib inflater for my PNG decoder
Offline Slyth2727
« Reply #5802 - Posted 2017-11-28 05:10:33 »

Created a visualization of a method used to solve the inscribed rectangle problem (an easier variant of the inscribed square problem https://en.wikipedia.org/wiki/Inscribed_square_problem). The points where the mesh intersects are solution points for the center of the rectangle, one part of the method.

Offline Mac70
« Reply #5803 - Posted 2017-11-29 00:09:39 »

Started making automatic updater for one of my applications receiving long-time support:



It fetches informations about last updates from GitHub releases API and then compares version number to currently installed version - if it's higher than current version, changelog entry gets appended. UI is not finished yet and automatic updating and installing is work in progress, but I'm happy with how it turned out so far.
Offline Guerra2442

Senior Devvie


Medals: 33
Exp: 2 years


Guerra24


« Reply #5804 - Posted 2017-11-29 08:57:37 »

Implemented 3D Volumetric Light by raytracing the scene and calculating the volume using the shadow map.

Click to Play


Volume only. It's rendered at half-res + gaussian blur(also at half-res).

Click to Play

Working on Light Engine.
Offline princec

« JGO Spiffy Duke »


Medals: 982
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #5805 - Posted 2017-11-29 09:09:47 »

Looks ace. Volumetric lighting is one of the nicest effects.

Cas Smiley

Offline KaiHH

JGO Kernel


Medals: 486



« Reply #5806 - Posted 2017-12-06 22:03:28 »

Today (actually the last five days) I started my first electronics project ever (never soldered before or did _anything_ in that regards). So I got myself covered with electronics stuff, a soldering iron, a multimeter (I basically had NOTHING!) and practiced soldering on male headers and prototype boards. Then I was going to go into Arduino development with a small Arduino Nano. Read a little bit about it until I found out about the popular and veeeery cheap ESP8266-01 2.4GHz WiFi module. That is a more capable microcontroller in its own (faster (even 32-bit) CPU, more (1MB) flash memory and... yeah... WiFi!) than the Arduinos and decided to build a small WLAN repeater using the fantastic esp_wifi_repeater project.
Was a lot of fun figuring out the wiring and an actual _working_ way to flash a new boot image/firmware onto the ESP module and this is the working result:

(soldering bridges is a freaking nightmare)

In the end I have to conclude: Writing Java and running it on a PC is still more fun!
Offline CommanderKeith
« Reply #5807 - Posted 2017-12-07 00:06:12 »

Nice project Kai!
I've been enjoying electronics lately too. I soldered my broken car key remote and bought a bunch of electronics on ebay. Servos,  sensors and arduinos, to have some fun with soon.
I've been enjoying this blog to keep up to date with what's going on in the system on a chip SOC and single board computer SBC market:
https://www.cnx-software.com/2017/12/04/top-5-most-powerful-arm-sbcs-development-boards-in-2017-early-2018/


Offline Gornova
« Reply #5808 - Posted 2017-12-07 08:34:08 »

Yesterday I've updated my prototype Drone Swarm to version 0.4, more info here

I've also put more effort on blog side and explained some thoughts on gameplay and focus on my blog

As usual is very hard to get some feedback on games in early (very early) development, so idea on how improve on that side is welcome

Blog | Last game Drone Swarm
Offline FabulousFellini
« Reply #5809 - Posted 2017-12-07 22:54:02 »

I started to learn LibGDX while I watched the entire Defenders series, and made the basis of a pong game to learn the basics and set up.  You can play 2 player and hit the ball back and forth and score, but that's it so far. 

-FabulousFellini
www.fabulousfellini.com
Offline abcdef
« Reply #5810 - Posted 2017-12-10 11:26:12 »

Finished up getting my html renderer to work by using GWT. One thing I have noticed is, is that webgl is much stricter when it comes to the standards than opengl is. I have had many issues on the implementation that needed fixing because my opengl code worked but was not strictly correct
Offline h.pernpeintner

JGO Knight


Medals: 71



« Reply #5811 - Posted 2017-12-11 10:21:50 »

I finally recorded a video of my instancing compatible gpu skinning system Smiley It's capable of blending up to 4 animations per entity, but I don't have example data, so a single animation per object has to be sufficient for demo purpose. Each instance has seperate materials, animation controllers (different playback speed for example) and so on.

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

My occlusion and frustum culling mechanisms are deactivated currently. The animation state (which is the current animation frame?) is calculated on the cpu for up to 4 weighted animations per entity. On update (animation frame changed) the data is (multi) buffered to the GPU. The GPU then traverses bones from buffers, interpolates, blends animations etc, so it gets quite cheap.

For each instance, a AABB is calculated. So in theory, every instance can be culled with an instance aware culling mechanism. I'm currently implementing this, but it's not an easy task Smiley
Offline Mac70
« Reply #5812 - Posted 2017-12-13 22:14:39 »

Implemented isometric projection in my application:



This took MUCH more time than it should due to codebase being pretty massive and many years old, with assumption of only two kinds of camera existing (top-down and FPP) everywhere.
Pages: 1 ... 192 193 [194]
  ignore  |  Print  
 
 

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

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

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

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

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

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

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

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

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

theagentd (1426 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!