veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

293
active users

#graphicsProgramming

0 posts0 participants0 posts today
UlyssesZhan<p>I probably have discovered a thousand bugs in softwares developed by people other than myself, but this time, for the first time in my life, I found a bug without producing a buggy phenomenon first but by staring at the source codes and deducing mathematical formulas by hand. That was an amazing experience. I wrote a blog article about it: <a href="https://ulysseszh.github.io/programming/2025/07/17/blur-filter.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ulysseszh.github.io/programmin</span><span class="invisible">g/2025/07/17/blur-filter.html</span></a></p><p><a href="https://mastodon.social/tags/development" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>development</span></a> <a href="https://mastodon.social/tags/debugging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>debugging</span></a> <a href="https://mastodon.social/tags/graphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphics</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/imageprocessing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>imageprocessing</span></a> <a href="https://mastodon.social/tags/shader" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>shader</span></a> <a href="https://mastodon.social/tags/pixijs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pixijs</span></a></p>
mort<p>Hey <a href="https://floss.social/tags/OpenGL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenGL</span></a> and <a href="https://floss.social/tags/graphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphics</span></a> people, are there any graphics profiling/instrumentation/frame debugger solutions which work with OpenGL on modern non-Windows systems? Something à la <a href="https://floss.social/tags/RenderDoc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RenderDoc</span></a> but that works on <a href="https://floss.social/tags/Wayland" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Wayland</span></a> or Apple Silicon Macs. To do frame debugging right now I have to log out of my Wayland session on my <a href="https://floss.social/tags/Linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Linux</span></a> desktop and log in to <a href="https://floss.social/tags/X11" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>X11</span></a>, which is uber-broken on my mixed DPI fractional scaling multi monitor setup... <a href="https://floss.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://floss.social/tags/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</span></a> <a href="https://floss.social/tags/macdev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>macdev</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>
Hannes<p>The interactive jellyfish app is online! Check it out in a browser with WebGPU enabled:<br><a href="https://jelly.formaldesign.net" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">jelly.formaldesign.net</span><span class="invisible"></span></a><br>This is the prototype of an interactive experience currently shown at World Expo in Osaka, Japan.<br>Real-time sonification creates an ambient sound scape.<br><a href="https://mastodon.social/tags/webgpu" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webgpu</span></a> <a href="https://mastodon.social/tags/babylonjs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>babylonjs</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/expo2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>expo2025</span></a> <a href="https://mastodon.social/tags/jellyfish" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>jellyfish</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>
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>
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>
Ibrahim El Hindawi<p>500 lines of pure x64 assembly.<br>Just to create a Vulkan instance.<br>No helpers. No C. No safety nets. Just raw MASM64 and the Vulkan headers.</p><p>This is what low-level graphics looks like when you go all the way down.<br>Next up: surface and device creation.</p><p><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/gamedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamedev</span></a> <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/asm" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asm</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/graphicsprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>graphicsprogramming</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/handmade" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>handmade</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/rendering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rendering</span></a> <a href="https://mastodon.gamedev.place/tags/shaderdev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>shaderdev</span></a> <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/devlog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>devlog</span></a> <a href="https://mastodon.gamedev.place/tags/indiedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>indiedev</span></a> <a href="https://mastodon.gamedev.place/tags/reverseengineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineering</span></a></p>
Farbs<p>Shader Programmers:<br>Are vector ops more efficient than scalar (ie if I add two float4s is that the same cost as adding two floats) or did that stop being a thing 15 years ago?</p><p><a href="https://mastodon.social/tags/gamedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamedev</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/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/gpu" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gpu</span></a></p>
Fell<p>I went out of my way to get this copy of GPU Gems from the Internet Archive onto my e-reader and have it look good. It took me three days of messing around. 😅 </p><p><a href="https://archive.org/details/gpugemsprogrammi0000unse" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">archive.org/details/gpugemspro</span><span class="invisible">grammi0000unse</span></a></p><p>This device would be landfill if it weren't for KOReader, which renders pages ten times faster than the official app.</p><p><a href="https://koreader.rocks" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">koreader.rocks</span><span class="invisible"></span></a></p><p><a href="https://ma.fellr.net/tags/eInk" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>eInk</span></a> <a href="https://ma.fellr.net/tags/ePaper" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ePaper</span></a> <a href="https://ma.fellr.net/tags/eReader" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>eReader</span></a> <a href="https://ma.fellr.net/tags/GPUGems" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GPUGems</span></a> <a href="https://ma.fellr.net/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a> <a href="https://ma.fellr.net/tags/Tolino" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tolino</span></a> <a href="https://ma.fellr.net/tags/KOReader" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>KOReader</span></a> <a href="https://ma.fellr.net/tags/InternetArchive" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>InternetArchive</span></a> <a href="https://ma.fellr.net/tags/Water" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Water</span></a> <a href="https://ma.fellr.net/tags/Caustics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Caustics</span></a> <a href="https://ma.fellr.net/tags/Graphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Graphics</span></a> <a href="https://ma.fellr.net/tags/NVIDIA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NVIDIA</span></a> <a href="https://ma.fellr.net/tags/Books" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Books</span></a> <a href="https://ma.fellr.net/tags/GPU" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GPU</span></a></p>
Fell<p>mfw DirectX doesn't have proper line rendering <br>no glLineWidth()<br>no GL_LINES_SMOOTH<br>just ugly lines<br>this explains a lot</p><p><a href="https://ma.fellr.net/tags/Graphics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Graphics</span></a> <a href="https://ma.fellr.net/tags/GraphicsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GraphicsProgramming</span></a> <a href="https://ma.fellr.net/tags/DirectX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DirectX</span></a> <a href="https://ma.fellr.net/tags/OpenGL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenGL</span></a> <a href="https://ma.fellr.net/tags/GameDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDev</span></a> <a href="https://ma.fellr.net/tags/GameDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDevelopment</span></a></p>