Zajimavy napad :-)
Pres gluPerspective() to asi primo nepujde, ale antiperspektivu by IMHO slo udelat primou upravou transformacni matice GL_PROJECTION.
Musim si to pro jistotu jeste nakreslit, ale myslim, ze kdyz se v poslednim sloupci matice zmeni jedina nenulova hodnota (d) na zapornou, vytvorila by se antiperspektivni matice.
ja jsem to pochopil, jenom jsem se zamyslel nad tim, jak zkonstruovat transformacni matici, aby se kyzeneho efektu dosahlo. Ve hrach si to neumim predstavit, ale jako ficurku navic proc ne - urcite by se nasli dekadenti, kteri by tento zpusob pohybu v prostoru preferovali :-)
Tak jsem vyzkousel tu antiperspektivu. Nehral jsem si primo z transformacnimi maticemi, v realu staci prohodit souradnice predni a zadni orezavaci roviny ve funkci glFrustum() - v gluPerspective() to korektne nejde.
Vysledky jsem zkousel pouze na klasicke cajove konvicce a vypada to opravdu dost divne. Dratovy model (glutSolidTeapot()) je ok - tam nepoznate, co je vepredu a co vzadu. Po prepnuti na vyplneny model (glutWireTeapot()) se stane presne opak toho co ocekavate - co se vam zda, ze je vpredu, se zakryje tim, co je jakoby vzadu. V kazdem pripade zajimava zkusenost.
Jeste si pohraju s nejakou vetsi scenou, kde by bylo vic teles - tam by mely byt zmeny jeste zajimavejsi.