BEGIN:VCALENDAR
VERSION:2.0
PRODID:Linklings LLC
BEGIN:VTIMEZONE
TZID:Australia/Brisbane
X-LIC-LOCATION:Australia/Brisbane
BEGIN:STANDARD
DTSTART:19920301T030000
TZOFFSETFROM:+1100
TZOFFSETTO:+1000
TZNAME:AEST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20191203T080501Z
LOCATION:Plaza Meeting Room P2
DTSTART;TZID=Australia/Brisbane:20191119T112600
DTEND;TZID=Australia/Brisbane:20191119T115200
UID:siggraphasia_SIGGRAPH Asia 2019_sess112_papers_342@linklings.com
SUMMARY:Staged Metaprogramming for Shader System Development
DESCRIPTION:Technical Papers\n\nStaged Metaprogramming for Shader System D
 evelopment\n\nSeitz, Jr., Foley, Porumbescu, Owens\n\nThe shader system fo
 r a modern game engine comprises much more than just compilation of source
  code to executable kernels. Shaders must also be exposed to art tools, in
 terfaced with engine code, and specialized for performance. Engines typica
 lly address each of these tasks in an ad hoc fashion, without a unifying a
 bstraction. The alternative of developing a more powerful compiler framewo
 rk is prohibitive for most engines.\n\nIn this paper, we identify staged m
 etaprogramming as a unifying abstraction and implementation strategy to de
 velop a powerful shader system with modest effort. By using a multi-stage 
 language to perform metaprogramming at compile time, engine-specific code 
 can consume, analyze, transform, and generate shader code that will execut
 e at runtime. Staged metaprogramming reduces the effort required to implem
 ent a shader system that provides earlier error detection, avoids repeat d
 eclarations of shader parameters, and explores opportunities to improve pe
 rformance.\n\nTo demonstrate the value of this approach, we design and imp
 lement a shader system, called Selos, built using staged metaprogramming. 
 In our system, shader and application code are written in the same languag
 e and can share types and functions. We implement a design space explorati
 on framework for Selos that investigates static versus dynamic composition
  of shader features, exploring the impact of shader specialization in a de
 ferred renderer. Staged metaprogramming allows Selos to provide compelling
  features with a simple implementation.\n\nRegistration Category: Platinum
  Pass, Full Conference Pass, Full Conference One-Day Pass
URL:https://sa2019.conference-program.com/presentation?id=papers_342&sess=
 sess112
END:VEVENT
END:VCALENDAR

