Skip to content

Commit

Permalink
Align introduction with rest of report
Browse files Browse the repository at this point in the history
Use consistent writing and try to keep repetition to a minimum.
  • Loading branch information
StuckiSimon committed Aug 13, 2024
1 parent 818b25e commit d371ab6
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 6 deletions.
2 changes: 1 addition & 1 deletion report/parts/acknowledgment.tex
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
% !TEX encoding = UTF-8 Unicode
% !TEX root = ../main.tex

This report is intended to be a comprehensive documentation but also be generally accessible. The style should enable readers with different backgrounds to understand the content. In order to enable this, the report explains basic concepts and provides references for further reading and the possibility to dive deeper into the topic. To this avail, the report is intended to be fully self-contained and does not require any prior knowledge in the field of computer graphics.
This report is intended to be a comprehensive documentation but also be generally accessible. The style should enable readers with different backgrounds to understand the content. To enable this, the report explains basic concepts and provides references for further reading and the possibility to dive deeper into the topic. To this avail, the report is intended to be fully self-contained and does not require any prior knowledge in the field of computer graphics.
2 changes: 1 addition & 1 deletion report/parts/discussion.tex
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ \subsection*{Independence of Three.js}

\subsection*{Offline and Remote Rendering}

As highlighted in \autoref{ch:paradigmAssessment}, it is possible to extend a real-time client side renderer to be used in offline and remote rendering scenarios. In order to implement offline rendering, one could opt to use a headless browser such as Puppeteer, a \fgls{Node.js}{JavaScript runtime, frequently used for executing JavaScript outside of the browser} library which provides a high-level \gls{API} to control browsers. An alternative is to use \gls{wgpu}, but this would necessitate a rewrite of the renderer. Possibly, the rewritten renderer could also be used in the web context by using \fgls{WebAssembly}{Portable Binary-code format for executable programs available in modern browser engines}.
As highlighted in \autoref{ch:paradigmAssessment}, it is possible to extend a real-time client-side renderer to be used in offline and remote rendering scenarios. In order to implement offline rendering, one could opt to use a headless browser such as Puppeteer, a \fgls{Node.js}{JavaScript runtime, frequently used for executing JavaScript outside of the browser} library which provides a high-level \gls{API} to control browsers. An alternative is to use \gls{wgpu}, but this would necessitate a rewrite of the renderer. Possibly, the rewritten renderer could also be used in the web context by using \fgls{WebAssembly}{Portable Binary-code format for executable programs available in modern browser engines}.

For remote rendering, the renderer could be extended to render images on demand and encode them as video streams.

Expand Down
6 changes: 2 additions & 4 deletions report/parts/theory.tex
Original file line number Diff line number Diff line change
Expand Up @@ -428,9 +428,7 @@ \subsection{Rasterization}

In order to visualize 3D scenes using a computer, different rendering approaches have been developed. Two of the most common approaches are rasterization and ray tracing. Rasterization will be described in more detail in this section, ray tracing will be discussed in the next section.

Rasterization is a rendering technique which maps the geometry of a 3D scene onto a 2D plane. Historically, the technique has been widely adopted in real-time rendering due to its efficiency. However, there are inherent limitations in terms of realism.

The process of rasterization can be broken down into multiple steps and is commonly referred to as the graphics pipeline. The stages of the pipeline are shown in \autoref{fig:graphics-pipeline}.
Rasterization is a rendering technique which maps the geometry of a 3D scene onto a 2D plane. It is well-suited for real-time rendering due to its efficiency. The process of rasterization can be broken down into multiple steps and is commonly referred to as the graphics pipeline. The stages of the pipeline are shown in \autoref{fig:graphics-pipeline}.

\begin{figure}[H]
\includegraphics[width=\columnwidth]{resources/graphics-pipeline.png}
Expand Down Expand Up @@ -462,7 +460,7 @@ \subsubsection{Advanced Techniques}

\paragraph{Conclusion}

Each of these methods addresses only a specific limitation of rasterization. Some of them only partially alleviate the issue. These approaches induce complexity and can be computationally expensive. An alternative technique which resembles reality more closely could alleviate these issues: ray tracing.
Each of these methods addresses only a specific limitation of rasterization. Some of them only partially alleviate the issue. These approaches induce complexity, may need to be computed at the assembly level, and can be computationally expensive. An alternative technique which resembles reality more closely could alleviate these issues: ray tracing.

\subsection{Ray Tracing}
\label{ch:rayTracingTheory}
Expand Down

0 comments on commit d371ab6

Please sign in to comment.