Learning from Shader Program Traces
Not on the map. Why?
Abstract (arXiv)
Deep learning for image processing typically treats input imagery as pixels in some color space. This paper proposes instead to learn from program traces of procedural fragment shaders -- programs that generate images. At each pixel, we collect the intermediate values computed at program execution, and these data form the input to the learned model. We investigate this learning task for a variety of applications: our model can learn to predict a low-noise output image from shader programs that exhibit sampling noise; this model can also learn from a simplified shader program that approximates the reference solution with less computation, as well as learn the output of postprocessing filters like defocus blur and edge-aware sharpening. Finally we show that the idea of learning from program traces can even be applied to non-imagery simulations of flocks of boids. Our experiments on a variety of shaders show quantitatively and qualitatively that models learned from program traces outperform baseline models learned from RGB color augmented with hand-picked shader-specific features like normals, depth, and diffuse and specular color.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 24 of its 55 references that are in the map. First posted on arXiv 8 Feb 2021.
Builds on
24 of 55 references.
References · 24
- 2018The Unreasonable Effectiveness of Deep Features as a Perceptual Metriccited by 11,177
- 2016Image-to-Image Translation with Conditional Adversarial Networkscited by 4,527
- 2016Perceptual Losses for Real-Time Style Transfer and Super-Resolutioncited by 2,694
- 2018The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networkscited by 2,262
- 2016Pruning Filters for Efficient ConvNetscited by 1,143
- 2019Importance Estimation for Neural Network Pruningcited by 541
- 2017ThiNet: A Filter Level Pruning Method for Deep Neural Network Compressioncited by 442
- 2018DeepVoxels: Learning Persistent 3D Feature Embeddingscited by 405
- 2018Video-to-Video Synthesiscited by 390
- 2016NIPS 2016 Tutorial: Generative Adversarial Networkscited by 285
- 2017Deep Bilateral Learning for Real-Time Image Enhancementcited by 200
- 2015Neural Programmer-Interpreterscited by 101
12 more
- 2020Learning to Simulate Dynamic Environments with GameGANcited by 86
- 2018Synthesizing Programs for Images using Reinforced Adversarial Learningcited by 72
- 2016A Deep Multi-Level Network for Saliency Predictioncited by 54
- 2017Joint Image Filtering with Deep Convolutional Networkscited by 52
- 2018Fast End-to-End Trainable Guided Filtercited by 50
- 2016Pruning Convolutional Neural Networks for Resource Efficient Inferencecited by 48
- 2016Deep Shading: Convolutional Neural Networks for Screen-Space Shadingcited by 46
- 2017Fast Image Processing with Fully-Convolutional Networkscited by 41
- 2019A Multi-Pass GAN for Fluid Flow Super-Resolutioncited by 14
- 2020Learning Concise Models from Long Execution Tracescited by 8
- 2019Emergent Escape-based Flocking Behavior using Multi-Agent Reinforcement Learningcited by 5
- 2018HeNet: A Deep Learning Approach on Intel^circledR Processor Trace for Effective Exploit Detectioncited by 3
Built on by
Not cited yet.