<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[RSS Feed]]></title><description><![CDATA[RSS Feed]]></description><link>https://ecency.com</link><image><url>https://ecency.com/logo512.png</url><title>RSS Feed</title><link>https://ecency.com</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 16:21:12 GMT</lastBuildDate><atom:link href="https://ecency.com/created/glsl/rss.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[GLSL Lesson 4: Reshaping Light and Shadow with pow()]]></title><description><![CDATA[GLSL Lesson 4: Reshaping Light and Shadow with pow() Previous Lessons Lesson 1 Your First Shader: Painting the Entire Screen One Color In the first lesson, we learned the simplest thing a fragment shader]]></description><link>https://ecency.com/@hey2d/glsl-lesson-4-reshaping-light-and-shadow-with-pow-eh</link><guid isPermaLink="true">https://ecency.com/@hey2d/glsl-lesson-4-reshaping-light-and-shadow-with-pow-eh</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Sun, 12 Jul 2026 16:00:54 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEybSiDtgvDKYy2LqaGxKQC7oCBBxzcvXFFXSvNn1nqqwpZubx2nMT2QuFNUfUWuMGxP3grQ7xrVhG5otzqsnuiCyRidppXjtPx7B7KDrEbZZiW?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[GLSL Lesson 3: Understanding clamp() by Breaking and Fixing Colors]]></title><description><![CDATA[In the first lesson, we learned the simplest thing a fragment shader can do: paint every pixel the same color. In the second lesson, we moved beyond a flat color and started creating gradients. Instead]]></description><link>https://ecency.com/@hey2d/glsl-lesson-3-understanding-clamp-by-breaking-and-fixing-colors-6du</link><guid isPermaLink="true">https://ecency.com/@hey2d/glsl-lesson-3-understanding-clamp-by-breaking-and-fixing-colors-6du</guid><category><![CDATA[tutorial]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Sun, 12 Jul 2026 15:10:09 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEyd8Mryb4ik6a4omcCfUgkcecrJYuRQupfPJAVnB3dE1Do66LYRJZg62WGAo2SPnVRWnv6n6YeezP7LWsKeaECNMeHLi2heT5SGTEct8SfuoxS?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Gradients: When Color Learns About Position]]></title><description><![CDATA[In the previous lesson, Your First Shader: Painting the Entire Screen One Color, we learned that a shader can fill the entire canvas with a single color by writing values into gl_FragColor. If you missed]]></description><link>https://ecency.com/@hey2d/gradients-when-color-learns-about-position-h7n</link><guid isPermaLink="true">https://ecency.com/@hey2d/gradients-when-color-learns-about-position-h7n</guid><category><![CDATA[hive-125125]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Sun, 12 Jul 2026 12:06:06 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEybHLevVGVxgUrF1WGnntecoQDeZCnU8XUCtFMVuRE1QoM4rmRfLELnK3zeaHjeNK1ayzr6kJ3qANxLXrGSPrxu6RSY1eAn6VcXTD1Tx1PZ5y8?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Your First Shader: Painting the Entire Screen One Color]]></title><description><![CDATA[So far we have been looking at code and breaking it apart piece by piece. That approach is useful, but there is another way to learn shaders that is often more effective: Change things and see what happens.]]></description><link>https://ecency.com/@hey2d/your-first-shader-painting-the-entire-screen-one-color-acb</link><guid isPermaLink="true">https://ecency.com/@hey2d/your-first-shader-painting-the-entire-screen-one-color-acb</guid><category><![CDATA[tutorial]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Sun, 12 Jul 2026 11:06:03 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEyb9pEQHV35YAA42388Fw3H5PWEy7ztpT8jLs2n3tRvaWwDE5MV41MhLVjn9V4yGQYyLeM5JNjt59AEweGoYyhvXayKs42jLkEi58YfYgYezsx?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Lesson 9 — HSB: When Color Stops Being Fixed and Starts Becoming a Space]]></title><description><![CDATA[If gradients were the first time color became a relationship, HSB is where color starts behaving like a coordinate system. This is lesson 9 in the series, and it sits right after gradients — not as an]]></description><link>https://ecency.com/@hey2d/lesson-9-hsb-when-color-stops-being-fixed-and-starts-becoming-a-space-5hq</link><guid isPermaLink="true">https://ecency.com/@hey2d/lesson-9-hsb-when-color-stops-being-fixed-and-starts-becoming-a-space-5hq</guid><category><![CDATA[tutorial]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Sat, 11 Jul 2026 17:26:21 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEybj8j3WN6pT5vrUra3xzu24EvnKsWk3X4x7MmomqjFmAH4E7nVXZkF17mAZ2zRhqUJX6Vt4gAj9D72HVjhxaBEAz7ecGeLfoackM4KpuSPdh8?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Colors in GLSL: A Beginner’s Guide to Shaders and Color Control]]></title><description><![CDATA[Color in GLSL is one of the first things that makes shader programming feel alive. You go from abstract math to something visible, expressive, and instantly creative. At its core, GLSL color is surprisingly]]></description><link>https://ecency.com/@hey2d/colors-in-glsl-a-beginners-guide-to-shaders-and-color-control-bzj</link><guid isPermaLink="true">https://ecency.com/@hey2d/colors-in-glsl-a-beginners-guide-to-shaders-and-color-control-bzj</guid><category><![CDATA[learning]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Fri, 10 Jul 2026 04:12:54 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEyaSaMFgjUVkZqUi9eYjg9uDHcnVWJv8T7izSPoyS9o9qQ8CgkJusWxnyZ7HkKd4L7tTEADFQKqwBHxPBBJTKQZVndULAYL8vbxYxGExj8Xi9t?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Understanding UV in GLSL: The Key to Mapping Space in Shaders]]></title><description><![CDATA[UV coordinates are one of the most fundamental ideas in GLSL, yet they are often misunderstood when you first start working with shaders. At their core, UVs are simply a way to describe position inside]]></description><link>https://ecency.com/@hey2d/understanding-uv-in-glsl-the-key-to-mapping-space-in-shaders-1w</link><guid isPermaLink="true">https://ecency.com/@hey2d/understanding-uv-in-glsl-the-key-to-mapping-space-in-shaders-1w</guid><category><![CDATA[learning]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Thu, 09 Jul 2026 18:00:24 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEyazXxpzfSF79aD5JnGFTjicHd8dewDfS4RdpDE6kgDZKRi4VH9jmyMiZyURMZP8mQ4WnNGxLwqECaCWu534McENjmnhHh8NfwgW3BpcSkJjhx?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Are Vector Components Constants in GLSL? Understanding What Vectors Really Are - TUTORIAL 7]]></title><description><![CDATA[One question almost every shader beginner asks is whether vector components such as .r, .g, .b, .x, .y, and .z are fixed values or special constants. The short answer is no. They are simply labels used]]></description><link>https://ecency.com/@hey2d/are-vector-components-constants-in-glsl-understanding-what-vectors-really-are-tutorial-7-969</link><guid isPermaLink="true">https://ecency.com/@hey2d/are-vector-components-constants-in-glsl-understanding-what-vectors-really-are-tutorial-7-969</guid><category><![CDATA[tutorial]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Thu, 09 Jul 2026 17:53:15 GMT</pubDate><enclosure url="https://i.ecency.com/p/W5LtFUPm6g73Gz3nUXFAek4cLXWkVtUrs4htyR8NzcF1Sxft3vXU2g2pYM4Tt1roviX7AQVkH5uRN3swjpXwt3kSvREQrcMTHREXpKX9abPhP3qSjaS6WinVjACeFJSGXjiGE6tVRTzaUhgVZ4rje6Gd5ApFx?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Textures and Swizzling in GLSL: How Shaders Read and Rearrange Data ]]></title><description><![CDATA[When most people start learning shaders, textures seem straightforward. They are images made up of pixels. But in GLSL, textures are much more than images. They are data containers, and understanding how]]></description><link>https://ecency.com/@hey2d/textures-and-swizzling-in-glsl-how-shaders-read-and-rearrange-data-lesson-6-chu-a7m</link><guid isPermaLink="true">https://ecency.com/@hey2d/textures-and-swizzling-in-glsl-how-shaders-read-and-rearrange-data-lesson-6-chu-a7m</guid><category><![CDATA[learning]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Thu, 09 Jul 2026 17:45:15 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEyaSadSQSfqRFVvdzA2q3akSv4w7xs1r5BDHmuxGTaFokma6hWSh47jwQzy29dHVnzFjtnBCJbmFPpAtxAE4FLeFgDnC5XqVYKaf9aC2s18hS6?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Textures and Swizzling in GLSL: How Shaders Read and Rearrange Data : Lesson 6]]></title><description><![CDATA[When most people start learning shaders, textures seem straightforward. They are images made up of pixels. But in GLSL, textures are much more than images. They are data containers, and understanding how]]></description><link>https://ecency.com/@hey2d/textures-and-swizzling-in-glsl-how-shaders-read-and-rearrange-data-lesson-6-gow</link><guid isPermaLink="true">https://ecency.com/@hey2d/textures-and-swizzling-in-glsl-how-shaders-read-and-rearrange-data-lesson-6-gow</guid><category><![CDATA[learning]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Thu, 09 Jul 2026 16:53:39 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEyaSadSQSfqRFVvdzA2q3akSv4w7xs1r5BDHmuxGTaFokma6hWSh47jwQzy29dHVnzFjtnBCJbmFPpAtxAE4FLeFgDnC5XqVYKaf9aC2s18hS6?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Drawing a Diagonal Line with GLSL]]></title><description><![CDATA[This is the fourth post in the GlSL learning series. Learning GLSL as a Beginner Understanding gl-Position: My First Real Vertex Shader Fragment Shaders Made Simple: What gl-FragColor Does What This Shader]]></description><link>https://ecency.com/@hey2d/drawing-a-diagonal-line-with-glsl-2kv</link><guid isPermaLink="true">https://ecency.com/@hey2d/drawing-a-diagonal-line-with-glsl-2kv</guid><category><![CDATA[tutorial]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Thu, 09 Jul 2026 16:39:00 GMT</pubDate><enclosure url="https://i.ecency.com/p/9vWp6aU4y8kx94BZeHG5xaUiwDKskFzDhSdEycqgoJZBfR9zWPZwHQRy4vCkPshWv6KvUeWyWngWcWVRw1gbYmXoiNT4JzwghYeBU2stTsrk3nBZdnJUhsJaJL2adDs2PGoTYnM3pY7dV7Lj8?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Drawing Curves with Math Using `pow()` - lesson 5 - GLSL]]></title><description><![CDATA[This is the fifth post in the GLSL learning series. Previous posts: Learning GLSL as a Beginner Understanding gl_Position: My First Real Vertex Shader Fragment Shaders Made Simple: What gl_FragColor Does]]></description><link>https://ecency.com/@hey2d/drawing-curves-with-math-using-pow-lesson-5-glsl-7xd</link><guid isPermaLink="true">https://ecency.com/@hey2d/drawing-curves-with-math-using-pow-lesson-5-glsl-7xd</guid><category><![CDATA[learning]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Thu, 09 Jul 2026 16:29:03 GMT</pubDate><enclosure url="https://i.ecency.com/p/W5LtFUPm6g73Gz3nUXFAek4cLXWkVtUrs4htyK3WQ5ugAT36LNZ2hXx2XHGV5K2z9MdQ575oNQ6HycGjrzZrNddWXXeMGGN3pDoMi89rzepAwyLAQmesvBYYtvi7SfUBLUf683spEjnkhxmkDGiwfpfnSvKq8?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Creating Procedural Galaxies and Nebulas in GLSL]]></title><description><![CDATA[Look at images captured by space telescopes. Galaxies are filled with glowing clouds of gas and dust. Some regions appear bright blue. Others glow purple, pink, or orange. The colors blend together smoothly]]></description><link>https://ecency.com/@hey2d/creating-procedural-galaxies-and-nebulas-in-glsl-em9</link><guid isPermaLink="true">https://ecency.com/@hey2d/creating-procedural-galaxies-and-nebulas-in-glsl-em9</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 18:44:03 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsPVLAsr2asnpQx66hjPnJmyqXvhapqgn9zBMpcdUUNqppRYBru26Hu5CQzHLPVK55pAieM7qXrt4fWD4dX2oFgGsXQ8ADCSk8B9euJ2urd9XXMVRtp4uoUES?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Creating a Procedural Night Sky and Stars in GLSL]]></title><description><![CDATA[When you look into the night sky, the stars seem randomly scattered. Some are bright. Some are barely visible. Some appear grouped together while others sit alone. Although they look random, we can recreate]]></description><link>https://ecency.com/@hey2d/creating-a-procedural-night-sky-and-stars-in-glsl-hqp</link><guid isPermaLink="true">https://ecency.com/@hey2d/creating-a-procedural-night-sky-and-stars-in-glsl-hqp</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 18:38:33 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsPGm19Fw33EJrBrtpP7p95Xr7TNkz4WGcfxn2M2F8MG6PcD8BMgo3tmFcaFv7e1gSNTv3vQbnKUATdEn4gXN9kCFR6DdgJKgFGskRxQpwx3MGFKmysLrFMkz?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Creating Procedural Clouds in GLSL]]></title><description><![CDATA[Look at the sky on a clear day. Clouds rarely have sharp edges. They slowly grow, merge together, drift across the horizon, and disappear. If you look closely, you'll notice large cloud formations filled]]></description><link>https://ecency.com/@hey2d/creating-procedural-clouds-in-glsl-bua</link><guid isPermaLink="true">https://ecency.com/@hey2d/creating-procedural-clouds-in-glsl-bua</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 15:27:12 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsMh18jwTDZedhv4wuKxm7V6CcCA8bo6DALC48m7ReQ4BZB81yj3tFurW4Z94wTqJEQQVJxsJqvpMbnL9RExgh5hXA2qXhozZU7Qkub7GqbUNH1EoZSsEguav?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Adding Reflections and Highlights to Procedural Water in GLSL]]></title><description><![CDATA[Think about standing beside a lake on a sunny day. The water is not one solid color. Bright highlights appear where sunlight hits the waves. Some parts look dark. Others reflect the sky. These differences]]></description><link>https://ecency.com/@hey2d/adding-reflections-and-highlights-to-procedural-water-in-glsl-fqc</link><guid isPermaLink="true">https://ecency.com/@hey2d/adding-reflections-and-highlights-to-procedural-water-in-glsl-fqc</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 15:07:54 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsMtVu7ME32ah3M1hXjBz9SiC1CcyY7YgpojVK8WtWPUMfsaq2f25CzdAzwLoKWrkvUxy5tTYqn7ycJCGqVFTuaaDAT3T2A2yh1r4v9T8DeFefohkMd6TzsMp?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[ Creating Procedural Water in GLSL]]></title><description><![CDATA[Water is always moving. Sometimes it forms gentle ripples across a lake. Sometimes it crashes into waves. Sometimes it reflects the sky so clearly that it almost looks like glass. Although real water is]]></description><link>https://ecency.com/@hey2d/-creating-procedural-water-in-glsl-ce8</link><guid isPermaLink="true">https://ecency.com/@hey2d/-creating-procedural-water-in-glsl-ce8</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 09:25:57 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsN7Hce5pQVhHSDH3vmUT9mMpNcdsQGASybqXVd1YtuhjkZG9jmWxe8rL28Qezq2PiaEXwsqeMBrUXWETnbfgTsP7o9NGpFJqxbdFiLM7WRHomuG197cV15b4?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Creating Procedural Smoke in GLSL]]></title><description><![CDATA[Smoke behaves very differently from fire. Fire is energetic. Smoke drifts slowly. It spreads outward. It fades into the air. Instead of sharp movements, smoke relies on soft transitions and gradual changes.]]></description><link>https://ecency.com/@hey2d/creating-procedural-smoke-in-glsl-k2m</link><guid isPermaLink="true">https://ecency.com/@hey2d/creating-procedural-smoke-in-glsl-k2m</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 08:24:15 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsMhDrQwfQKKLEvR9UAwSLdxgLz91ngX2ugxccYLqpNVisaJHH5PqFMnE3NDNPLEULBm9wUSDsCmpZMfidNEreTjpM1ETjULJ2sksRAKytwjpBbVwd4h1LQsY?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Creating Procedural Wood Grain in GLSL]]></title><description><![CDATA[Look at the cross section of a tree trunk. You'll notice a series of rings spreading outward from the center. These rings aren't perfectly smooth. They bend. They twist. They become thinner in some places]]></description><link>https://ecency.com/@hey2d/creating-procedural-wood-grain-in-glsl-ghu</link><guid isPermaLink="true">https://ecency.com/@hey2d/creating-procedural-wood-grain-in-glsl-ghu</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 07:36:51 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsNSAePnw8KnqDcGaK55ngTKMZBWztr6PyRTdGn2W3aaHRebhw9N86qesrBT2gnZ7XCx4bWYe1tU8KBfDTdXQDDUC5xtcP3ppTSBkzAafQLE6zq5Yq6WwLH2v?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Creating a Procedural Marble Texture in GLSL]]></title><description><![CDATA[Walk through an old building made from marble and you'll notice something interesting. No two pieces look exactly alike. Every slab contains flowing veins. Some areas are bright. Others are dark. The lines]]></description><link>https://ecency.com/@hey2d/creating-a-procedural-marble-texture-in-glsl-fit</link><guid isPermaLink="true">https://ecency.com/@hey2d/creating-a-procedural-marble-texture-in-glsl-fit</guid><category><![CDATA[coding]]></category><dc:creator><![CDATA[hey2d]]></dc:creator><pubDate>Wed, 08 Jul 2026 05:49:57 GMT</pubDate><enclosure url="https://i.ecency.com/p/7b4bio5hobgtGQM7gKBTf1ExassEw88fwPbBsMULW12dGwY3AU62YeU8inyPVLLbGk8CYm458RgpexuBgTHCb8N1BFdTt5mvEBuDxzE2E8tMLokH11kACGThDnwu4rYGHqedaqy1TUYYadKBH6NPbCTACzK8?format=match&amp;mode=fit" length="0" type="false"/></item></channel></rss>