Replace fancy apostrophe with a normal one

Plus add scrolling improvement
This commit is contained in:
Vojtěch Struhár 2025-06-07 10:44:47 +02:00
parent e17294cd6c
commit a0805be1b8
15 changed files with 46 additions and 38 deletions

View File

@ -31,6 +31,7 @@ export default defineConfig({
"./src/styles/theme.css", "./src/styles/theme.css",
"./src/styles/footnotes-fix.css", "./src/styles/footnotes-fix.css",
"./src/styles/pixelated-logo.css", "./src/styles/pixelated-logo.css",
"./src/styles/scroll-fix.css",
], ],
sidebar: [ sidebar: [
{ {

View File

@ -79,7 +79,7 @@ Node-link diagram, Tree (Klasické zobrazení), Radial Tree (Sunburst, ale strom
Tyto interakce můžeme aplikovat na různé operandy. Operand interakce je prostor, na který interakci aplikujeme. Tyto interakce můžeme aplikovat na různé operandy. Operand interakce je prostor, na který interakci aplikujeme.
> [!TIP] > [!TIP]
> Rozdělení mi není úplně 100% jasné, takže budu rád za opravy. Celé slidy čerpají z knihy Interactive Data Visualization: Foundations, Techniques, and Applications, Second Edition (dostupné z [Annas Archive](https://annas-archive.org/md5/0bf49e061a8b82167d0e05a5d2b50476)) > Rozdělení mi není úplně 100% jasné, takže budu rád za opravy. Celé slidy čerpají z knihy Interactive Data Visualization: Foundations, Techniques, and Applications, Second Edition (dostupné z [Anna's Archive](https://annas-archive.org/md5/0bf49e061a8b82167d0e05a5d2b50476))
### Techniky pro prostor obrazovky (Pixely) ### Techniky pro prostor obrazovky (Pixely)

View File

@ -258,7 +258,7 @@ Binding 2 => Attribute 2 (uv souřadnice)
## Princip rasterizace ## Princip rasterizace
Z Primitive assembly dostáváme bod, čáru, nebo trojúhelník, který potřebujeme převést na fragmenty (pixely, typicky čtvercové). Každému fragmentu přidělíme barvu a hloubku (Z-value) = fragments associated data. Fragment definujeme integerovými souřadnicemi jeho levého dolního bodu (pozor na 0.5 offset). Z Primitive assembly dostáváme bod, čáru, nebo trojúhelník, který potřebujeme převést na fragmenty (pixely, typicky čtvercové). Každému fragmentu přidělíme barvu a hloubku (Z-value) = fragment's associated data. Fragment definujeme integerovými souřadnicemi jeho levého dolního bodu (pozor na 0.5 offset).
- **Bod**\ - **Bod**\
Při rasterizaci bodu vykreslíme čtverec o hraně `gl_PointSize` zaokrouhlený na celé pixely. Při rasterizaci bodu vykreslíme čtverec o hraně `gl_PointSize` zaokrouhlený na celé pixely.

View File

@ -237,7 +237,7 @@ Stíny jsou důležité, jelikož:
![width=500rem](./img/vph01_shadow_volumes.png) ![width=500rem](./img/vph01_shadow_volumes.png)
Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmacks reverse). Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmack's reverse).
- **Soft shadows**\ - **Soft shadows**\
Existuje množství algoritmů. Například shadow mapy s Percentage Closer Filtering (PCF). Jsou ale výpočetně náročnější než hard shadows. Existuje množství algoritmů. Například shadow mapy s Percentage Closer Filtering (PCF). Jsou ale výpočetně náročnější než hard shadows.

View File

@ -58,7 +58,7 @@ A z této rovnice už vyjádříme $u_{ij}^{k + 1}$. ($\Delta t$ je časový kro
### Nelineární izotropní difuze ### Nelineární izotropní difuze
Zobecníme funkci pro difuzi kombinací Ficks law a Mass preservation: $\partial_t u = \text{div} (g \cdot \nabla u)$, kde $\div$ je divergence. Zobecníme funkci pro difuzi kombinací Fick's law a Mass preservation: $\partial_t u = \text{div} (g \cdot \nabla u)$, kde $\div$ je divergence.
- **Lineární** - **Lineární**
- $g = 1$ - $g = 1$

View File

@ -137,7 +137,7 @@ Greedy algoritmy nachází řešení globálního problému tak, že volí loká
#### Problémy #### Problémy
- **Cashiers algorithm (mince)**\ - **Cashier's algorithm (mince)**\
Jak zaplatit danou částku s co nejmenším počtem mincí různých hodnot? Jak zaplatit danou částku s co nejmenším počtem mincí různých hodnot?
- **Řešení**\ - **Řešení**\

View File

@ -258,7 +258,7 @@ P(x) = \sum_{i=0}^n P_i \ell_i(x)
Blbé je, že musíme všechny pomocné polynomy přepočítat, když přidáme nový bod. Blbé je, že musíme všechny pomocné polynomy přepočítat, když přidáme nový bod.
- **Hornerovo schéma / Horners method**\ - **Hornerovo schéma / Horner's method**\
Metoda evaluace polynomů. Vychází z myšlenky, že násobení se dá nestovat: [^horner] Metoda evaluace polynomů. Vychází z myšlenky, že násobení se dá nestovat: [^horner]
```math ```math
@ -674,7 +674,7 @@ Polygonové povrchy dělíme v případě, kdy chceme je zjemnit, vyhladit.
[^coons-path]: [Wikipedia: Coons patch](https://en.wikipedia.org/wiki/Coons_patch) [^coons-path]: [Wikipedia: Coons patch](https://en.wikipedia.org/wiki/Coons_patch)
[^nurbs]: [Wikipedia: Non-uniform rational B-spline](https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline) [^nurbs]: [Wikipedia: Non-uniform rational B-spline](https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline)
[^sweeping]: [Wikipedia: Solid modeling](https://en.wikipedia.org/wiki/Solid_modeling#Sweeping) [^sweeping]: [Wikipedia: Solid modeling](https://en.wikipedia.org/wiki/Solid_modeling#Sweeping)
[^horner]: [Wikipedia: Horners method](https://en.wikipedia.org/wiki/Horner%27s_method) [^horner]: [Wikipedia: Horner's method](https://en.wikipedia.org/wiki/Horner%27s_method)
## Další zdroje ## Další zdroje

View File

@ -423,7 +423,7 @@ Neuronové sítě, jejichž architektura obsahuje cykly. Tedy výstup v jednom b
``` ```
> [!TIP] > [!TIP]
> Pokud $\textcolor{red}{\sigma' \cdot W_{kk}} \not\approx 1$, pak gradient buď vybouchne nebo se ztratí. > Pokud $\textcolor{red}{\sigma' \cdot W_{k'k}} \not\approx 1$, pak gradient buď vybouchne nebo se ztratí.
- **Long Short-Term Memory (LSTM)**\ - **Long Short-Term Memory (LSTM)**\
LSTM řeší problém s vanishing a exploding gradientem, kterým RNN. V RNN je $\sigma$ typicky $\tanh$. V LSTM obsahuje jeden hidden neuron vlastně čtyři "podvrstvy", které mimo jiné umožňují část paměti zapomenout: LSTM řeší problém s vanishing a exploding gradientem, kterým RNN. V RNN je $\sigma$ typicky $\tanh$. V LSTM obsahuje jeden hidden neuron vlastně čtyři "podvrstvy", které mimo jiné umožňují část paměti zapomenout:

View File

@ -357,7 +357,7 @@ Stíny jsou důležité, jelikož:
![width=500rem](./img/vph01_shadow_volumes.png) ![width=500rem](./img/vph01_shadow_volumes.png)
Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmacks reverse). Prakticky se používá Stencil Buffer Algorithm, kdy renderujeme pro každý objekt nejprve front faces a pak back faces. Tenhle přístup je problematický, pokud je kamera ve stínu, ale řešitelný pokud obrátíme pořádí objektů -- jdeme od nekonečna ke kameře (Z-fail, Carmack's reverse).
- **Soft shadows**\ - **Soft shadows**\
Existuje množství algoritmů. Například shadow mapy s Percentage Closer Filtering (PCF). Jsou ale výpočetně náročnější než hard shadows. Existuje množství algoritmů. Například shadow mapy s Percentage Closer Filtering (PCF). Jsou ale výpočetně náročnější než hard shadows.

View File

@ -301,7 +301,7 @@ Specifický pohyb postav bezvědomí. Kombinuje animace a fyziku. Je založená
![width=500rem](./img/vph02_ragdoll.jpg) ![width=500rem](./img/vph02_ragdoll.jpg)
- **Featherstones algorithm**\ - **Featherstone's algorithm**\
Algoritmus pro výpočet dynamiky stromovité struktury propojených článků. Algoritmus pro výpočet dynamiky stromovité struktury propojených článků.

View File

@ -14,9 +14,9 @@ _PA215, PA216_
> Game design is like a recipe... > Game design is like a recipe...
> >
> It looks fine, but you cant eat it... > It looks fine, but you can't eat it...
> >
> Well it can be eaten, but it doesnt fill you up. > Well it can be eaten, but it doesn't fill you up.
> >
> — Taky ZZ > — Taky ZZ
@ -107,9 +107,9 @@ Lidi jsou různí a různí lidi hrají různé hry různě.
- **Explorer**\ - **Explorer**\
Snaží se objevovat a poznávat svět. Je hrdý na hloubku svých znalostí o světě. Snaží se objevovat a poznávat svět. Je hrdý na hloubku svých znalostí o světě.
> I havent tried that one, whats it do? > I haven't tried that one, what's it do?
**Bartles Taxonomy of Players [^pa215-2022]** **Bartle's Taxonomy of Players [^pa215-2022]**
![width=500rem](./img/vph03_bartle.png) ![width=500rem](./img/vph03_bartle.png)
@ -142,7 +142,7 @@ Hry dovedou navodit řadu různých herních zážitků, které můžeme různý
> [!IMPORTANT] > [!IMPORTANT]
> Herní zážitky souvisí s pojmem obtížnost, kterému se věnuje část otázky [Herní design II](../vph04_herni_design_ii/). > Herní zážitky souvisí s pojmem obtížnost, kterému se věnuje část otázky [Herní design II](../vph04_herni_design_ii/).
#### LeBlancs Eight Kinds of Fun #### LeBlanc's Eight Kinds of Fun
> [!TIP] > [!TIP]
> Taky označované jako _Taxonomy of Game Pleasures_ a _herní "pošušňáníčka"_. [^pa215-2019] > Taky označované jako _Taxonomy of Game Pleasures_ a _herní "pošušňáníčka"_. [^pa215-2019]
@ -242,9 +242,9 @@ Game designer produkuje taky hromady abstraktních teorií o herním designu.
> Design theory is like coffee. > Design theory is like coffee.
> >
> - You can get it on **every corner**. > - You can get it on **every corner**.
> - Its expensive whether its **high or low quality**. > - It's expensive whether it's **high or low quality**.
> - Its a **fuel for magic**. > - It's a **fuel for magic**.
> - **Without doing something with it its useless**. > - **Without doing something with it it's useless**.
> — Ano, stále ZZ > — Ano, stále ZZ
@ -288,9 +288,9 @@ Lehký slovník pro popis her. [^cgo] Hodí se při komunikaci s klienty, nevyvo
- **Audio**\ - **Audio**\
Includes background music such as a fully orchestrated soundtrack, sound effects, rewarding sounds and voice-acted dialogue. Includes background music such as a fully orchestrated soundtrack, sound effects, rewarding sounds and voice-acted dialogue.
- **Narrative**\ - **Narrative**\
Contains the interactive story of a game which makes up the games plot. Contains the interactive story of a game which makes up the game's plot.
- **Game Design**\ - **Game Design**\
Contains all the games mechanics that define the games rules, which provide the structures and frames for play (for example winning and losing conditions) and actions available to the player. Contains all the game's mechanics that define the game's rules, which provide the structures and frames for play (for example winning and losing conditions) and actions available to the player.
- **Level Design**\ - **Level Design**\
Includes the architecture of the spatial navigation of levels which determine how the player agent can progress from one point in the game to another. Includes the architecture of the spatial navigation of levels which determine how the player agent can progress from one point in the game to another.
- **Gameplay**\ - **Gameplay**\

View File

@ -22,17 +22,17 @@ Obsahuje základní informace o hře v čitelné formě pro negamedesignery (tř
- target audience, žánr, target platform, pro kolik bude hráčů... - target audience, žánr, target platform, pro kolik bude hráčů...
- high concept statement - krátký popis hry - high concept statement - krátký popis hry
** What does the player do? - What does the player do?
** Why do they do it? - Why do they do it?
** Where do they do it? - Where do they do it?
** What are the constraints on the player? - What are the constraints on the player?
** What sort of emotion is this game trying to evoke in the player? - What sort of emotion is this game trying to evoke in the player?
** How is this game unique? What differentiates it from other games? - How is this game unique? What differentiates it from other games?
- feature set - feature set
- competition - podobné hry - competition - podobné hry
- inovation - co hra přináší nového (art, design, technologie, ...) - inovation - co hra přináší nového (art, design, technologie, ...)
- scope management - omezení rozsahu hry tak aby se zvládla vyrobit - scope management - omezení rozsahu hry tak aby se zvládla vyrobit
\*\* must have, should have, could have, wont have \*\* must have, should have, could have, won't have
## Teoretické koncepty herní analýzy ## Teoretické koncepty herní analýzy
@ -101,7 +101,7 @@ V teorii her se hry dělí na:
- **Symetrická**\ - **Symetrická**\
V symetrických hrách mají všichni hráči stejné možnosti. Jinými slovy, nezáleží na tom, **kým** hráč je, ale jakou strategii zvolí. Většina symetrických her je krátká, jelikož při delším hraní mají hráči různé strategické možnosti, a tak se hra stává _de facto_ asymetrickou. V symetrických hrách mají všichni hráči stejné možnosti. Jinými slovy, nezáleží na tom, **kým** hráč je, ale jakou strategii zvolí. Většina symetrických her je krátká, jelikož při delším hraní mají hráči různé strategické možnosti, a tak se hra stává _de facto_ asymetrickou.
Příkladem symetrické hry jsou například kámen-nůžky-papír, prisoners dilema. Příkladem symetrické hry jsou například kámen-nůžky-papír, prisoner's dilema.
Z pohledu game designu stačí, že mají hráči stejné možnosti. Tedy například šachy jsou symetrické z pohledu game designéra, ale z pohledu teorie her ne, protože bílý začíná a má tedy výhodu. Z pohledu game designu stačí, že mají hráči stejné možnosti. Tedy například šachy jsou symetrické z pohledu game designéra, ale z pohledu teorie her ne, protože bílý začíná a má tedy výhodu.
@ -179,13 +179,13 @@ Game desiner může využít libovolné herní elementy k tomu, aby komunikoval
### Struktura ### Struktura
- **Lineární (3-bodová struktura, Monomyth / Heros journey)** - **Lineární (3-bodová struktura, Monomyth / Hero's journey)**
1. Setup -- expozice, počáteční incident. 1. Setup -- expozice, počáteční incident.
2. Konfrontace -- překážky, krize. 2. Konfrontace -- překážky, krize.
3. Rozuzlení -- vyvrcholení, závěr. 3. Rozuzlení -- vyvrcholení, závěr.
> [The] heros journey, or the monomyth, is the common template of stories that involve a hero who goes on an adventure, is victorious in a decisive crisis, and comes home changed or transformed. > [The] hero's journey, or the monomyth, is the common template of stories that involve a hero who goes on an adventure, is victorious in a decisive crisis, and comes home changed or transformed.
> >
> — Wikipedia: Hero's journey > — Wikipedia: Hero's journey
@ -222,7 +222,7 @@ Jak tutoriál tak onboarding učí hráče, jak hru hrát. Onboarding je širš
- A design of an early gameplay to motivate the player to play a game. [^pa215-2019] - A design of an early gameplay to motivate the player to play a game. [^pa215-2019]
- A design of gameplay to motivate the player to achieve mastery. - A design of gameplay to motivate the player to achieve mastery.
> [...] its incredibly powerful to teach a player how to play the game, in-game, because that way they quickly take ownership over what happens. > [...] it's incredibly powerful to teach a player how to play the game, in-game, because that way they quickly take ownership over what happens.
> >
> — Miyamoto > — Miyamoto
@ -296,7 +296,7 @@ Proces, kdy je game design testován na hráčích po celou dobu vývoje. A to
--- ---
> - Playtest before you think you are ready. > - Playtest before you think you are ready.
> - Dont explain. > - Don't explain.
> - Take notes. > - Take notes.
> - Shut Up. > - Shut Up.
> - Notice everything. > - Notice everything.
@ -312,4 +312,4 @@ Proces, kdy je game design testován na hráčích po celou dobu vývoje. A to
[^pa215-2022]: https://is.muni.cz/auth/el/fi/podzim2022/PA215/index.qwarp [^pa215-2022]: https://is.muni.cz/auth/el/fi/podzim2022/PA215/index.qwarp
[^zagalo]: https://www.slideshare.net/nzagalo/videogame-narrative [^zagalo]: https://www.slideshare.net/nzagalo/videogame-narrative
[^pa215-2019]: https://is.muni.cz/auth/el/fi/podzim2019/PA215/um/ [^pa215-2019]: https://is.muni.cz/auth/el/fi/podzim2019/PA215/um/
[^fuck-rules]: [Dont follow these rules!: A Primer for Playtesting, Nathalie Pozzi and Eric Zimmerman](https://static1.squarespace.com/static/579b8aa26b8f5b8f49605c96/t/5962a494bebafbc89ca001b6/1499636884792/A+Primer+for+Playtesting.pdf) [^fuck-rules]: [Don't follow these rules!: A Primer for Playtesting, Nathalie Pozzi and Eric Zimmerman](https://static1.squarespace.com/static/579b8aa26b8f5b8f49605c96/t/5962a494bebafbc89ca001b6/1499636884792/A+Primer+for+Playtesting.pdf)

View File

@ -155,7 +155,7 @@ Pathfinding vnímá scénu jako graf, ve kterém hledá (obvykle nejkratší) ce
Prozkoumej jednoho souseda, pak jeho souseda, pak souseda toho souseda atd. dokud jsi tak hluboko, že nemáš kam jít. Pak se teprve vynoř o úroveň výš a zkus prozkoumat jiného souseda. Prozkoumej jednoho souseda, pak jeho souseda, pak souseda toho souseda atd. dokud jsi tak hluboko, že nemáš kam jít. Pak se teprve vynoř o úroveň výš a zkus prozkoumat jiného souseda.
- **Shortest path algorithms / algoritmy pro nejkratší cestu**\ - **Shortest path algorithms / algoritmy pro nejkratší cestu**\
Hledají nejkratší cestu mezi dvěma uzly. Používají nějakou heuristiku $f$ pro výběr dalšího uzlu k prozkoumání. Hledají nejkratší cestu mezi dvěma uzly. Používají nějakou heuristiku $f$ pro výběr dalšího uzlu k prozkoumání.
- **Dijkstras algorithm / Dijkstrův algoritmus**\ - **Dijkstra's algorithm / Dijkstrův algoritmus**\
Podobný BFS, ale snaží se najít nejkratší cestu, ne nutně prozkoumat celý graf. Hranám přiřazuje cenu a vybírá ty s nejnižší cenou -- $f$ je nejnižší vzdálenost od počátečního uzlu. Podobný BFS, ale snaží se najít nejkratší cestu, ne nutně prozkoumat celý graf. Hranám přiřazuje cenu a vybírá ty s nejnižší cenou -- $f$ je nejnižší vzdálenost od počátečního uzlu.
### A\* algoritmus ### A\* algoritmus
@ -275,7 +275,7 @@ Agenti nevidí herní svět stejně jako hráči, vidí ho spíš jako graf s uz
- **Tile-based / dlaždicové**\ - **Tile-based / dlaždicové**\
Některé hry, např real-time strategie (RTS), mají svět rozdělen do čtvercových / hexagonálních dlaždic. Díky tomu je jednoduché je převést na graf, neboť co dlaždice to uzel. Některé hry, např real-time strategie (RTS), mají svět rozdělen do čtvercových / hexagonálních dlaždic. Díky tomu je jednoduché je převést na graf, neboť co dlaždice to uzel.
**Sid Meiers Civilization V [^civ5]** **Sid Meier's Civilization V [^civ5]**
![width=400](./img/vph06_civilization.jpg) ![width=400](./img/vph06_civilization.jpg)
@ -481,7 +481,7 @@ Typicky turn-based hry pro dva hráče, často s perfektní informací.
- **Zero-sum games**\ - **Zero-sum games**\
Hra, kde výhra jednoho hráče je prohrou druhého (např. šachy). Hra, kde výhra jednoho hráče je prohrou druhého (např. šachy).
- **Non-zero-sum games**\ - **Non-zero-sum games**\
Výhra jednoho hráče nemusí být prohra druhého, stejně tak prohra jednoho hráče nemusí být výhra druhého (např. kooperativní hry, prisoners dilemma). Výhra jednoho hráče nemusí být prohra druhého, stejně tak prohra jednoho hráče nemusí být výhra druhého (např. kooperativní hry, prisoner's dilemma).
### AI turn-based algoritmy ### AI turn-based algoritmy
@ -547,7 +547,7 @@ Minmax i alpha-beta pruning se chápe nejlíp s vizualizací. Můžete kouknout
[^steering]: [Steering Behaviors](https://slsdo.github.io/steering-behaviors/) [^steering]: [Steering Behaviors](https://slsdo.github.io/steering-behaviors/)
[^navmesh]: [Navigation System in Unity](https://docs.unity3d.com/Manual/nav-NavigationSystem.html) [^navmesh]: [Navigation System in Unity](https://docs.unity3d.com/Manual/nav-NavigationSystem.html)
[^astar]: [Introduction to the A\* Algorithm](https://www.redblobgames.com/pathfinding/a-star/introduction.html) [^astar]: [Introduction to the A\* Algorithm](https://www.redblobgames.com/pathfinding/a-star/introduction.html)
[^civ5]: [Sid Meiers Civilization V](https://store.steampowered.com/app/8930/Sid_Meiers_Civilization_V/) [^civ5]: [Sid Meier's Civilization V](https://store.steampowered.com/app/8930/Sid_Meiers_Civilization_V/)
[^monte-carlo]: [Wikipedia: Monte Carlo method](https://en.wikipedia.org/wiki/Monte_Carlo_method) [^monte-carlo]: [Wikipedia: Monte Carlo method](https://en.wikipedia.org/wiki/Monte_Carlo_method)
[^mcts]: [Wikipedia: Monte Carlo tree search](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search) [^mcts]: [Wikipedia: Monte Carlo tree search](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search)
[^ida-star]: [Wikipedia: Iterative deepening A\*](https://en.wikipedia.org/wiki/Iterative_deepening_A*) [^ida-star]: [Wikipedia: Iterative deepening A\*](https://en.wikipedia.org/wiki/Iterative_deepening_A*)

View File

@ -301,7 +301,7 @@ Ambient occlusion approximuje, jak moc je objekt vystaven ambientním světlu. J
[^sw-coordinates]: [Verge3D Wiki: Coordinate Systems](https://www.soft8soft.com/wiki/index.php/Coordinate_Systems) [^sw-coordinates]: [Verge3D Wiki: Coordinate Systems](https://www.soft8soft.com/wiki/index.php/Coordinate_Systems)
[^viewport]: [`glViewport`](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glViewport.xhtml) [^viewport]: [`glViewport`](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glViewport.xhtml)
[^depth-range]: [`glDepthRange`](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDepthRange.xhtml) [^depth-range]: [`glDepthRange`](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glDepthRange.xhtml)
[^vulkan-coords]: [Vulkans coordinate system](http://anki3d.org/vulkan-coordinate-system/) [^vulkan-coords]: [Vulkan's coordinate system](http://anki3d.org/vulkan-coordinate-system/)
[^pv227]: [PV227 GPU Rendering (podzim 2022)](https://is.muni.cz/auth/el/fi/podzim2022/PV227/) [^pv227]: [PV227 GPU Rendering (podzim 2022)](https://is.muni.cz/auth/el/fi/podzim2022/PV227/)
[^anti-aliasing]: [LearnOpenGL: Anti-Aliasing](https://learnopengl.com/Advanced-OpenGL/Anti-Aliasing) [^anti-aliasing]: [LearnOpenGL: Anti-Aliasing](https://learnopengl.com/Advanced-OpenGL/Anti-Aliasing)
[^ambient-occlusion]: [Wikipedia: Ambient occlusion](https://en.wikipedia.org/wiki/Ambient_occlusion) [^ambient-occlusion]: [Wikipedia: Ambient occlusion](https://en.wikipedia.org/wiki/Ambient_occlusion)

View File

@ -0,0 +1,7 @@
:root {
scroll-behavior: smooth;
}
a {
scroll-padding-top: 2rem;
}