Fix links to other SZMGR subjects
The other ones are probably still broken
This commit is contained in:
parent
f3a6fd9c7d
commit
dd3679b0a1
@ -16,7 +16,7 @@ description: "TODO"
|
||||
Blokový diagram je abstraktní, high-level popis fungování OpenGL [pv112](#pv112).
|
||||
|
||||
- **_Evaluators_** - aproximace křivek a povrchů
|
||||
- **_Per-vertex operations_** - operace prováděné nad každým vrcholem - transformace, projekce z [model space do camera space](../modelovani-a-projekce), osvětlení jednotlivých vrcholů
|
||||
- **_Per-vertex operations_** - operace prováděné nad každým vrcholem - transformace, projekce z [model space do camera space](../szp08_modelovani_a_projekce), osvětlení jednotlivých vrcholů
|
||||
- **_Primitive assembly_** - sestavení primitiv (body, čáry, trojúhelníky) z vrcholů, projekce do screen space a ořezání
|
||||
- **_Rasterization_** - převod primitiv na fragmenty (2D obdélníky s informací o barvě, hloubce, ...) a interpolace hodnot mezi vrcholy
|
||||
- **_Per-fragment operations_** - operace prováděné nad každým fragmentem a jejich uložení do frame bufferu - osvětlení, texturování, blending, testy (scissor, alpha, stencil, depth)
|
||||
|
@ -227,7 +227,7 @@ Stíny jsou důležité, jelikož:
|
||||

|
||||
|
||||
> [!IMPORTANT]
|
||||
> Shadow mapám se důkladně věnuje otázka [Renderování s využitím GPU](../renderovani-s-vyuzitim-gpu/)
|
||||
> Shadow mapám se důkladně věnuje otázka [Renderování s využitím GPU](../vph07_gpu_rendering/)
|
||||
|
||||
- **Shadow volumes**\
|
||||
Počítá stíny ve 3D. Shadow volume explicitně popisuje objem prostoru ve stínu nějakého polygonu.
|
||||
|
@ -50,7 +50,7 @@ Pro řešení můžeme nyní využít Euler-Lagrangeovy rovnice. Pro funkcionál
|
||||
0 = u - f - \alpha \text{div}(\Psi'(\lvert \nabla u \rvert^2) \nabla u)
|
||||
```
|
||||
|
||||
Nyní můžeme hezky vidět vztah k difuznímu filtrování (otázka [PGV10](../zpracovani_obrazu_pomoci_PDE)):
|
||||
Nyní můžeme hezky vidět vztah k difuznímu filtrování (otázka [PGV10](../pgv10_zpracovani_obrazu_pomoci_pde)):
|
||||
|
||||
| | |
|
||||
| ------------------------ | ------------------------------------------------------------------------------ |
|
||||
|
@ -282,7 +282,7 @@ Numerická diferenciace se využívá pro aproximaci differenciálních rovnic (
|
||||
Pokud známe hodnoty $f$ můžeme mezi nimi interpolovat pomocí Lagrangeova polynomu a derivovat ten, protože derivovat polynomy je jednoduché.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Lagrangeovu interpolaci řeší část otázky [Křivky a povrchy](../krivky-a-povrchy/).
|
||||
> Lagrangeovu interpolaci řeší část otázky [Křivky a povrchy](../szp05_krivky_a_povrchy/).
|
||||
|
||||
- **Finite difference method**\
|
||||
Rodina metod numerické diferenciace, které využívají _konečné diference_. Tedy approximují limitu v definici derivace malými posuny ve vstupních hodnotách diferenciovaných funkcí. [finite-difference-method](#finite-difference-method)
|
||||
|
@ -194,7 +194,7 @@ description: "TODO"
|
||||
### Modelování
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Tahle sekce má docela průnik s otázkou [Modelování 3D postav](../modelovani-3d-postav/).
|
||||
> Tahle sekce má docela průnik s otázkou [Modelování 3D postav](../vph08_modelovani_3d_postav/).
|
||||
|
||||
- **Boundary representation model (B-rep)**\
|
||||
Modelování objektů pomocí jejich hranic -- boundaries (hrany, stěny, atd.).
|
||||
@ -322,7 +322,7 @@ description: "TODO"
|
||||
### Změna struktury sítě
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Modifikace meshů mají značný přesah do otázky [Křivky a povrchy](../krivky-a-povrchy/) a taky [Pokročilá počítačová grafika](../pokrocila-pocitacova-grafika/)
|
||||
> Modifikace meshů mají značný přesah do otázky [Křivky a povrchy](../krivky-a-povrchy/) a taky [Pokročilá počítačová grafika](../vph01_pokrocila_grafika/)
|
||||
|
||||
- **Překlápění hrany / edge flip**\
|
||||
Lokální změna, která nahradí hranu $(b,c)$ hranou $(a,d)$. Trojúhelníky $(a,b,c)$ a $(b,d,c)$ se stanou $(a,d,c)$ a $(a,b,d)$. [pa010-2021](#pa010-2021)
|
||||
|
@ -49,7 +49,7 @@ Tato rovnice udává množinu bodů, ze které se křivka nebo povrch sestává.
|
||||
> Výhodou implicitně zadaných ploch je kompaktnější reprezentace a jednodušší ray casting. Nicméně výpočty s nimi jsou časově náročné, takže se stejně nejdřív převádí na polygonové meshe -- _polygonizace_.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Tahle sekce přesahuje do [3D modelování a datové struktury](../3d-modelovani-a-datove-struktury/) -> _Implicitní reprezentace a modelování_.
|
||||
> Tahle sekce přesahuje do [3D modelování a datové struktury](../szp04_3d_modelovani/) -> _Implicitní reprezentace a modelování_.
|
||||
|
||||
### Parametrická reprezentace
|
||||
|
||||
|
@ -155,7 +155,7 @@ description: "TODO"
|
||||
### Trénink
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Pro likelihood viz otázka [Statistika](../statistika/).
|
||||
> Pro likelihood viz otázka [Statistika](../szp03_statistika/).
|
||||
|
||||
Neuronka je model, kde váhy neuronů jsou parametry. Při učení neuronek je naším cílem maximalizovat likelihood, jakožto míru toho, že naše síť sedí na "naměřená data", training set $\cal T$. Tomuhle přístupu se říká _maximum likelihood principle_.
|
||||
|
||||
@ -277,7 +277,7 @@ Za předpokladu, že $E$ je squared error, pak:
|
||||
Neuronové sítě uzpůsobené ke zpracování obrazu. Místo násobení matic používají alespoň v jedné vrstvě konvoluci. Konvoluční sítě mají dva nové typy vrstev: _konvoluční_ a _pooling_, ale jinak se od klasických MLP moc neliší. Aktivace a trénink zůstavají v podstatě stejné. [cnn](#cnn)
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Pro konvoluci viz otázka [Zpracování rastrového obrazu](../zpracovani-rastroveho-obrazu/).
|
||||
> Pro konvoluci viz otázka [Zpracování rastrového obrazu](../szp09_zpracovani_obrazu/).
|
||||
|
||||
**Typical CNN by [Aphex34](https://commons.wikimedia.org/w/index.php?curid=45679374)**
|
||||
|
||||
|
@ -207,7 +207,7 @@ Dijkstrův algoritmus lze optimalizovat, pokud nás zajímá jen nejkratší ces
|
||||
- Můžeme přidat _potenciál_ -- dodatečnou heuristickou váhu.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Téhle variantě se říká A\* (A star). Věnuje se mu část otázky [Umělá inteligence v počítačových hrách](../umela-inteligence-v-pocitacovych-hrach/).
|
||||
> Téhle variantě se říká A\* (A star). Věnuje se mu část otázky [Umělá inteligence v počítačových hrách](../vph06_ai_ve_hrach/).
|
||||
|
||||
## Kostry
|
||||
|
||||
|
@ -32,7 +32,7 @@ description: A guide in my new Starlight docs site.
|
||||
## MVP matice
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Pro implementaci v OpenGL viz [Renderování s využitím GPU](../renderovani-s-vyuzitim-gpu/).
|
||||
> Pro implementaci v OpenGL viz [Renderování s využitím GPU](../vph07_gpu_rendering/).
|
||||
|
||||
> [!WARNING]
|
||||
> Při zápisu matic bacha na to, jestli jsou row-major nebo column-major. Třeba v OpenGL to znamená, že se všechny matice píší v transponované podobě, jelikož OpenGL je column-major a v takovém pořádí jsou i parametery `mat2`, `mat3` a `mat4` V GLSL.
|
||||
|
@ -105,7 +105,7 @@ Převod nelze vyjádřit v lineárním tvaru
|
||||
|
||||
kde $T$ je práh. Pokud je $T$ konstanta, pak se jedná o _globální prahování_.
|
||||
|
||||
Prahování se pořádně věnuje otázka [Analýza rastrového obrazu](../analyza-rastroveho-obrazu/).
|
||||
Prahování se pořádně věnuje otázka [Analýza rastrového obrazu](../szp10_analyza_obrazu/).
|
||||
|
||||
- **Paleta**\
|
||||
Můžeme použít funkci či vyhledávácí tabulku pro přemapování existujících hodnot v obrazu na jiné (viz barevné škály u vizualizací).
|
||||
@ -267,7 +267,7 @@ Proces, kdy hledání _hran_ v obraze. Hrana je křivka, podél níž pixely vý
|
||||
- Hrany lze detekovat pomocí konvoluce.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Numerické diferenciaci se věnuje otázka [Numerické metody](../numericke-metody/).
|
||||
> Numerické diferenciaci se věnuje otázka [Numerické metody](../szp02_numericke_metody/).
|
||||
|
||||
### Podle první derivace (gradientu)
|
||||
|
||||
@ -536,7 +536,7 @@ Samplování je převod spojitého signálu na diskrétní. [sampling](#sampling
|
||||
- Při nesplnění těchto podmínek vzniká aliasing.
|
||||
|
||||
> [!TIP]
|
||||
> Aliasingu se věnuje část otázky [Renderování s využitím GPU](../renderovani-s-vyuzitim-gpu/).
|
||||
> Aliasingu se věnuje část otázky [Renderování s využitím GPU](../vph07_gpu_rendering/).
|
||||
|
||||
> [!TIP]
|
||||
> Intuitivně je signál hromádka kopečků. Abychom poznali i ty nejužší kopečky -- s nejvyšší frekvencí -- musíme mít dostatečně jemné síto -- koukat na kopečky s dvakrát takovou frekvencí, abychom si všimli, že někde začíná a končí.
|
||||
|
@ -163,7 +163,7 @@ Popis objektů je proces, při kterém se počítají vlastnosti segmentovaných
|
||||
Vlastnosti objektu nezávislé na jeho deformaci. Např. počet děr.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Pro topologické vlastnosti viz otázka [3D modelování a datové struktury](../3d-modelovani-a-datove-struktury/).
|
||||
> Pro topologické vlastnosti viz otázka [3D modelování a datové struktury](../szp04_3d_modelovani/).
|
||||
|
||||
- **Ohraničující obdélník / bounding box**\
|
||||
Nejmenší obdélník ohraničující objekt.
|
||||
@ -230,7 +230,7 @@ Popis objektů je proces, při kterém se počítají vlastnosti segmentovaných
|
||||
Problém zařazení objektů do jedné z předem daných tříd.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Detaily přístupů řešení klasifikace lze nalézt v otázce [Strojové učení](../strojove-uceni/).
|
||||
> Detaily přístupů řešení klasifikace lze nalézt v otázce [Strojové učení](../szp06_strojove_uceni/).
|
||||
|
||||
- **Konstrukce formálního popisu / známý algoritmus**\
|
||||
Pokud lze napsat formální popis tříd, lze klasifikátor realizovat přímo pomocí programu.
|
||||
|
@ -17,7 +17,7 @@ description: "TODO"
|
||||
3D objekty mohou být definované mnoha miliony polygony či výpočetně náročnými matematickými funkcemi. Pro renderování v reálném čase je tedy žádoucí je zjednodušit a přitom zachovat jejich vzhled -- aproximovat je.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Aproximace objektů souvisí s collidery, kterým se částečně věnuje otázka [Grafické a fyzikální principy](../graficke-a-fyzikalni-principy/).
|
||||
> Aproximace objektů souvisí s collidery, kterým se částečně věnuje otázka [Grafické a fyzikální principy](../vph02_graficke_a_fyzikalni_principy/).
|
||||
|
||||
### Redukce počtu polygonů
|
||||
|
||||
@ -347,7 +347,7 @@ Stíny jsou důležité, jelikož:
|
||||

|
||||
|
||||
> [!IMPORTANT]
|
||||
> Shadow mapám se důkladně věnuje otázka [Renderování s využitím GPU](../renderovani-s-vyuzitim-gpu/)
|
||||
> Shadow mapám se důkladně věnuje otázka [Renderování s využitím GPU](../vph07_gpu_rendering/)
|
||||
|
||||
- **Shadow volumes**\
|
||||
Počítá stíny ve 3D. Shadow volume explicitně popisuje objem prostoru ve stínu nějakého polygonu.
|
||||
|
@ -222,7 +222,7 @@ Ray tracing jsou techniky, které trasují paprsky světla napříč scénou.
|
||||
## Fyzikální simulace
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Renderování založenému na fyzikálních principech se věnuje část otázky [Pokročilá počítačová grafika](../pokrocila-pocitacova-grafika/).
|
||||
> Renderování založenému na fyzikálních principech se věnuje část otázky [Pokročilá počítačová grafika](../vph01_pokrocila_grafika/).
|
||||
|
||||
- **Rigid body**\
|
||||
Aproximace reálného fyzikálního tělesa. Předpokládá uniformní hostotu a **neřeší:**
|
||||
|
@ -139,7 +139,7 @@ Games are not experiences, they are artifacts people play with while / to create
|
||||
Hry dovedou navodit řadu různých herních zážitků, které můžeme různými způsoby kategorizovat.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Herní zážitky souvisí s pojmem obtížnost, kterému se věnuje část otázky [Herní design II](../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/).
|
||||
|
||||
==== LeBlanc’s Eight Kinds of Fun
|
||||
|
||||
@ -198,7 +198,7 @@ Něco známeho, povědomého pro hráče.
|
||||
Designér iterativně vytváří hrubé verze hry, které testuje a upravuje. Prototyp je osekaná verze hry, která obsahuje mechaniky, ale ne nutně grafiku. Prototyp lze využít k ověření herního designu - je hra zábavná?
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Testováním se více zabývá otázka [Herní design II](../herni-design-ii/).
|
||||
> Testováním se více zabývá otázka [Herní design II](../vph04_herni_design_ii/).
|
||||
|
||||
== Game Designer
|
||||
|
||||
|
@ -38,7 +38,7 @@ description: "TODO"
|
||||
## Souřadnicové systémy
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Tahle část otázky má značný překryv s otázkou [Modelování a projekce](../modelovani-a-projekce/).
|
||||
> Tahle část otázky má značný překryv s otázkou [Modelování a projekce](../szp08_modelovani_a_projekce/).
|
||||
|
||||
**Coordinate Systems [coordinate-systems](#coordinate-systems)**
|
||||
|
||||
@ -178,7 +178,7 @@ Při zvolání `glDraw*` se používá OpenGL pipeline, která se skládá z ně
|
||||
## Shadow mapy
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Renderování stínů se věnuje také otázka [Pokročilá počítačová grafika](../pokrocila-pocitacova-grafika/).
|
||||
> Renderování stínů se věnuje také otázka [Pokročilá počítačová grafika](../vph01_pokrocila_grafika/).
|
||||
|
||||
1. Vytvoř shadow mapu -- vyrenderuj scénu z pohledu světla a ulož hloubku do Z-bufferu.
|
||||
2. Stínování -- vyrenderuj scénu jako obvykle, ale aplikuj shadow mapu
|
||||
|
@ -80,7 +80,7 @@ description: "TODO"
|
||||
## Topologie a modifikace
|
||||
|
||||
> [!TIP]
|
||||
> Pro základní topologické pojmy viz [3D modelování a datové struktury](../3d-modelovani-a-datove-struktury/).
|
||||
> Pro základní topologické pojmy viz [3D modelování a datové struktury](../szp04_3d_modelovani/).
|
||||
|
||||
- **Meshflow**\
|
||||
Logické uspořádání hran a polygonů v mnohoúhelníkové síti.
|
||||
@ -111,7 +111,7 @@ description: "TODO"
|
||||
Typický 3D model se skládá nejen z meshe, ale i z materiálů, které jsou v herních enginech typicky reprezentovány texturami (mapami).
|
||||
|
||||
> [!NOTE]
|
||||
> Typy map souvisí s _physically based rendering_ (PBR), kterému se částečně věnuje otázka [Pokročilá počítačová grafika](../pokrocila-pocitacova-grafika/).
|
||||
> Typy map souvisí s _physically based rendering_ (PBR), kterému se částečně věnuje otázka [Pokročilá počítačová grafika](../vph01_pokrocila_grafika/).
|
||||
|
||||
- **UV unwrapping**\
|
||||
Tvorba 2D reprezentace 3D modelu -- projekce jeho polygonů na 2D plochu. Toto mapování se posléze využívá při texturování. Proces zahrnuje označování _seams_ -- hran, podél kterých se bude model "rozřezávat". Nevhodná volba seams vede k deformaci textur.
|
||||
|
55
transform-links.py
Normal file
55
transform-links.py
Normal file
@ -0,0 +1,55 @@
|
||||
import os
|
||||
|
||||
TARGET_DIR = "src/content/docs/szmgr"
|
||||
|
||||
links = {
|
||||
"zaklady_vizualizace": "PGV01_zaklady_vizualizace",
|
||||
"metody_vizualizace": "PGV02_metody_vizualizace",
|
||||
"zaklady_pocitatcove_grafiky": "PGV03_zaklady_pocitatcove_grafiky",
|
||||
"geometricke_algoritmy": "PGV04_geometricke_algoritmy",
|
||||
"deleni_prostoru_a_sceny": "PGV05_deleni_prostoru_a_sceny",
|
||||
"vykreslovani_objemovych_dat": "PGV06_vykreslovani_objemovych_dat",
|
||||
"modely_osvetleni": "PGV07_modely_osvetleni",
|
||||
"real_time_rendering": "PGV08_real_time_rendering",
|
||||
"minimalizace_energie": "PGV09_minimalizace_energie",
|
||||
"zpracovani_obrazu_pomoci_PDE": "PGV10_zpracovani_obrazu_pomoci_PDE",
|
||||
"algoritmy-a-datove-struktury": "SZP01_algoritmy",
|
||||
"numericke-metody": "SZP02_numericke_metody",
|
||||
"statistika": "SZP03_statistika",
|
||||
"3d-modelovani-a-datove-struktury": "SZP04_3d_modelovani",
|
||||
"krivky-a-povrchy": "SZP05_krivky_a_povrchy",
|
||||
"strojove-uceni": "SZP06_strojove_uceni",
|
||||
"grafy-a-grafove-algoritmy": "SZP07_grafy",
|
||||
"modelovani-a-projekce": "SZP08_modelovani_a_projekce",
|
||||
"zpracovani-rastroveho-obrazu": "SZP09_zpracovani_obrazu",
|
||||
"analyza-rastroveho-obrazu": "SZP10_analyza_obrazu",
|
||||
"graficke-principy-ve-vyvoji-her": "VPH01_graficke_principy_ve_vyvoji_her",
|
||||
"pokrocila-pocitacova-grafika": "VPH01_pokrocila_grafika",
|
||||
"fyzikalni-principy-ve-vyvoji her": "VPH02_fyzikalni_principy_ve_vyvoji_her",
|
||||
"graficke-a-fyzikalni-principy": "VPH02_graficke_a_fyzikalni_principy",
|
||||
"herni-design-i": "VPH03_herni_design_i",
|
||||
"herni-design-ii": "VPH04_herni_design_ii",
|
||||
"vyvoj-her": "VPH05_vyvoj_her",
|
||||
"umela-inteligence-v-pocitacovych-hrach": "VPH06_ai_ve_hrach",
|
||||
"renderovani-s-vyuzitim-gpu": "VPH07_gpu_rendering",
|
||||
"modelovani-3d-postav": "VPH08_modelovani_3d_postav",
|
||||
}
|
||||
|
||||
|
||||
files = [f for f in os.listdir(TARGET_DIR) if f.endswith(".md")]
|
||||
|
||||
for f in files:
|
||||
print(f"\t- {f}")
|
||||
lines = []
|
||||
with open(os.path.join(TARGET_DIR, f), "r") as file:
|
||||
lines = file.readlines()
|
||||
|
||||
for i in range(len(lines) - 1):
|
||||
l = lines[i]
|
||||
for url in links.keys():
|
||||
search = f"../{url}"
|
||||
if search in l:
|
||||
lines[i] = l.replace(search, f"../{links[url].lower()}")
|
||||
|
||||
with open(os.path.join(TARGET_DIR, f), "w") as file:
|
||||
file.writelines(lines)
|
Loading…
Reference in New Issue
Block a user