Ó, díky, přijdu si jak Ládínek Smolíků po návratu z 2D planety! :)
Ale jak už to tak bývá, s každým dílem se něco vysvětlí a jiné otázky otevřou...
Matematika zatím je jasná, klasické transformace. Ale "nenápadně" se neřeší ani pozice ani rotace kamery. A to dokonce ani na těch odkazech o maticích. To je normální? Tj. očekává se, že pro OpenGL ES musím vždy předem transformovat celý prostor, aby pohled byl vždy z (0,0,0) směrem +z ?
A pak bych se chtěl zeptat na obarvování: když tady chceme hrany krychle různou barvou, máme každý vrchol zavedený 3x. (Před)minule když jsme chtěli využít ten samý bod, tak měl barvu definovanou on a ne úsečka, takže pak vznikaly ty barevné přechody. Takže to je tak v OpenGL ES běžné? Tím pádem když chci pak i plochy z trojúhelníků různých barev, tak nemůžu využit ty pásy a trsy trojúhelníků, pokud má každý jinou barvu? Nebo se to v praxi neřeší, udělá se model "nebarevný" a definuje se až textura?
Ono je vlastně jedno, jestli se transformuje celý prostor, aby byl natočený, jak píšete. Nebo jestli se ty transformace otočí a řekne se "teď se pohybuje kamera". Tam neexistuje nějaký absolutní globální souřadný systém, ale vše je relativní vůči sobě. Ano, v klasickém OpenGL+GLU se to logicky rozděluje na nastavení kamery + transformaci objektů, ale v ES se tím musíme zabývat sami (a výsledkem je stejně jedna matice).
Osobně mi připadne klasické GL+GLU pro začátky lepší, ale zase v ES se odstraňuje jedna vrstva abstrakce a víc je vidět, co se děje pod tím (a navíc si člověk zopakuje lineární algebru :-).
Jo, tak určitě lze nalézt isomorfismus transformací :)
Ale názornost být stejná nemusí. Třeba představa pohybu kamery - přijde mi rozdíl ukázat/nastavit dráhu kamery v prostoru nebo že teď se za 3 vteřiny plynule otočí o tolik stupňů, než "vyplivnout" na stdout sadu matic a "čtenáři dumej". Takže jinými slovy si člověk tady musí napsat tu transformaci do matic sám, aby to mohl zadávat v něčem srozumitelném. Výhoda pak samozřejmě je, že to často půjde předpočítat a vlastní program/animace už bude brát jen statická data...
Ale pokud to tak v OpenGL ES je, tak nemá smysl nad tím špekulovat, samozřejmě - já se v zásadě hlavně ptal se ujistit/vyvrátit, jestli to správně chápu :)
13. 10. 2026, 21:58 editováno autorem komentáře
OpenGL ES neřeší matice, zajímá ho jen ta finální a vy si vše spočítejte sami. Protože typický grafický čip s tímto API je integrovaný v hlavním procesoru jako integrovaná grafika a vůbec neobsahuje práci s vertexy, natož maticemi. Jde jen o takzvaný rasterizér. Dostává již transformované vrcholy v screen space 2D prostoru a vyplňuje je barvou nebo texturami. Stejně jako grafické karty před GeForce 1 (resp. GeForce 256, jako počet bitů) v 90tkách. Tranformaci vrcholů dělá CPU pomocí vektorových SIMD jednotek. Neplýtvá se křemíkem (současně v CPU a GPU) a vy je můžete použít i pro negrafické výpočty na CPU.
Pro web zvoleno OpenGL ES kvůli mnohem menšímu počtu funkcí oproti plnému OpenGL, takže bylo snazší ho implementovat. Ony tedy existují dávno knihovny, které umí převádět OpenGL na OpenGL ES. A v prohlížeči už je vedle ES také lowlevel API WebGPU, kdyby někdo chtěl ždímat maximální výkon.
Re barva hran: (možná přesně nechápu otázku). Barva je zapsána pro každý vrchol. Ale otázkou je, co je to vrchol. Tady jsem se nesnažil být příliš "fancy", takže každá hrana krychle (je jich 12) je uložena jako dvojice vrcholů + dvojice stejných barev (takže do pipeliny proudí cca 3x tolik dat, než kdyby se to udělalo nějak sofistikovaněji).
Pokud by se to zařídilo tak, že společný vrchol (3x) bude mít jednu barvu, tak se projeví barvový gradient, ano. A stejně jako u trojúhelníků - ano tam by pásy/trsy dělaly stejný problém.
Jojo, tak jsem to myslel - kvůli různým barvám objektů z toho "stejného" bodu musí být tento bod uveden X-krát. U krychle jen třikrát, v běžné trojúhelníkové síti 5-6krát. No, "neefektivní" mi přijde ještě jako eufemismus :) Tak právě proto jsem se ptal, jestli je můj odhad správný, že přesně proto se na většinu věcí používají v praxi textury.
Uplne mne to pripomnelo linearni algebru v prvaku na vysce. Jsou nad tim nejake nadstavby kdy se jenom rekne tady mas krychli o strane delky X umistena v nejakem bode (prostorove souradnice) a vykresli to kamerou ktera je v jinem bode? Nevidim do toho, tak se mozna ptam hloupe...
Diky, nasel jsem tam neco jako hello word, tak nejak jsem si to predstavoval
https://threejs.org/manual/#creating-a-scene