Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
statnice:bakalar:b4b39hry [2025/05/28 22:30] – [Pseudo-spojité LOD] zapleka3 | statnice:bakalar:b4b39hry [2025/06/06 21:23] (current) – zapleka3 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Komponenty herního enginu, herní smyčka. Detekce kolizí a základy herní fyziky. Reprezentace a výpočet animací. Základní optimalizační metody pro herní engine. ==== | + | ====== Komponenty herního enginu, herní smyčka. Detekce kolizí a základy herní fyziky. Reprezentace a výpočet animací. Základní optimalizační metody pro herní engine. |
[[https:// | [[https:// | ||
Line 675: | Line 675: | ||
* LOD modely lze generovat automaticky (např. Blender, MeshLab). | * LOD modely lze generovat automaticky (např. Blender, MeshLab). | ||
- | ===== Spojité LOD ===== | + | === Spojité LOD === |
* Geometrie je dynamicky zjednodušována za běhu (např. přepočtem). | * Geometrie je dynamicky zjednodušována za běhu (např. přepočtem). | ||
* Plynulé přechody bez skoků v detailech. | * Plynulé přechody bez skoků v detailech. | ||
Line 686: | Line 686: | ||
* Dynamicky přepínány podle viditelnosti a detailu. | * Dynamicky přepínány podle viditelnosti a detailu. | ||
- | ===== Další optimalizační techniky | + | === Další optimalizační techniky === |
* **Normal map, bump map** – imitují detaily pomocí textur, snižují potřebu polygonů. | * **Normal map, bump map** – imitují detaily pomocí textur, snižují potřebu polygonů. | ||
* **Mip-mapy** – předpočítané verze textur různých velikostí, zlepšují výkon i kvalitu. | * **Mip-mapy** – předpočítané verze textur různých velikostí, zlepšují výkon i kvalitu. | ||
Line 711: | Line 711: | ||
==== 5. Redukování podle viditelnosti (Culling) ==== | ==== 5. Redukování podle viditelnosti (Culling) ==== | ||
- | Culling | + | **Culling** |
- | === View frustum culling | + | === View Frustum Culling |
+ | * Kontroluje, zda je objekt uvnitř **zorného jehlanu (frustum)** kamery. | ||
+ | * Objekty zcela mimo frustum jsou **vynechány z renderingu**. | ||
+ | * Používá se obvykle jako **první filtr** při vykreslování scény. | ||
- | | + | === Occlusion Culling === |
- | * Objekty mimo frustum se **nevykreslují**. | + | |
+ | | ||
+ | | ||
+ | * **Online** – výpočet **za běhu** pomocí: | ||
+ | * **Depth bufferu**, **hierarchického Z-bufferu**, | ||
+ | * **softwarové rasterizace** s jednoduchými tvary (occludery). | ||
- | === Occlusion culling === | + | === Potenciálně |
- | + | * Pro každou | |
- | * Testování, | + | * Při běhu se pak **vykreslují jen tyto objekty**. |
- | * Může být: | + | |
- | * **Offline** – rozdělení scény na buňky (PVS = Potentially Visible Set), | + | |
- | * **Online** – výpočet za běhu (např. pomocí depth bufferu). | + | |
- | + | ||
- | === Potenciálně | + | |
- | + | ||
- | * Pro každou **buňku | + | |
- | * Při běhu se vykreslí pouze tyto objekty. | + | |
* Výpočet: | * Výpočet: | ||
- | * **Offline** – náročný, ale velmi efektivní při běhu. | + | * **Offline** – náročný |
- | * **Online** – rychlejší, | + | * **Online** – rychlejší, vhodný pro dynamické scény, ale méně přesný. |
- | + | ||
- | === Hierarchické zpracování === | + | |
- | + | ||
- | * Používá se hierarchie prostorových struktur (např. octree, kd-tree). | + | |
- | * Redukce počtu testů pomocí **konzistence mezi snímky** – tzv. **coherent hierarchy**. | + | |
+ | === Hierarchické Zpracování a Konzistence === | ||
+ | * Scéna je strukturována pomocí prostorových hierarchií (např. **Octree**, **kd-tree**). | ||
+ | * Efektivní redukce díky **coherent hierarchy** – využití podobnosti mezi snímky. | ||
+ | * Pomáhá omezit opakované testy pro podobné oblasti. |