Talk:Rendering (computer graphics)
This is the talk page for discussing improvements to the Rendering (computer graphics) article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Archives: 1Auto-archiving period: 12 months ![]() |
![]() | This article is rated B-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||||||||||||||||
|
"Software rendering"
[edit]I searched some computer graphics textbooks, and books used as references in this article, for occurrences of the terms "software rendering", "software renderer", etc. (and "hardware rendering"). The only book I found that used the terms more than once or twice was "Computer Graphics: Principles and Practice" (Hughes, Foley, et al. 2013) I have not yet found any book that defines the term(s). Does this mean that the authors thought it was self-explanatory? I can't always tell if the authors are using it as jargon/terminology or if they are using the word "software" as an adjective and think that this is clear. Anyway, this usage (without definition) seems careless, especially in a textbook, and it's something that editors probably should have caught.
Another thing I noticed is that there seem to be two meanings. The books appear to use "software rendering" as a near synonym for "offline rendering", usually meaning ray tracing, path tracing, etc. (i.e. not rasterized rendering using an accelerated pipeline) but in some cases that might be because they were written at a time when renderers like Arnold did not use GPU acceleration. In contrast, the Software rendering article mainly talks about "software renderers" as fallback implementations of the rasterized pipeline for use when a graphics card is not available (which is mostly obsolete today).
I think that, firstly, we should avoid using the terms "software rendering" and "hardware rendering" within the article because they don't have clear meanings (and they might be obsolete in 2025 due to the nature of GPUs as general-purpose processors). Secondly, it's probably a good idea to still mention the term "software rendering" somewhere (because it is relatively common and it has a separate article) but this is a problem if we don't actually have a definition for it (with reliable source).
I found one book ("Computer Graphics from Scratch") with a section that I think uses "software rendering" with sufficient context to use it as a reference for the mere existence of the term (note: it explicitly calls out the ambiguity with a heading "Shaders are software"). If this type of source is used, we need to avoid implying that there is a precise definition (this is not an ideal situation). If someone finds a reliable source (not a blog article or similar) with a definition that is broad enough and doesn't contradict usage elsewhere then we should use that instead.
Note that the Software rendering article has had an insufficient citations tag since 2007 (it only has two references, neither of which backs up the main content of the article).
Summary of occurrences I found:
- Computer Graphics: Principles and Practice 3rd ed. (Hughes, Foley, et al. 2013): 8
- Fundamentals of Computer Graphics 5th ed. (Marschner & Shirley, 2022): 1
- Real-Time Rendering 4th ed. (Akenine-Möller et al. 2018): 1 (when summarizing the content of a different book)
- Rendering for Beginners (Raghavachary 2004): 1 (implies that RenderMan is a software renderer, even though its name was originally a nickname for a hardware acceleration board!)
- Radiosity and Realistic Image Synthesis (Cohen et al. 1993): 0 for "software rendering", 8 for "hardware rendering" (included in index)
- Principles of Digital Image Synthesis (Glassner 1995): 1 (in an exercise)
- Ray Tracing Gems (Haines et al. 2019): 1
- Computer Graphics from Scratch (Gambetta 2021): 2
- B-Class computer graphics articles
- High-importance computer graphics articles
- WikiProject Computer graphics articles
- B-Class Systems articles
- High-importance Systems articles
- Systems articles in visualization
- WikiProject Systems articles
- B-Class Computer science articles
- High-importance Computer science articles
- WikiProject Computer science articles