What I did today

Today, I graduated for Physics and Math on high school level. (self-education next to my job, I graduated 6 yrs ago)

This means quitting jobs and starting a Bachelor of Physics one month from now.

3 Likes

Been implementing a demo for runtime lightmap generation via lightmap-space rasterization/rendering and performing irradiance sampling with simple ray tracing in the fragment shader. The whole thing is OpenGL 3.3.

6 Likes

Simply enjoying my Linux setup for some easy programming:

BTW: I am having Linux on a secondary 120 GB SSD of 20 euro. A worry-free way to enjoy the experience.

3 Likes

Is that i3wm or xmonad? I recently gave a try with Budgie and got it to get a macOS like UX.

If I can get a workspaces overview (it already has horizontal workspaces) and an easy manager, it’d be great and I can totally ditch Windows.

2 Likes

Hey everyone! Just joined, and saw this thread. I’m working on building a location based tower defense MMO, back end and client (libgdx) in Java.

It’s been more than a year into this project now, I suppose I’ll start posting updates! :slight_smile:

The back end is the most interesting part, however I’ve been spending the last few months building out the renderer - this is the result so far. Rendering Geo data is hard! LibGDX is a bit thread-hostile too, which has made some optimizations tough but working through it.

4 Likes

that’s really cool! looking forward to more updates :slight_smile:
the rendering seems a little strange, like it’s warped or something when you move the camera around. is the fov really high?

Great question. The FOV is 45 - I think the issue is the aspect ratio. I am stretching the view port to fit my widescreen monitor. I’ll see if I can figure that out this week.

Making progress with a small path traced, lightmapped ambient occlusion demo. Here is some video:


At some places in the video you can see where I trigger a quick rebuild of the lightmap, which happens very quickly, as the light around the sampled hemisphere of every voxel face is progressively accumulated into a RGBA32F texture render target. Also, the progressive acculumation uses the native/ROP blending instead of manual blending in the shader via two ping-pong textures.
6 Likes

Last night my “arcade cabinet” guy came through and fixed my Virtua Fighter monitor. He had taken the chassis but couldn’t figure out what was wrong, so he sent it to HIS guy in California. I can’t believe my guy has a guy, and I wonder if his guy has a guy because the third guy must be really really smart. I’m kinda excited as that was the only thing wrong with it. I expected to fix the monitor, then something else wouldn’t work, rinse and repeat 5 times. But no, the cabinet just needs a good clean and that’s it! I think that makes 7 arcade cabinets (if you count the arcade1ups which most people don’t), and the two I made. Few more maybe I can open a neighborhood arcade.

That looks great! I really need to make progress on shading.

1 Like

Bugs fixed - building selection more reliable now. Had to fix lots of things on client and server.

“too long didn’t watch” version of video:
Bugs found with not able to take all buildings:
- missing taking lock in backend, leading to overlapped shards
- shard split sometimes breaking “source” tower information
- shard join removing routes, and routes not getting added back
- not sorting renderable intersections at map-level (was only doing at segment-level)
- buildings that have meshes split across the map!?!?
- not related but fixed: thread hostile shape builders
- feature ids only unique to a tile

Update - looks like libgdx’s ExtendViewport solves my aspect ratio woes.

Been testing w/ the SFO Airport a lot - pretty complicated building and also has water nearby. Been working on getting water rendering - had to do a lot including deploying a new service that proxies the mapbox vector tiles into something my backend can understand. I was using com.wdtinc:mapbox-vector-tile and it was not handling geojson rings correctly - thus I wasn’t even getting the water data I wanted to render!

3 Likes

This is quite a fascinating project - needs its own dedicated thread I think.

Further updates will be here: TDWorld Development Thread

Code for this demo is now up with commit: https://github.com/LWJGL/lwjgl3-demos/commit/57376fde5906b8431664a2b3ea46d753472a7c3e

Just got done with crunch. Man, crunch is really hard. I never imagined I would get burnt out on making a game, but 12 days straight for 10 hours really makes you burn out. I guess it’s just training for the real crunch.

With that being said, this game is going to be really really fun if you like those sort of games as an open world.

Your first guess is pretty much correct. It’s sway though. I would totally ditch Windows for it, but two weeks ago I installed a GTX 1650 (to play KSP on Windows). Back on Linux: open-source nvidia driver = mesa (= nouveau) does not support this new GPU yet, so I was in a bunch of pain, because sway does not support nvidia. 20 min. ago I decided to ditch Wayland for a while and now am on Budgie, haha!

Sway was very easy to install, Wayland requires less hassle than X11. Really love it. You will have to do some more configuration afterwards though, which means you create your own WM a little.

EDIT: applications are shared so when I started firefox in Budgie it immediately resumed where I was last time, which was this topic. Makes it easy to switch window managers on the run.

Added Progressively Ordered Primitive (POP) Buffer LOD [1] to the voxel rendering. This is a LOD scheme which was originally developed to allow displaying a progressively refined mesh while downloading more mesh data over the wire on the web. Its advantage is that coarser LOD levels do not need additional mesh data other than sharing parts of the original full-refined mesh, whose vertices only need to be sorted/ordered depending on whether the quantization of vertex positions generates a degenerate triangle/face. Its disadvantage is that it does not necessarily preserve large features in high LOD levels but rather features that happen to fall onto powers of two coordinates (due to the quantization used by the LOD scheme).
Adding that to the VoxelLightmapping demo (including vertex morphing, as suggested by [2]) looks like this:


[1]: https://x3dom.org/pop/files/popbuffer2013.pdf
[2]: https://0fps.net/2018/03/03/a-level-of-detail-method-for-blocky-voxels/
Commit: https://github.com/LWJGL/lwjgl3-demos/commit/9c4a60ef25e7b741c0b819671d61b43f26be4a66
8 Likes

logged in for like the first time in forever

4 Likes

I started redesigning my website, while learning Figma and UI/UX.

It’s fun and exciting. Mostly will put this into action by next month if all goes well.

4 Likes