Table of Contents
Fetching ...

A model of the Unity High Definition Render Pipeline, with applications to flat-panel and head-mounted display characterization

Richard F. Murray

Abstract

Game engines such as Unity and Unreal Engine have become popular tools for creating perceptual and behavioral experiments in complex, interactive environments. They are often used with flat-panel displays, and also with head-mounted displays. Here I describe and test a mathematical model of luminance and color in Unity's High Definition Render Pipeline (HDRP). I show that the HDRP has several non-obvious features, such as nonlinearities applied to material properties and rendered values, that must be taken into account in order to show well-controlled stimuli. I also show how the HDRP can be configured to display gamma-corrected luminance and color, and I provide software to create the specialized files needed for gamma correction.

A model of the Unity High Definition Render Pipeline, with applications to flat-panel and head-mounted display characterization

Abstract

Game engines such as Unity and Unreal Engine have become popular tools for creating perceptual and behavioral experiments in complex, interactive environments. They are often used with flat-panel displays, and also with head-mounted displays. Here I describe and test a mathematical model of luminance and color in Unity's High Definition Render Pipeline (HDRP). I show that the HDRP has several non-obvious features, such as nonlinearities applied to material properties and rendered values, that must be taken into account in order to show well-controlled stimuli. I also show how the HDRP can be configured to display gamma-corrected luminance and color, and I provide software to create the specialized files needed for gamma correction.

Paper Structure

This paper contains 19 sections, 26 equations, 9 figures, 2 tables.

Figures (9)

  • Figure 1: A visual representation of the chromatic HDRP model. Red, green, and blue represent elements that are specific to individual chromatic channels, and black represents elements that are common to all three channels. Each box shows the variables that affect its computation. The variables are summarized in Table \ref{['table:variables']}.
  • Figure 2: Model predictions of unprocessed values $u_k$ from a Lambertian surface with no tonemapping, plotted against the unprocessed values inferred from actual post-processed values as $u_k = s(v_k)$. The solid black line shows $y = x$, and the solid red line is the least-squares regression line, constrained to pass through the origin.
  • Figure 3: (a) Model predictions of post-processed values $v_k$ in renderings of a Lambertian surface with no tonemapping, plotted against the actual post-processed values. The solid line shows $y = x$. (b) Prediction error for post-processed values $v_k$, i.e., predicted minus actual value. The solid lines show $y = \pm \: 1/255$. The error value is the median absolute error, reported as a multiple of 1/255. (c) Prediction error as a function of material color $m_k$. (d) Repeat of panel (b), without points with material color coordinates $m_k < 0.2$.
  • Figure 4: (a) Model predictions of post-processed values $v_k$ in renderings of an unlit material type with no tonemapping, plotted against the actual post-processed values. (b) Prediction error for post-processed values $v_k$.
  • Figure 5: (a) Tonemapped values $t_k$ resulting from a wide range of unprocessed values $u_k$, using a cube file that maps knot point coordinate $u^*_{16}$ to one, and all other knot points to zero. (b) The same analysis repeated 32 times, using cube files that each map a single knot point coordinate $u^*_m$ to one, and all others to zero. Results from different cube files are shown in different colors, and the peak of each curve is labelled with the number $m$ of the knot point that is mapped to one.
  • ...and 4 more figures