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. | ||