Although GPU rendering is ubiquitous, CPU rendering is still used in certain scenarios which require high-precision calculations and large scenes, such as scientific and architectural visualisations. SoftRenderingApp3D is an open-source 3D computer graphics engine that performs all rendering operations on the CPU. It functions as both a real-time and offline renderer. In real-time mode, it can rasterize meshes with up to 1 million facets, but faces challenges with pixel rendering on high-resolution screens. The engine implements a parallelized rendering pipeline designed to leverage modern multi-core CPU architectures. The study utilizes the engine to measure and evaluate the performance gains achieved through parallelization, bench-marking against established CPU renderers, providing insights into the scalability and efficiency of CPU-based rendering techniques. The paper presents an analysis of the engine’s architecture, design decisions, and implementation details, as well as the results obtained by parallelisation and their implications. It explores potential applications in different contexts and possible improvements to CPU rendering efficiency.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Benefits of Parallelization in CPU Rendering: Quantitative Analysis Using a Custom 3D Rendering Engine

  • Admir Huseini,
  • Art Saiti,
  • Kiril Avramovski

摘要

Although GPU rendering is ubiquitous, CPU rendering is still used in certain scenarios which require high-precision calculations and large scenes, such as scientific and architectural visualisations. SoftRenderingApp3D is an open-source 3D computer graphics engine that performs all rendering operations on the CPU. It functions as both a real-time and offline renderer. In real-time mode, it can rasterize meshes with up to 1 million facets, but faces challenges with pixel rendering on high-resolution screens. The engine implements a parallelized rendering pipeline designed to leverage modern multi-core CPU architectures. The study utilizes the engine to measure and evaluate the performance gains achieved through parallelization, bench-marking against established CPU renderers, providing insights into the scalability and efficiency of CPU-based rendering techniques. The paper presents an analysis of the engine’s architecture, design decisions, and implementation details, as well as the results obtained by parallelisation and their implications. It explores potential applications in different contexts and possible improvements to CPU rendering efficiency.