[
    {
        "id": "KRISTMANN-24-JPG",
        "type_id": "masterthesis",
        "tu_id": null,
        "repositum_id": "20.500.12708/219184",
        "title": "Real-Time Rendering with JPEG-Compressed Textures",
        "date": "2025-09",
        "abstract": "Although variable-rate compressed image formats such as JPEG are widely used to efficiently encode images, they have not found their way into real-time rendering due to special requirements such as random access to individual texels. In this thesis, we investigate the feasibility of variable-rate texture compression on modern GPUs using the JPEG format, and how it compares to the GPU-friendly fixed-rate compression approaches BC1 and ASTC.Using a deferred rendering pipeline and a list of pointers to individually encoded JPEG blocks, we are able to identify the subset of blocks that are needed for a given frame, decode these, and colourise the framebuffer’s pixels. Despite the additional 0.5 bit per texel that we require for our approach, JPEG maintains significantly better quality and compression rates compared to BC1, and is able to compete with ASTC. Although we can not fully compete performance-wise, decoding the required texels of a JPEG texture requires less than 1ms per frame on an RTX 4090, thus demonstrating that variable-rate encoded image formats are feasible for rendering pipelines that are based on deferred rendering or visibility buffers",
        "authors_et_al": false,
        "substitute": null,
        "main_image": {
            "description": "MCU-Utilisation: Each pixel is coloured by how many of the corresponding\nMCU’s texels are actually used. Red: This pixel’s colour is sourced from an MCU where\nall its texels are used. Blue: Only a single texel of the corresponding MCU made it into\nthe final image.",
            "filetitle": "Teaser",
            "main_file": false,
            "use_in_gallery": true,
            "access": "public",
            "image_width": 1042,
            "image_height": 763,
            "name": "KRISTMANN-24-JPG-Teaser.jpg",
            "type": "image/jpeg",
            "size": 134818,
            "path": "Publication:KRISTMANN-24-JPG",
            "url": "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/KRISTMANN-24-JPG-Teaser.jpg",
            "thumb_image_sizes": [
                16,
                64,
                100,
                175,
                300,
                600
            ],
            "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/KRISTMANN-24-JPG-Teaser:thumb{{size}}.png"
        },
        "sync_repositum_override": "access,title,date",
        "repositum_presentation_id": null,
        "authors": [
            1935
        ],
        "ac_number": "AC17639949",
        "co_supervisor": [
            1116
        ],
        "date_end": "2025-09",
        "date_start": "2024-12",
        "diploma_examina": "2025-09-11",
        "doi": "10.34726/hss.2025.134600",
        "matrikelnr": "01519693",
        "open_access": "yes",
        "pages": "73",
        "supervisor": [
            193
        ],
        "research_areas": [
            "Rendering"
        ],
        "keywords": [
            "Texture compression",
            "Real-time rendering",
            "JPEG",
            "Image compression",
            "Cuda",
            "Variable-rate compression",
            "Huffman coding",
            "Parallel computing"
        ],
        "weblinks": [],
        "files": {
            "1": {
                "description": "MCU-Utilisation: Each pixel is coloured by how many of the corresponding\nMCU’s texels are actually used. Red: This pixel’s colour is sourced from an MCU where\nall its texels are used. Blue: Only a single texel of the corresponding MCU made it into\nthe final image.",
                "filetitle": "Teaser",
                "main_file": false,
                "use_in_gallery": true,
                "access": "public",
                "image_width": 1042,
                "image_height": 763,
                "name": "KRISTMANN-24-JPG-Teaser.jpg",
                "type": "image/jpeg",
                "size": 134818,
                "path": "Publication:KRISTMANN-24-JPG",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/KRISTMANN-24-JPG-Teaser.jpg",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/KRISTMANN-24-JPG-Teaser:thumb{{size}}.png"
            },
            "2": {
                "description": null,
                "filetitle": "thesis",
                "main_file": true,
                "use_in_gallery": false,
                "access": "public",
                "name": "KRISTMANN-24-JPG-thesis.pdf",
                "type": "application/pdf",
                "size": 4052635,
                "path": "Publication:KRISTMANN-24-JPG",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/KRISTMANN-24-JPG-thesis.pdf",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/KRISTMANN-24-JPG-thesis:thumb{{size}}.png"
            }
        },
        "projects_workgroups": [
            "rend"
        ],
        "url": "https://www.cg.tuwien.ac.at/research/publications/2025/KRISTMANN-24-JPG/",
        "__class": "Publication"
    },
    {
        "id": "xmas-2023",
        "type_id": "xmascard",
        "tu_id": null,
        "repositum_id": null,
        "title": "X-Mas Card 2023",
        "date": "2023-12",
        "abstract": null,
        "authors_et_al": false,
        "substitute": null,
        "main_image": {
            "description": null,
            "filetitle": "image",
            "main_file": false,
            "use_in_gallery": true,
            "access": "public",
            "image_width": 2283,
            "image_height": 1615,
            "name": "xmas-2023-image.png",
            "type": "image/png",
            "size": 4679564,
            "path": "Publication:xmas-2023",
            "url": "https://www.cg.tuwien.ac.at/research/publications/2023/xmas-2023/xmas-2023-image.png",
            "thumb_image_sizes": [
                16,
                64,
                100,
                175,
                300,
                600
            ],
            "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2023/xmas-2023/xmas-2023-image:thumb{{size}}.png"
        },
        "sync_repositum_override": null,
        "repositum_presentation_id": null,
        "authors": [
            848,
            1636,
            1869,
            1935,
            1129,
            193
        ],
        "research_areas": [],
        "keywords": [
            "Christmas",
            "Santa Edi",
            "Holy Michi",
            "Vulkan",
            "Auto-Vk-Toolkit",
            "Auto-Vk",
            "Tamashii",
            "Cyberpunk",
            "RTX. It's on.",
            "Christmas Tree"
        ],
        "weblinks": [],
        "files": [
            {
                "description": "Christmas Card as PDF",
                "filetitle": "Card",
                "main_file": true,
                "use_in_gallery": false,
                "access": "public",
                "name": "xmas-2023-Card.pdf",
                "type": "application/pdf",
                "size": 1240736,
                "path": "Publication:xmas-2023",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2023/xmas-2023/xmas-2023-Card.pdf",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2023/xmas-2023/xmas-2023-Card:thumb{{size}}.png"
            },
            {
                "description": null,
                "filetitle": "image",
                "main_file": false,
                "use_in_gallery": true,
                "access": "public",
                "image_width": 2283,
                "image_height": 1615,
                "name": "xmas-2023-image.png",
                "type": "image/png",
                "size": 4679564,
                "path": "Publication:xmas-2023",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2023/xmas-2023/xmas-2023-image.png",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2023/xmas-2023/xmas-2023-image:thumb{{size}}.png"
            }
        ],
        "projects_workgroups": [
            "xmas"
        ],
        "url": "https://www.cg.tuwien.ac.at/research/publications/2023/xmas-2023/",
        "__class": "Publication"
    },
    {
        "id": "kristmann-2023-vkl",
        "type_id": "studentproject",
        "tu_id": null,
        "repositum_id": null,
        "title": "Components for Vulkan Launchpad: A framework for Vulkan beginners and introductory graphics courses",
        "date": "2023-03",
        "abstract": "During this project, the Vulkan Launchpad framework was extened by a model loader for OBJ model files and an arcball/orbit-style camera to navigate the scene.",
        "authors_et_al": false,
        "substitute": null,
        "main_image": {
            "description": null,
            "filetitle": "image",
            "main_file": false,
            "use_in_gallery": true,
            "access": "public",
            "image_width": 560,
            "image_height": 280,
            "name": "kristmann-2023-vkl-image.png",
            "type": "image/png",
            "size": 23836,
            "path": "Publication:kristmann-2023-vkl",
            "url": "https://www.cg.tuwien.ac.at/research/publications/2023/kristmann-2023-vkl/kristmann-2023-vkl-image.png",
            "thumb_image_sizes": [
                16,
                64,
                100,
                175,
                300,
                600
            ],
            "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2023/kristmann-2023-vkl/kristmann-2023-vkl-image:thumb{{size}}.png"
        },
        "sync_repositum_override": null,
        "repositum_presentation_id": null,
        "authors": [
            1935
        ],
        "date_end": "2023-02",
        "date_start": "2022-07",
        "matrikelnr": "01518693",
        "supervisor": [
            848,
            193
        ],
        "research_areas": [
            "Rendering"
        ],
        "keywords": [
            "Introduction to Computer Graphics",
            "Vulkan",
            "C++",
            "Vulkan Launchpad",
            "Model Loader",
            "CMake"
        ],
        "weblinks": [
            {
                "href": "https://github.com/cg-tuwien/VulkanLaunchpad",
                "caption": "Vulkan Launchpad on GitHub",
                "description": null,
                "main_file": 1
            },
            {
                "href": "https://github.com/cg-tuwien/VulkanLaunchpadStarter",
                "caption": "Starter Template",
                "description": null,
                "main_file": 0
            }
        ],
        "files": [
            {
                "description": null,
                "filetitle": "image",
                "main_file": false,
                "use_in_gallery": true,
                "access": "public",
                "image_width": 560,
                "image_height": 280,
                "name": "kristmann-2023-vkl-image.png",
                "type": "image/png",
                "size": 23836,
                "path": "Publication:kristmann-2023-vkl",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2023/kristmann-2023-vkl/kristmann-2023-vkl-image.png",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2023/kristmann-2023-vkl/kristmann-2023-vkl-image:thumb{{size}}.png"
            }
        ],
        "projects_workgroups": [
            "rend"
        ],
        "url": "https://www.cg.tuwien.ac.at/research/publications/2023/kristmann-2023-vkl/",
        "__class": "Publication"
    },
    {
        "id": "unterguggenberger-2023-ait",
        "type_id": "talk",
        "tu_id": null,
        "repositum_id": "20.500.12708/192724",
        "title": "An Introduction to Vulkan",
        "date": "2023-02-07",
        "abstract": "In this tutorial, we teach the fundamentals of Vulkan. Our tutorial is targeted for programmers new to the concepts of Khronos' low-level graphics API. Thus, participants are not expected to have any prior knowledge about the Vulkan API. Prior knowledge about graphics programming in general helps, but is not strictly required. At least basic proficiency with the C programming language is required.\nContent-wise, this tutorial delivers university-level knowledge, based on long-standing teaching experience at TU Wien. Vulkan-specific topics covered include essential Vulkan handles (i.e., instance, physical device, logical device, surface, and swap chain), graphics-pipeline creation and usage, descriptor set creation and binding, command buffer recording, image layout transitions, and parts of synchronization.\nIn the context of the tutorial, a 3D model viewer is implemented. A suitable programming framework is provided for Windows, Linux, and Mac OS. The tutorial is comprised of short lecture sessions and coding sessions with tutors from TU Wien assisting participants.",
        "authors_et_al": false,
        "substitute": null,
        "main_image": {
            "description": "Vulkanised 2023 Logo",
            "filetitle": "vulkanised-logo",
            "main_file": false,
            "use_in_gallery": false,
            "access": "public",
            "image_width": 768,
            "image_height": 323,
            "name": "unterguggenberger-2023-ait-vulkanised-logo.jpg",
            "type": "image/jpeg",
            "size": 37983,
            "path": "Publication:unterguggenberger-2023-ait",
            "url": "https://www.cg.tuwien.ac.at/research/publications/2023/unterguggenberger-2023-ait/unterguggenberger-2023-ait-vulkanised-logo.jpg",
            "thumb_image_sizes": [
                16,
                64,
                100,
                175,
                300,
                600
            ],
            "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2023/unterguggenberger-2023-ait/unterguggenberger-2023-ait-vulkanised-logo:thumb{{size}}.png"
        },
        "sync_repositum_override": null,
        "repositum_presentation_id": null,
        "authors": [
            848,
            1525,
            1954,
            5240,
            1614,
            1935
        ],
        "date_from": "2023-02-07",
        "date_to": "2023-02-09",
        "event": "Vulkanised 2023",
        "lecturer": [
            848,
            1525
        ],
        "location": "München",
        "research_areas": [],
        "keywords": [
            "Vulkan",
            "Graphics API",
            "Computer Graphics",
            "Real-Time Rendering",
            "Rendering Engine"
        ],
        "weblinks": [
            {
                "href": "https://github.com/cg-tuwien/VulkanLaunchpad",
                "caption": "Vulkan Launchpad",
                "description": "A framework by TU Wien targeted at Vulkan beginners.",
                "main_file": 1
            },
            {
                "href": "https://www.vulkan.org/events/vulkanised-2023",
                "caption": "Vulkanised 2023",
                "description": "Event page on vulkan.org",
                "main_file": 0
            }
        ],
        "files": [
            {
                "description": "Vulkanised 2023 Logo",
                "filetitle": "vulkanised-logo",
                "main_file": false,
                "use_in_gallery": false,
                "access": "public",
                "image_width": 768,
                "image_height": 323,
                "name": "unterguggenberger-2023-ait-vulkanised-logo.jpg",
                "type": "image/jpeg",
                "size": 37983,
                "path": "Publication:unterguggenberger-2023-ait",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2023/unterguggenberger-2023-ait/unterguggenberger-2023-ait-vulkanised-logo.jpg",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2023/unterguggenberger-2023-ait/unterguggenberger-2023-ait-vulkanised-logo:thumb{{size}}.png"
            }
        ],
        "projects_workgroups": [],
        "url": "https://www.cg.tuwien.ac.at/research/publications/2023/unterguggenberger-2023-ait/",
        "__class": "Publication"
    },
    {
        "id": "kristmann-2022-occ",
        "type_id": "bachelorthesis",
        "tu_id": null,
        "repositum_id": null,
        "title": "Occluder Frequency Analysis for Evaluating the Level of Visibility of Partly Occluded Objects",
        "date": "2022-07",
        "abstract": "To increase rendering efficiency of large and complex scenes, occlusion culling algorithms detect objects which are completely hidden by others and therefore do not need to be rendered. However, these methods often follow an all-or-nothing principle, either culling the geometry entirely or drawing it at full detail. This approach disregards an important subcategory of the visibility problem: detecting objects that are hardly visible because they are partly occluded and which can therefore be rendered at a lower level of detail without generating noticeable artifacts. In this thesis we assess the level of visibility of such objects by computing a hierarchical occlusion map and analysing its structure based on the frequencies of the occluders. This analysis results in a parameter that controls the level of detail (LOD) in which the geometry is rendered. The algorithm performs well even in scenes with sparse occlusion, surpassing the standard hierarchical occlusion map algorithm, with still a lot of potential for even further improvements.",
        "authors_et_al": false,
        "substitute": null,
        "main_image": {
            "description": null,
            "filetitle": "teaser",
            "main_file": false,
            "use_in_gallery": false,
            "access": "public",
            "image_width": 1368,
            "image_height": 1280,
            "name": "kristmann-2022-occ-teaser.png",
            "type": "image/png",
            "size": 252502,
            "path": "Publication:kristmann-2022-occ",
            "url": "https://www.cg.tuwien.ac.at/research/publications/2022/kristmann-2022-occ/kristmann-2022-occ-teaser.png",
            "thumb_image_sizes": [
                16,
                64,
                100,
                175,
                300,
                600
            ],
            "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2022/kristmann-2022-occ/kristmann-2022-occ-teaser:thumb{{size}}.png"
        },
        "sync_repositum_override": null,
        "repositum_presentation_id": null,
        "authors": [
            1935
        ],
        "date_end": "2022-07-15",
        "date_start": "2022-01-01",
        "matrikelnr": "01518693",
        "supervisor": [
            193,
            1650
        ],
        "research_areas": [
            "Perception",
            "Rendering"
        ],
        "keywords": [
            "rendering",
            "occlusion culling",
            "real-time"
        ],
        "weblinks": [],
        "files": [
            {
                "description": null,
                "filetitle": "teaser",
                "main_file": false,
                "use_in_gallery": false,
                "access": "public",
                "image_width": 1368,
                "image_height": 1280,
                "name": "kristmann-2022-occ-teaser.png",
                "type": "image/png",
                "size": 252502,
                "path": "Publication:kristmann-2022-occ",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2022/kristmann-2022-occ/kristmann-2022-occ-teaser.png",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2022/kristmann-2022-occ/kristmann-2022-occ-teaser:thumb{{size}}.png"
            },
            {
                "description": null,
                "filetitle": "thesis",
                "main_file": true,
                "use_in_gallery": false,
                "access": "public",
                "name": "kristmann-2022-occ-thesis.pdf",
                "type": "application/pdf",
                "size": 4728973,
                "path": "Publication:kristmann-2022-occ",
                "url": "https://www.cg.tuwien.ac.at/research/publications/2022/kristmann-2022-occ/kristmann-2022-occ-thesis.pdf",
                "thumb_image_sizes": [
                    16,
                    64,
                    100,
                    175,
                    300,
                    600
                ],
                "thumb_url": "https://www.cg.tuwien.ac.at/research/publications/2022/kristmann-2022-occ/kristmann-2022-occ-thesis:thumb{{size}}.png"
            }
        ],
        "projects_workgroups": [
            "3DSpatialization"
        ],
        "url": "https://www.cg.tuwien.ac.at/research/publications/2022/kristmann-2022-occ/",
        "__class": "Publication"
    },
    {
        "id": "kristmann-thesis",
        "type_id": "runphdthesis",
        "tu_id": null,
        "repositum_id": null,
        "title": "(unknown)",
        "date": null,
        "abstract": null,
        "authors_et_al": false,
        "substitute": null,
        "main_image": null,
        "sync_repositum_override": null,
        "repositum_presentation_id": null,
        "authors": [
            1935
        ],
        "date_start": "2025-10",
        "supervisor": [
            193
        ],
        "research_areas": [],
        "keywords": [],
        "weblinks": [],
        "files": [],
        "projects_workgroups": [
            "rend"
        ],
        "url": "https://www.cg.tuwien.ac.at/research/publications/ongoing/kristmann-thesis/",
        "__class": "Publication"
    }
]
