<?xml version="1.0" encoding="utf-8"?>
<export-example>
  <doc>
    <id>6015</id>
    <completedYear/>
    <publishedYear>2025</publishedYear>
    <thesisYearAccepted/>
    <language>eng</language>
    <pageFirst/>
    <pageLast/>
    <pageNumber>10</pageNumber>
    <edition/>
    <issue/>
    <volume/>
    <articleNumber/>
    <type>conferenceobject</type>
    <publisherName>The Eurographics Association</publisherName>
    <publisherPlace>Goslar</publisherPlace>
    <creatingCorporation/>
    <contributingCorporation/>
    <belongsToBibliography>1</belongsToBibliography>
    <completedDate>2025-06-23</completedDate>
    <publishedDate>--</publishedDate>
    <thesisDateAccepted>--</thesisDateAccepted>
    <title language="eng">No More Shading Languages: Compiling C++ to Vulkan Shaders</title>
    <abstract language="eng">Graphics APIs have traditionally relied on shading languages, however, these languages have a number of fundamental defects and limitations. By contrast, GPU compute platforms offer powerful, feature-rich languages suitable for heterogeneous compute. We propose reframing shading languages as embedded domain-specific languages, layered on top of a more general language like C++, doing away with traditional limitations on pointers, functions, and recursion, to the benefit of programmability. This represents a significant compilation challenge because the limitations of shaders are reflected in their lower-level representations. We present the Vcc compiler, which allows conventional C and C++ code to run as Vulkan shaders. Our compiler is complemented by a simple shading library and exposes GPU particulars as intrinsics and annotations. We evaluate the performance of our compiler using a selection of benchmarks, including a real-time path tracer, achieving competitive performance compared to their native CUDA counterparts.</abstract>
    <parentTitle language="eng">High-Performance Graphics - Symposium Papers</parentTitle>
    <identifier type="isbn">978-3-03868-291-2</identifier>
    <identifier type="url">https://diglib.eg.org/handle/10.2312/hpg20251167</identifier>
    <identifier type="urn">urn:nbn:de:bvb:573-60151</identifier>
    <enrichment key="THI_relatedIdentifier">https://doi.org/10.2312/hpg.20251167</enrichment>
    <enrichment key="THI_review">peer-review</enrichment>
    <enrichment key="THI_openaccess">ja</enrichment>
    <enrichment key="THI_conferenceName">High-Performance Graphics (HPG 2025), Copenhagen (Denmark), 23.-25.06.2025</enrichment>
    <enrichment key="opus.source">publish</enrichment>
    <enrichment key="THI_DownloadUrl">https://diglib.eg.org/bitstreams/284640db-e935-40da-afd6-c475e0cb741b/download</enrichment>
    <enrichment key="opus.doi.autoCreate">false</enrichment>
    <enrichment key="opus.urn.autoCreate">true</enrichment>
    <licence>Creative Commons BY 4.0</licence>
    <author>
      <first_name>Hugo</first_name>
      <last_name>Devillers</last_name>
    </author>
    <editor>
      <first_name>Aaron</first_name>
      <last_name>Knoll</last_name>
    </editor>
    <author>
      <first_name>Matthias</first_name>
      <last_name>Kurtenacker</last_name>
    </author>
    <editor>
      <first_name>Christoph</first_name>
      <last_name>Peters</last_name>
    </editor>
    <author>
      <first_name>Richard</first_name>
      <last_name>Membarth</last_name>
    </author>
    <author>
      <first_name>Stefan</first_name>
      <last_name>Lemme</last_name>
    </author>
    <author>
      <first_name>Michael</first_name>
      <last_name>Kenzel</last_name>
    </author>
    <author>
      <first_name>Ömercan</first_name>
      <last_name>Yazici</last_name>
    </author>
    <author>
      <first_name>Philipp</first_name>
      <last_name>Slusallek</last_name>
    </author>
    <collection role="open_access" number="">open_access</collection>
    <collection role="institutes" number="19311">Fakultät Elektro- und Informationstechnik</collection>
    <collection role="institutes" number="19379">AImotion Bavaria</collection>
    <collection role="persons" number="43674">Membarth, Richard</collection>
    <thesisPublisher>Technische Hochschule Ingolstadt</thesisPublisher>
    <file>https://opus4.kobv.de/opus4-haw/files/6015/hpg20251167.pdf</file>
  </doc>
</export-example>
