Ny logga till kodsnack.

oozey mess
noise dept.
he wasn't even looking at me and he found me
NASA
trying on a metaphor

if i look back, i am lost

Kiana Khansmith
Not today Justin
No title available
Alisa U Zemlji Chuda
KIROKAZE
Show & Tell
Misplaced Lens Cap
sheepfilms
No title available
Mike Driver
Lint Roller? I Barely Know Her

Andulka
🪼
wallacepolsom

seen from Singapore

seen from United States

seen from United States
seen from Netherlands
seen from United States
seen from United States

seen from United States

seen from Malaysia
seen from United States

seen from Brazil
seen from Hong Kong SAR China

seen from United States
seen from China

seen from Australia
seen from Canada

seen from United States
seen from Italy

seen from United States

seen from United States
seen from United States
@bitkrig
Ny logga till kodsnack.
More sprites for a game that doesn't exist.
Sprites for a game that doesn't exist.
I'm going to Australia soon, and am pretty excited. First time on the southern hemisphere! So I bought my first DSLR.
Looking forward to spending a few weeks in a climate that's at least 30 degrees Celsius warmer.
4k zombies
Couldn't find a true 4k wallpaper I liked, so I pixeled a little zombie horde.
edit: Should have realised Tumblr would ruin it. Here's an imgur link to the full resolution png: http://i.imgur.com/3CdtwPX.png
Oddly aesthetic bug.
Hackweek - Thursday
This day was mostly spent debugging problems, and doing it in a stupid way. I think now the intense hacking is starting to get to me, and I am being inefficient.
I have been having problems that I've blamed on myself and my inability to get the math right - in particular I couldn't get the alpha sort to work as it should, things were behaving oddly.
Finally, I managed to figure out that the problem I was having was really an OpenGL issue: I wasn't handling my VAOs and VBOs correctly, and things got broken in ways that I thought looked like bad math.
I could have figured this out much sooner by using something like vogl or just thinking calmly about what I was seeing. Instead I've been changing things here and there and staring at a gdb prompt.
You'd think I would have learned this lesson by now, but to my defense it's been years since I wrote software in plain C, and years since I last wrote any 3D code at all.
VAOs and VBOs
So, the key insight that solved this for me was when I read that OpenGL 3.2+ core profile no longer allows you to use the default VAO, instead requiring that all VBO draw calls are wrapped in a VAO. When I just started out I created two different concepts, one I called mesh which wrapped a VBO for vertex data and an optional VBO for index data, and one I called renderable which wrapped a VAO. When I then started rendering chunks, I never actually created any renderables, I just created meshes and called glDrawArrays directly.
Unfortunately, this worked. Sort of. Until I started rendering in passes.
Now I have merged these into a single mesh object which holds the VAO and VBOs.
Now I need to go back and fix the controls and collisions...
Lighting fixes.
Hackweek, wednesday
Yesterday I got stuck on collision detection. I have the Christer Ericson book but haven't read it in a long time, and clearly I've forgotten most of it. So today I decided to focus on something simpler, and implement lighting. I've got basic sunlight working now - no propagation yet, and the AO needs to flip some triangles to look good - I get artifacts seen above as described in this article. I'm not implementing that exact lighting algorithm, but the fix of flipping certain triangles should work for me too, I just need to implement it.
Still a long way to go before I have anything more than a lame tech demo...
Debugging collisions.
hackweek11 has begun
Alternative cover for kodsnack.
New cover art for our podcast.
OK, so a screenshot doesn't really do the trick, but... it works. It actually works! I can load an .mp3, link it to an output and press play, and it constructs the effect chain, links the outputs, matches the signal formats, and plays the .mp3. Via callbacks from C to a cgo shim to a Go shim to a Go callback (phew), it even plays the effect flow in a background goroutine, and allows for interrupting the flow midway.
Yes, there is tons of work left to do, but the basic functionality is there. Right now, it feels like the biggest issue that needs a lot of work is the UI.