К п.1 я почти так и думал: то же самое, но с пустым вывернутим цилиндром.
К п.2: Я думал брать плейн, на нем делать обычное отражение(просто вторая камера, а не кубемап - так и проще, и дешевле), а потом это отражение в бэкбуфере обрабатывать какими-нить функциями чтобы получить рябь. Потом из backbuffer'a копировать в texturebuffer, накладывать текстуру на плейн и настроить координаты и вуаля

. Вертексами я уже делал: прикольно но дорого(фпс).
К п.3 THNX!!!