Příprava na 8. cvičení Na osmém cvičení budeme probírat geometry shadery a environment mapping. Pro hladký průběh cvičení si zopakujte a připravte: • Ze sedmého cvičení: popřemýšlejte, jak vykreslit bod jako billboard, tedy jako otexturovaný čtverec, který je vždy natočen k pozorovateli. • Vzpomeňte si, jak funguje environment mapping, vzpomeňte si, co je cube textura. Projděte si projekt Cv8 ve studijních materiálech. Zaměřte se zejména na: • Ve cvičení budeme používat cube texturu pro odlesky okolí a tuto texturu budeme aktualizovat. V kódu najdete mj. inicializaci náhodné scény a 5 objektů, které se v této scéně animují. V kódu také naleznete inicializaci šesti kamer orientovaných podle šestli stěn cube mapy, a cube textury a framebuffer objekty navázané na tyto textury, do kterých budeme kreslit. • Kreslení probíhá tak, že je nejprve aktualizována textura s okolím (více na přednášce), a ta je poté použita pro finální kreslení do hlavního okna. • Ve cvičení si ukážeme více variant kreslení scény, což ovšem také znamená více shaderů. Doufám, že komentář na začátku funkce reloadshaders alespoň trochu pomůže se v nich vyznat. • Scéna obsahuje skybox. Ten ovšem není kreslen tak, že bychom vykreslili kostku s jednotlivými texturami cube textury, jak bylo řečeno v PV112. Místo toho vykreslíme jednoduchý 2D quad, a ve vertex shaderu pomocí inverze projekční a pohledové matice převedeme směr pohledu ze souř. systému obrazovky do souř. systému kamery a poté do souř. systému světa. Ačkoliv se to může zdát komplikované, je to vlastně jednodušší, nemusíme třeba určovat velikost kostky, aby se vlezla mezi blízkou a vzdálenou ořezovou rovinu kamery. 1