From 463b90edce70b08ca6e07377561f5b4f63bc6343 Mon Sep 17 00:00:00 2001 From: Dorian Rudolph <mail@dorianrudolph.com> Date: Mon, 5 Feb 2024 15:20:42 +0100 Subject: [PATCH] add programming project --- README.md | 4 ---- talk/talk.tex | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a843b24..3037568 100644 --- a/README.md +++ b/README.md @@ -63,10 +63,6 @@ During the project group, you will learn and apply the following skills: ## References - - - - - [1] Ghostscript Tiger, [AGPLv3](https://git.ghostscript.com/?p=ghostpdl.git;a=blob_plain;f=doc/COPYING;hb=HEAD) - [2] Raph Levien. 2019. 2D Graphics on Modern GPU (blog post).https://raphlinus.github.io/rust/graphics/gpu/2019/05/08/modern-2d.html - [3] Diego Nehab. 2D Computer Graphics (course). 2020.https://w3.impa.br/~diego/teaching/vg/ diff --git a/talk/talk.tex b/talk/talk.tex index 10d04fd..0812997 100644 --- a/talk/talk.tex +++ b/talk/talk.tex @@ -134,13 +134,13 @@ \end{frame} \begin{frame} - \frametitle{PG Research Plan} + \frametitle{Research Project} \onslide<+->{How do the different rendering approaches compare?} \begin{itemize}[<+->] \item CPU vs. Tesselation vs. Compute Shader \begin{itemize} - \item How to do AA in ``tesselation pipeline''? + \item How to do AA in ``raster pipeline''? \end{itemize} \item \url{github.com/linebender/vello} has no paper, but is supposedly competitive. \item Papers only use CUDA on nVidia GPU, but how do their techniques fare on mobile/laptop/web? @@ -152,8 +152,36 @@ \item Find common abstraction and implement algorithms. \item Benchmark on various devices. \item Try to find improvements or even your own algorithms. + \item How to deal with scene updates? (Not discussed much in the literature) \end{itemize} \end{frame} +\begin{frame} + \frametitle{Programming Project} + + \onslide<+->{Build a collaborative digital whiteboard platform using your own renderer.} + \begin{itemize}[<+->] + \item Compare different renderers in practice. + \item Publish as open source. + \item Port to different platforms: Linux, Windows, Mac, Android, iOS, web + \begin{itemize} + \item Don't need to port to all platforms, but make sure to use platform independent techniques. + \end{itemize} + \end{itemize} + + \onslide<+->{Nice-to-have features:} + \begin{itemize}[<+->] + \item Pen input: + \begin{itemize} + \item Converting coordinates and pressures to strokes is almost its own research question... + \end{itemize} + \item PDF integration (can use PDFium library) + \item End-to-end encryption + \item Your own ideas... + \end{itemize} + + +\end{frame} + \end{document} \ No newline at end of file -- GitLab