Java-Gaming.org Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (804)
Games in Android Showcase (239)
games submitted by our members
Games in WIP (868)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 ... 123 124 [125] 126 127 ... 216
  ignore  |  Print  
  What I did today  (Read 3665266 times)
0 Members and 5 Guests are viewing this topic.
Offline elect

JGO Knight


Medals: 76



« Reply #3720 - Posted 2016-02-15 15:52:23 »

One does it generally for comparison, theadgentd, there are no other ways afaik to get an exact rendering
Offline theagentd
« Reply #3721 - Posted 2016-02-15 17:32:30 »

I decided to write a small test program to show off the visibility functions of AOIT and FOMOIT compared to a perfect visibility curve (= AOIT with infinite number of samples).



Gray: perfect visibility curve reference
Red: FOMOIT, 15 coefficients (what fits in 8xRGBA16F textures), 64 bytes per pixel
Green: AOIT, 16 nodes (packed into 4xRGBA32UI textures), 64 bytes per pixel

Note how FOMOIT actually follows the curve very closely. We do see some ringing at the sharp dip near the middle of the curve, but the biggest issue is that if the depth range of the scene is increased the curve would be stretched to cover the depth range, so errors get bigger.

It's clear that AOIT has removed a large number of nodes and is underestimating the visibility slightly in many cases, but the overall quality of the curve is very high, and it's possible to increase the number of nodes all the way up to 32. AOIT isn't actually completely order-independent, as nodes are merged and removed in the order they're rendered, so the exact shape of the curve DOES depend on the order the geometry is rendered at. In particular, geometry sorted perfectly from front to back seems to suffer from some big banding and precision issues at only 16 samples. Random order generally works the best here, something that could be a good thing to keep in mind.

Performance:
FOMOIT: 42ms
AOIT: 31ms

AOIT's advantage in performance comes from bandwidth reductions. FOMOIT first writes to all 8 textures (64 bytes per fragment) for every single particle fragment to construct the visibility curve, then in the second pass the entire curve needs to be read back again from the textures for each particle fragment again. With so much data, the texture cache is thrashed pretty hard, so pretty much all of this data is reread for each fragment. Add a massive amount of overdraw and you get an insane amount of bandwidth used. AOIT's first pass only writes 12 bytes of data (alpha+offset, then update linked list texture), but also does atomic operations. Still, the linked list writing is around 5x faster than writing to 64 bytes per pixel. The linked lists are only traversed once per pixel, not once per fragment (pixel*overdraw), so traversing the list and building the AOIT visibility curve is pretty fast too. The WBOIT pass at the end is almost identical performance-wise for both AOIT and FOMOIT as they read the same amount of data and do very little math.

Now, time to implement AOIT in a compute shader! =D

One does it generally for comparison, theadgentd, there are no other ways afaik to get an exact rendering
I test my algorithms on particles mainly, so I would simply sort all particles on the CPU.

Myomyomyo.
Offline elect

JGO Knight


Medals: 76



« Reply #3722 - Posted 2016-02-15 17:55:56 »

Is it possible to take a look to your code?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline theagentd
« Reply #3723 - Posted 2016-02-15 20:21:20 »

Hah! Just managed to port AOIT to a single pass compute shader. In worst case scenarios it's almost twice as fast!!! So... No linked ists = bounded memory usage, no temporary textures so no memory overhead whatsoever for the entire algorithm, higher depth precision and higher performance, AND OGL3 support if ported to a fragment shader since it doesn't use any compute shader specific features! If anyone's sitting on an old OGL3 GPU, please contact me so I can have you test it!!!

Is it possible to take a look to your code?
I will try to release a couple of things pretty soon. Hopefully within a few days. x___x

EDIT: Ported the shader to a fragment shader. Had to emulate some GLSL packing instructions and use a uniform buffer instead of a shader storage buffer. I will probably use texture buffers to not be limited to a certain number of particles in the future. Anyway, the shader runs on OpenGL 3.1 (.1 needed for uniform buffers) and I've confirmed it works correctly on an Intel HD2500, which technically supports OGL4, but not compute shaders, atomic operations or image-load-store. The only catch is that it took a solid 300ms per frame when zoomed in on a cloud of particles..... Still decently fast when compared to FOMOIT or stochastic OIT. A fun thing was that uniform buffers turned out to be faster than shader storage buffers by a solid 20% or so.

EDIT ": It's worth noting that a HD2500 barely manages 100 GFLOPS, while just one of my desktop GTX 770 manages 3500 GLFOPS, so the numbers aren't unreasonable considering how unoptimized the whole thing is.

Myomyomyo.
Offline Coldstream24

JGO Ninja


Medals: 82
Projects: 1
Exp: 4 years


You can fill that void inside with programming, but you'll never return a value.


« Reply #3724 - Posted 2016-02-16 09:14:59 »

As of today, I have officially begun the development of a game (collaboration with two others) with my game engine. Wish me luck guys  Tongue

My website: http://www.onedropgames.com/
My soundcloud: http://www.soundcloud.com/coldstream24
Creator of the Morningside Engine, co-founder of Onedrop Games.
Offline elect

JGO Knight


Medals: 76



« Reply #3725 - Posted 2016-02-16 09:47:22 »

A fun thing was that uniform buffers turned out to be faster than shader storage buffers by a solid 20% or so.

It's normal, UBOs are, at worst, as fast as the SSBOs, given the features read only, fixed and smaller size, incoherent access and (usually) local memory locability
Offline chrislo27
« Reply #3726 - Posted 2016-02-16 15:50:10 »

Added a third dimension of depth to the pseudo-3D orthographic thingy. I feel like this could be used in a Super Paper Mario-esque way where the scene appears flat but you can go into "3D" for a while.

gfycat link
Offline J0
« Reply #3727 - Posted 2016-02-16 16:04:40 »

my game engine
Hey Coldstream! Could you provide a wee bit more information about that game engine of yours? Is it 2D, 3D? Pure Java? Smiley

Offline Coldstream24

JGO Ninja


Medals: 82
Projects: 1
Exp: 4 years


You can fill that void inside with programming, but you'll never return a value.


« Reply #3728 - Posted 2016-02-16 20:07:59 »

@J0: it's a 2D Java game engine built from the ground up, integrating jBox2D as a physics engine.
I had thought about putting a thread in the WIP board about it, but then I saw the stance on engines and thought I'd better wait until I had something with a little more game in it. When I do get around to making a post there I'll go far further into specifics.

My website: http://www.onedropgames.com/
My soundcloud: http://www.soundcloud.com/coldstream24
Creator of the Morningside Engine, co-founder of Onedrop Games.
Offline Gornova
« Reply #3729 - Posted 2016-02-16 20:20:07 »

working on a strategy game, just with Swing.

My aim is to build a prototype, some mechanics. Almost forgot about how easy is to build an user interface with swing these days!

Blog | Last game Number+
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline chrislo27
« Reply #3730 - Posted 2016-02-17 06:05:04 »

Been posting a lot of the orthographic 3D thingy lately but I'm pretty happy with this one. I redid (some of) the cover screenshot from Mind the Gap with the new engine, with a fancy transition between the old view and the new view.

Before and after:



Gfycat link of the transition

I've really realized how... bad my art was two years ago.
Offline J0
« Reply #3731 - Posted 2016-02-17 12:10:53 »

-snip-
Shit I still have this game in my Downloads file Pointing

Do you think you could make the coins rotate?


(Edit: wanted to post something here, realised I'm already the last post, so I'll just add that down here)


People! I think I discovered how to counter being bored with a project! You do know that moment when you're not that much involved in a personal project for a few days before getting back to it, right? (You know it, don't deny that).

Well! I have found the ultimate solution. *drum rolls* Have two ongoing projects at once! Roll Eyes

No, seriously, it works! For the time being, whenever I don't feel like coding or making the art for Alba — my game —, I write my novel! Then as soon as I have enough of doing that, I find new inspiration for Alba Grin This is effing magic.

J0 Smiley

Offline chrislo27
« Reply #3732 - Posted 2016-02-17 15:59:52 »

Do you think you could make the coins rotate?

I was thinking of doing that, but because of how this isn't true 3D and is just the illusion of depth (stretched quads), rotations other than right angles are really difficult.

I'll try to figure this out and will edit this post with an animation if I manage to get it working.

Kinda working prototype here. The points basically are moving in a diamond shape inside the block's square top, so it's not a perfect circle (although I think spherical interpolation would help more). The quad also flips after the points cross each other, but I'm okay with that.
Offline basil_

« JGO Bitwise Duke »


Medals: 418
Exp: 13 years



« Reply #3733 - Posted 2016-02-17 19:26:10 »

i updated my interwebsite to use html-5.
Offline boxsmith
« Reply #3734 - Posted 2016-02-18 00:01:03 »

@basil_ The pictures up there all look gorgeous. What did you use to put together the GUI in the pictures under /lws_shots?
Offline elect

JGO Knight


Medals: 76



« Reply #3735 - Posted 2016-02-18 07:36:52 »

link?  Tongue
Offline basil_

« JGO Bitwise Duke »


Medals: 418
Exp: 13 years



« Reply #3736 - Posted 2016-02-18 09:01:16 »

it's http://memleaks.net/ .. but the html5 part is more ironic. Smiley

@boxsmith : thanks! it's plain swing with a modded https://github.com/Insubstantial look-and-feel using lwjgl 2.9.x and a gl-canvas.
Offline elect

JGO Knight


Medals: 76



« Reply #3737 - Posted 2016-02-18 11:27:37 »

http://imgur.com/iUmZMgw

FF 45.06b x64
Offline basil_

« JGO Bitwise Duke »


Medals: 418
Exp: 13 years



« Reply #3738 - Posted 2016-02-18 13:13:53 »

looks about right. Wink

http://www.w3schools.com/tags/tag_doctype.asp
Offline elect

JGO Knight


Medals: 76



« Reply #3739 - Posted 2016-02-18 14:43:34 »

I thought it was an error  Tongue
Offline Mac70
« Reply #3740 - Posted 2016-02-18 21:42:56 »

Had some fun with LWJGL 3 and contexts in OpenGL, here is example result:


There are no 6 textures loaded in 6 different windows: all windows use the same texture, loaded in offscreen window.

Code:
http://www.java-gaming.org/?action=pastebin&id=1406
This code is very simple, I compressed it into very basic example of how to share resources between multiple windows. In case of Windows, this must be offscreen window and it must be not current on any thread while creating new window bound to it (but after that, you are free to make it current again - just make sure to call "glfwSwapBuffers(offscreenWindow)" each time you load new texture/model etc.).
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #3741 - Posted 2016-02-19 18:31:41 »

Been working a lot on my pokemon game!

Edit:
Fixed



You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline J0
« Reply #3742 - Posted 2016-02-19 19:35:55 »


Hey Hydroque, could you send that pic back? I can't seem to be able to see it. persecutioncomplex

As a side note, I was bored this afternoon (please do not refer to one of my posts above Grin ), so I quickly made this (sorry for laggy gif):
Click to Play


J0

Offline cylab

JGO Kernel


Medals: 195



« Reply #3743 - Posted 2016-02-20 15:09:54 »

Finished drawing a dog head:


Turns out, that I don't really have a strategy to drawing fur other than stroking a lot...

Mathias - I Know What [you] Did Last Summer!
Offline J0
« Reply #3744 - Posted 2016-02-20 17:04:28 »

Turns out scanning A3 hand-drawn textures with an A4 scanner is a pain in the arse... persecutioncomplex

Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #3745 - Posted 2016-02-20 18:00:32 »

I think your pig looks fantastic! However, the method you are doing with shading is your problem. Try making the darkest areas light, then enhancing it and the areas around it. You shouldn't make any hard streaks and PM me if you want to see how I did mine. Turns out I draw cats better than dogs >.>

Good work tho Tongue

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline Coldstream24

JGO Ninja


Medals: 82
Projects: 1
Exp: 4 years


You can fill that void inside with programming, but you'll never return a value.


« Reply #3746 - Posted 2016-02-20 19:06:56 »

@cylab - I think it looks great and honestly a great effort for drawing fur. Fur/hair/feathers are some of the hardest things to draw.

My website: http://www.onedropgames.com/
My soundcloud: http://www.soundcloud.com/coldstream24
Creator of the Morningside Engine, co-founder of Onedrop Games.
Offline orange451

JGO Kernel


Medals: 564
Projects: 8
Exp: 8 years


Your face? Your ass? What's the difference?


« Reply #3747 - Posted 2016-02-20 19:46:30 »

Anything cool made w/ Vulkan yet? Smiley

First Recon. A java made online first person shooter!
Offline Hydroque

JGO Coder


Medals: 25
Exp: 5 years


I'm always inspiring a good time.


« Reply #3748 - Posted 2016-02-20 20:59:16 »

@cylab - I think it looks great and honestly a great effort for drawing fur. Fur/hair/feathers are some of the hardest things to draw.

I found that was the easiest thing to draw when I drew a dog (and a cat), and I have little experience drawing.

You think I haven't been monitoring the chat? http://pastebin.java-gaming.org/c47d35366491fHere is a compilation <3
Offline death_angel
« Reply #3749 - Posted 2016-02-20 23:00:55 »

Not java related but i started the challenge one game a month and already finished the february game
http://gamejolt.com/games/home-invasion/127667

I am just a guy
Pages: 1 ... 123 124 [125] 126 127 ... 216
  ignore  |  Print  
 
 

 
Riven (579 views)
2019-09-04 15:33:17

hadezbladez (5501 views)
2018-11-16 13:46:03

hadezbladez (2398 views)
2018-11-16 13:41:33

hadezbladez (5761 views)
2018-11-16 13:35:35

hadezbladez (1220 views)
2018-11-16 13:32:03

EgonOlsen (4660 views)
2018-06-10 19:43:48

EgonOlsen (5681 views)
2018-06-10 19:43:44

EgonOlsen (3196 views)
2018-06-10 19:43:20

DesertCoockie (4094 views)
2018-05-13 18:23:11

nelsongames (5114 views)
2018-04-24 18:15:36
A NON-ideal modular configuration for Eclipse with JavaFX
by philfrei
2019-12-19 19:35:12

Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08
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!