mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.2K
active users

Hey #OpenGL and #graphics people, are there any graphics profiling/instrumentation/frame debugger solutions which work with OpenGL on modern non-Windows systems? Something à la #RenderDoc but that works on #Wayland or Apple Silicon Macs. To do frame debugging right now I have to log out of my Wayland session on my #Linux desktop and log in to #X11, which is uber-broken on my mixed DPI fractional scaling multi monitor setup... #programming #graphicsprogramming #macdev

jglrxavpok<p>I have been tracking a GPU crash in my acceleration structure code for a week.</p><p>The cause? It was because of the Mesa version I built myself a month or so ago.<br>v21.1.5 runs without issues...</p><p>For some reason my locally built version did not like to update BLASes.</p><p><a href="https://mastodon.gamedev.place/tags/vulkan" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>vulkan</span></a> <a href="https://mastodon.gamedev.place/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
All Things Open<p>🚀 NEW on We ❤️ Open Source 🚀</p><p>Jim Hall dives into DOS graphics with a simple C program that draws Sierpinski’s Triangle using just a few lines of code. No toolkits. Pure retro joy.</p><p><a href="https://allthingsopen.org/articles/intro-dos-graphics-programming" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">allthingsopen.org/articles/int</span><span class="invisible">ro-dos-graphics-programming</span></a></p><p><a href="https://mastodon.social/tags/WeLoveOpenSource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WeLoveOpenSource</span></a> <a href="https://mastodon.social/tags/FreeDOS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FreeDOS</span></a> <a href="https://mastodon.social/tags/RetroComputing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RetroComputing</span></a> <a href="https://mastodon.social/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a> <a href="https://mastodon.social/tags/OpenSource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSource</span></a></p>
Matthijs De Smedt<p>Jet lag! Not so great for sleep. But certainly great for getting a few last-minute features into my vacation software rasterizer project. Now it has (hacky) specular lighting and voxel shadows.</p><p>It was refreshing to have some time and energy for hobby coding. It is pretty much complete I guess. Back my normal busy schedule starting today.</p><p><a href="https://metalhead.club/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://metalhead.club/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://metalhead.club/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
Mitch M<p>You ever go down a soft body physics academic papers rabbit hole?</p><p><a href="https://mastodon.gamedev.place/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
Hacker News<p>The Book of Shaders</p><p><a href="https://thebookofshaders.com/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thebookofshaders.com/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/TheBookOfShaders" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TheBookOfShaders</span></a> <a href="https://mastodon.social/tags/Shaders" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Shaders</span></a> <a href="https://mastodon.social/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a> <a href="https://mastodon.social/tags/CreativeCoding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CreativeCoding</span></a> <a href="https://mastodon.social/tags/WebDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebDev</span></a></p>
Matthijs De Smedt<p>So I added early-z mode, late-z mode, and alpha testing. Pretty.</p><p><a href="https://metalhead.club/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://metalhead.club/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://metalhead.club/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
Matthijs De Smedt<p>My software rasterizer supports textures now 🥳 </p><p>Texture filtering is obviously next, but I wonder if I should build a lightmapper instead so these scenes can look better...</p><p>Source: <a href="https://github.com/mdesmedt/swraster-viewer" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/mdesmedt/swraster-v</span><span class="invisible">iewer</span></a></p><p><a href="https://metalhead.club/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://metalhead.club/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://metalhead.club/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
Sos Sosowski<p>In standard C, without architecutre-dependent intrinsics, what is the most performant way of unpacking a 32-bit 8-bpp RGBA value into a 64-bit 16-bpp RGBA value? I need something that will CLEARLY compile into a SIMD instruction, but in standard C.</p><p><a href="https://mastodon.gamedev.place/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.gamedev.place/tags/cprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cprogramming</span></a> <a href="https://mastodon.gamedev.place/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a> <a href="https://mastodon.gamedev.place/tags/gamedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamedev</span></a> <a href="https://mastodon.gamedev.place/tags/indiedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>indiedev</span></a></p>
Amini Allight<p>Question for Vulkan people: Is it possible to usefully use vkCmdDrawMeshTasksIndirectEXT? gl_InstanceIndex seemingly isn't available in task or mesh shaders so I can't figure out how the shaders are meant to know which instances they belong to<br>Am I missing something here?<br><a href="https://mastodon.gamedev.place/tags/vulkan" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>vulkan</span></a> <a href="https://mastodon.gamedev.place/tags/graphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphics</span></a> <a href="https://mastodon.gamedev.place/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a> <a href="https://mastodon.gamedev.place/tags/3dgraphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>3dgraphics</span></a> <a href="https://mastodon.gamedev.place/tags/gpu" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gpu</span></a></p>
Matthijs De Smedt<p>I published the source for my simple software rasterizer written in Rust here: <a href="https://github.com/mdesmedt/swraster-viewer" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/mdesmedt/swraster-v</span><span class="invisible">iewer</span></a></p><p>It's far from perfect, and I haven't even done any performance analysis on it, but I'm happy with releasing it in this initial state. Maybe I'll get to adding texturing support to it at some point as that would be fun.</p><p><a href="https://metalhead.club/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://metalhead.club/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://metalhead.club/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
Hacker News<p>No More Shading Languages: Compiling C++ to Vulkan Shaders [pdf]</p><p><a href="https://xol.io/random/vcc-paper.pdf" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">xol.io/random/vcc-paper.pdf</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/NoMoreShadingLanguages" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NoMoreShadingLanguages</span></a> <a href="https://mastodon.social/tags/CompilingC" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CompilingC</span></a>++ <a href="https://mastodon.social/tags/VulkanShaders" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>VulkanShaders</span></a> <a href="https://mastodon.social/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a> <a href="https://mastodon.social/tags/ShaderDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ShaderDevelopment</span></a></p>
Danylo Hoshko<p>Just added a new combined view mode that combines texture details with lighting info.</p><p>This makes inspecting surface interaction way more intuitive. 🔧💡</p><p><a href="https://mastodon.gamedev.place/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://mastodon.gamedev.place/tags/3D" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>3D</span></a> <a href="https://mastodon.gamedev.place/tags/Rendering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rendering</span></a> <a href="https://mastodon.gamedev.place/tags/TechArt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TechArt</span></a> <a href="https://mastodon.gamedev.place/tags/Shaders" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Shaders</span></a> <a href="https://mastodon.gamedev.place/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a> <a href="https://mastodon.gamedev.place/tags/IndieDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IndieDev</span></a></p>
Hacker News<p>Animate a mesh across a sphere's surface</p><p><a href="https://garden.bradwoods.io/notes/javascript/three-js/animate-a-mesh-on-a-spheres-surface" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">garden.bradwoods.io/notes/java</span><span class="invisible">script/three-js/animate-a-mesh-on-a-spheres-surface</span></a></p><p><a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/AnimateMesh" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AnimateMesh</span></a> <a href="https://mastodon.social/tags/SphereSurface" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SphereSurface</span></a> <a href="https://mastodon.social/tags/ThreeJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ThreeJS</span></a> <a href="https://mastodon.social/tags/WebAnimation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WebAnimation</span></a> <a href="https://mastodon.social/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a></p>
Mai :v_trans:<p>Lol, I knew that debug vs release builds have some performance impact but never thought THAT much. So aparently my rust rasterizer can render 250 moving triangles at ~7 FPS in debug builts but a whoping 40 FPS (!!) in release builds. That's just: WTF? x3</p><p><a href="https://soc.saiyajin.space/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://soc.saiyajin.space/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a> <a href="https://soc.saiyajin.space/tags/rasterizer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rasterizer</span></a> <a href="https://soc.saiyajin.space/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://soc.saiyajin.space/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwaredevelopment</span></a></p>
Matthijs De Smedt<p>Had the itch to get back to basics with graphics this week so I wrote a software rasterizer in Rust. The rasterizer SIMD approach is based on <span class="h-card" translate="no"><a href="https://mastodon.gamedev.place/@rygorous" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>rygorous</span></a></span> 's excellent tutorial series here: <a href="https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">fgiesen.wordpress.com/2013/02/</span><span class="invisible">17/optimizing-sw-occlusion-culling-index/</span></a></p><p>Plenty of work to do like some kind of multithreading scheme and perhaps even textures. But it's always satisfying to see shaded triangles. I'll share the code at some point if I clean it up 🧹</p><p><a href="https://metalhead.club/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://metalhead.club/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
Ibrahim El Hindawi<p>Just rendered my first Vulkan triangle in raw x86-64 Assembly.<br>No C, no C++, no Rust.<br>Pure MASM64. Pure pain. Pure control.<br>This is what it means to go full bare metal.<br>More to come. ⚙️🔥<br><a href="https://github.com/IbrahimHindawi/masm64-vulkan" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/IbrahimHindawi/masm</span><span class="invisible">64-vulkan</span></a></p><p><a href="https://mastodon.gamedev.place/tags/Vulkan" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Vulkan</span></a> <a href="https://mastodon.gamedev.place/tags/AssemblyLanguage" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AssemblyLanguage</span></a> <a href="https://mastodon.gamedev.place/tags/MASM64" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MASM64</span></a> <a href="https://mastodon.gamedev.place/tags/Assembly" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Assembly</span></a> <a href="https://mastodon.gamedev.place/tags/BareMetal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BareMetal</span></a> <a href="https://mastodon.gamedev.place/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://mastodon.gamedev.place/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a> <a href="https://mastodon.gamedev.place/tags/HandmadeHero" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HandmadeHero</span></a> <a href="https://mastodon.gamedev.place/tags/LowLevelDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LowLevelDev</span></a> <a href="https://mastodon.gamedev.place/tags/x64" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>x64</span></a> <a href="https://mastodon.gamedev.place/tags/OpenGLWho" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenGLWho</span></a> <a href="https://mastodon.gamedev.place/tags/TriangleOfVictory" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TriangleOfVictory</span></a></p>
Mai :v_trans:<p>Currently working on a little <a href="https://soc.saiyajin.space/tags/rasterizer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rasterizer</span></a> after watching the <a href="https://www.youtube.com/watch?v=yyJ-hdISgnw" rel="nofollow noopener" target="_blank">fantastic video</a> from Sebastian Lague on yt.</p><p>Decided to write mine in <a href="https://soc.saiyajin.space/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> with some other techniques than the ones in the video, like using Barycentric Coordinates and calculating an AABB of an tri before iterating over the pixels. The video below showcases the rasterizer trying to process 250 random triangles. (Windowing and the FPS counter are done with <a href="https://soc.saiyajin.space/tags/raylib" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>raylib</span></a>)</p><p>Some artifacts here and there due to Z-ordering issues, but I hope to fix this soon.</p><p>End goal is to write it in such a way that I even might someday can use the rasterizer inside an custom rust <a href="https://soc.saiyajin.space/tags/kernel" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>kernel</span></a> / <a href="https://soc.saiyajin.space/tags/os" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>os</span></a> for basic 3d graphics, ofc to run <br><a href="https://soc.saiyajin.space/tags/doom" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>doom</span></a> on it!!</p><p><a href="https://soc.saiyajin.space/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://soc.saiyajin.space/tags/graphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphics</span></a> <a href="https://soc.saiyajin.space/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a> <a href="https://soc.saiyajin.space/tags/development" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>development</span></a> <a href="https://soc.saiyajin.space/tags/software" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>software</span></a> <a href="https://soc.saiyajin.space/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwaredevelopment</span></a></p>
Ibrahim El Hindawi<p>Vulkan and Win32 APIs ready.<br>Time to mov some data 🔥 <br><a href="https://mastodon.gamedev.place/tags/Vulkan" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Vulkan</span></a> <a href="https://mastodon.gamedev.place/tags/Assembly" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Assembly</span></a> <a href="https://mastodon.gamedev.place/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://mastodon.gamedev.place/tags/EngineDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>EngineDev</span></a> <a href="https://mastodon.gamedev.place/tags/Debugging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Debugging</span></a> <a href="https://mastodon.gamedev.place/tags/Handmade" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Handmade</span></a> <a href="https://mastodon.gamedev.place/tags/LowLevel" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LowLevel</span></a> <a href="https://mastodon.gamedev.place/tags/masm64" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>masm64</span></a> <a href="https://mastodon.gamedev.place/tags/gametech" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gametech</span></a> <a href="https://mastodon.gamedev.place/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a> <a href="https://mastodon.gamedev.place/tags/vulkanengine" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>vulkanengine</span></a></p>
mort<p>So I'm rendering stuff in the following order:</p><p>1. Background image<br>2. Background fluid color, opaque<br>3. Sprites etc<br>4. Foreground fluid color, transparent</p><p>So where there's fluid, you should not see the background image, right</p><p>SO WHY DO I SEE A BACKGROUND IMAGE</p><p>Worse, if I remove the call to draw the foreground fluid, OR make the foreground fluid transparent, IT BEHAVES AS I EXPECT AND THE BACKGROUND IMAGE GOES AWAY</p><p>What the actual fuck</p><p><a href="https://floss.social/tags/gamedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamedev</span></a> <a href="https://floss.social/tags/graphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphics</span></a> <a href="https://floss.social/tags/opengl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opengl</span></a> <a href="https://floss.social/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a></p>
404Not Found