@RevStudioGames It snapped to a "modified" perspective grid, but the pixel shapes are drawn in separate pass using a lot of compute shaders to decide what should be drawn and where, based on data from each object. One limitation is that I can't sample the engine's attenuation/shadow data.
Seems pixel shimmering is harder to notice under the lighting and shadows in my previous test, so here is another one with more complex camera movement! Sorry if it makes you feel dizzy 😋 #godotengine#gamedev#indiedev#pixelart
Stress test for my 3D pixel renderer, ported to Godot! My old approach had a huge problem, it broke at some camera angles and perspectives, so I fully redesigned it. This test also covers dynamic lighting and shadow maps. What should I test next? #godotengine#gamedev#indiedev
Stress test for my 3D pixel renderer, ported to Godot! My old approach had a huge problem, it broke at some camera angles and perspectives, so I fully redesigned it. This test also covers dynamic lighting and shadow maps. What should I test next? #godotengine#gamedev#indiedev
@yamiassu It snapped to a "modified" perspective grid, but the pixel shapes are drawn in separate pass using a lot of compute shaders to decide what should be drawn and where, based on data from each object. One limitation is that I can't sample the engine's attenuation/shadow data.
@Deepsub_Game Texel splatting was what I tried at the very beginning, but it actually didn’t work quite well. It just "projects" pixels onto the geometry, and your overall art style becomes more like 3D with pixelated textures instead of a crisp pixel style.
@PtVHVQ2FPQ51994 It's a bit more complex than just applying a filter 😊 I added a new pass to Godot rendering pipeline and used a ton of compute shaders to handle this stable 3d pixel style.
@RevStudioGames this technique will need a bit more tricky approach, snapping to a pixel grid is the usual way to handle pixelated textures in 3D, but in naive pixelation the camera can only be snapped to screen space
@buzzybats One trick the old method used to stabilize the pixel pattern was to smear pixel shapes to "follow" the perspective. But this bring a lot of problems, since the original shape couldn't always be reconstructed reliably, sometimes leaving holes like these
New update on 3D pixel-art renderer. I tested it on sphere, turn out it was probably the hardest shape to make all the tricks works on, but now it stays same stable as cube. I also improve the edge pixels and fix depth test. Let me know what you think #gamedev#indiedev#pixelart
@PanSzymaniak There are 3 different pixel style in 3D, all produce different art style: use pixelated texture, use 3D sprites (like Enter the gungeon game) or do naive pixelation or viewport. COMPOUND use the first way, I'm targeting on third one to solve the main issue connected to it
@Random832@leafsheepflo It can work fine for a 2D game, but I want an isometric-style view with a perspective camera that works well with pixel art look. My main goal was to support perspective distortion and keep it as stable as possible. Fixing the shimmering was just a extra bonus :)
@Random832@leafsheepflo In my previous test I use some camera snapping https://t.co/hSgaPTABRC It helps with pixel shimmering because it stops the downscaled pixel centers from constantly shifting, but it make this clunky movoment
Working on a new technique to make pixel effect more stable in 3D. It almost completely removes pixel shimmering and can support also a perspective. My idea is to merge the crisp 2D pixel sprite look with the 3D world.
#gamedev#indiedev#pixelart
@leafsheepflo Its not that simple. I'm using some global grid, otherwise pixels will not line up with each other at all in the depth test, but pixel shapes still has some distortion because the camera has strong perspective, but with less distortion it would be barely noticeable.