{
    "version": "https://jsonfeed.org/version/1",
    "title": "Jan Mroz | Procedural Pixels - Blogs",
    "home_page_url": "https://www.proceduralpixels.com",
    "feed_url": "https://api.feedifyrss.com/jan-mroz-blogs/articles/feed.json",
    "description": "RSS feed for Articles",
    "items": [
        {
            "id": "urn:sha256:eaae881fc370b7134d17e542432287b8ad65c75dd780ce9922b20c6bfcada053",
            "content_html": "I optimize lighting in the master node of URP's shader graph for weaker devices\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/optimizing-urp-lighting-for-low-end-devices",
            "title": "Optimizing URP lighting for low-end devices",
            "date_modified": "2026-04-24T12:10:54.566Z"
        },
        {
            "id": "urn:sha256:e05d8e4e04085b679680ffb91f5f00cae2518b490421db886aa7cdca8f550c05",
            "content_html": "In this article, I show you how I reduce the camera overhead to the absolute minimum.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/optimizing-camera-overhead-to-the-absolute-minimum",
            "title": "Optimizing camera overhead to the absolute minimum",
            "date_modified": "2026-04-24T12:10:54.565Z"
        },
        {
            "id": "urn:sha256:3c03b3b1a9fa4b7c3a805f4a47c79d4b5be0a4fc2f7d073117a6533062388b28",
            "content_html": "What is the pixel, and how storing textures as group of texels affects the rendering. Here I dive into real challenges connected to the discrete nature of the rendering.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/the-nature-of-the-pixel",
            "title": "The nature of the pixel",
            "date_modified": "2026-04-24T12:10:54.564Z"
        },
        {
            "id": "urn:sha256:b3770ac716e81884628523df5f771e891ffff3b20eb9c0fb125d18b9c34cf0f2",
            "content_html": "How to implement your custom physics engine using verlet integration. It is possible to do this in a weekend!\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/verlet-solver---simplest-physics-engine-implementation",
            "title": "Verlet Solver - simplest physics engine implementation",
            "date_modified": "2026-04-24T12:10:54.563Z"
        },
        {
            "id": "urn:sha256:925df01cc60735b126cbd0daf5757ec04e592dd59ad979558cedc817ef60aa46",
            "content_html": "How I optimized the frame time in my project.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/frame-optimization-case-study",
            "title": "Optimizing whole frame - case study",
            "date_modified": "2026-04-24T12:10:54.562Z"
        },
        {
            "id": "urn:sha256:50521d9a394d20fa6aa0a390d930007efa2446db86ed4593530f1edd70fcd765",
            "content_html": "How to speed up an expensive shaders by baking a part of the calculations into a texture.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/texture-baking---trading-vram-for-gpu-performance",
            "title": "Texture Baking - Trading VRAM for GPU performance",
            "date_modified": "2026-04-24T12:10:54.561Z"
        },
        {
            "id": "urn:sha256:762667f8655e05016dffecfed6d1e108c8f47a08fdc39a15ab0f64244d76685a",
            "content_html": "I created a benchmark for each rendering stage in the rendering pipeline. Then I compared the GPU architecture of RTX 3060 to GTX 1050 Ti.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/benchmarking-gpu-pipeline-stages",
            "title": "Benchmarking GPU pipeline stages",
            "date_modified": "2026-04-24T12:10:54.560Z"
        },
        {
            "id": "urn:sha256:5b1be1b47bcbdf62e7b113e8ac5d2eddb1fc0ccb6a8abd12b5dc017b60da6da8",
            "content_html": "How to connect Nsight Graphics to Unity Editor to profile GPU in the game view, without building the game.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/profiling-the-gpu-in-unity-editor",
            "title": "Profiling the GPU in Unity Editor",
            "date_modified": "2026-04-24T12:10:54.559Z"
        },
        {
            "id": "urn:sha256:ed49561dd04efe05ad22235aff36e9329ef8754ac6059ff63707ffcc3b9f6c20",
            "content_html": "I build my custom occlusion culling designed for my project. I show the implementation, optimization steps, benchmarks and final effects.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/custom-occlusion-culling-faster-than-unity",
            "title": "Custom occlusion culling - faster than Unity",
            "date_modified": "2026-04-24T12:10:54.558Z"
        },
        {
            "id": "urn:sha256:94a252096fbf95d8ff3bb66855c6d637b16765b3a1d7758a1d81416f09261888",
            "content_html": "A few examples of wrong practices, my profiling philosophy, what data to look for when profiling An example of profiling built-in occlusion culling and the GPU Resident Drawer in Unity.\n\n<p style=\"margin-top:1.5em;padding-top:0.5em;border-top:1px solid #e5e5e5;font-size:0.85em;color:#525252;\">Powered by <a href=\"https://feedifyrss.com\" style=\"color:#3B82F6;font-weight:600;\">Feedify RSS</a></p>",
            "url": "https://www.proceduralpixels.com/blog/how-to-properly-profile-your-game",
            "title": "How to properly profile your game",
            "date_modified": "2026-04-24T12:10:54.557Z"
        }
    ]
}