However, those not accustomed to assessing systems research can struggle to identify its intellectual contributions because they are often not written down explicitly in the form of an algorithm or equation.
Conversely, it is common for paper authors, having spent considerable time implementing and engineering a system (and maybe even deploying it with success to users), to erroneously think that simply describing the system's capabilities and implementation constitutes a "good" systems paper.
) and GPU vendors wanted flexibility to rapidly evolve GPU hardware implementations.
These goals were quite different from those facing the creators of prior shading languages for offline renderers and were ultimately addressed with an approach that was basically "C for graphics hardware", instead of a graphics-specific shading language like RSL.
In some areas of computer graphics, it is common for problem inputs and outputs to be well defined.
The challenge is that the problem itself is hard to solve!During a SIGGRAPH PC meeting, I've heard a committee member disparagingly comment: "I don't believe there is novelty here, maybe it's a good systems paper." And from a recent SIGGRAPH post-rebuttal discussion post: "This is clearly a systems paper rather than a research contribution." This is not an issue of whether systems research has a place in the graphics community. ) Rather, these comments suggest that both graphics papers authors and reviewers hold a misunderstanding of the intellectual value of graphics systems research.Understanding the key principles and values of systems research thinking is important to system designers that wish to communicate their findings and for reviewers evaluating those results.For example, I recommend Jennifer Widom's Tips for Writing Technical Papers [Widom 2006] or "How (and How Not) to Write a Good Systems Paper" [Levin and Redell 1983].In recent years we've seen papers at SIGGRAPH that describe the HDR photo processing pipeline in modern smartphone cameras [Hasinoff 16][Wadhwa 18], practical VR video generation pipelines [Andersen 16], the design decisions behind the implementation of the widely used Open VDB library [Museph 13], and that of systems for large-scale video processing [Poms 18].We tend to call these "contributions", a term I've increasingly come to appreciate as it embodies what a good paper does for the field.For example: The reader learned something new: As with all good research papers, the intellectual contribution of a systems paper is much more in the ideas and wisdom the paper contains, and much less about the specific artifact (the implementation) it describes.Therefore, in order to assess the contribution of a systems paper, it is essential to clearly understand these problem requirements.Problem characterization requires a system architect to spend considerable time understanding an application domain and to develop knowledge of hardware, software, human factors, and algorithmic techniques in play.The column also established global lighting effects as an important non-goal, since the authors' experiences at Pixar suggested that global effects could often be reasonably approximated with local computations using texture mapping.Example 2: A decade later Bill Mark articulated a complex set of design goals for Cg.