Машграф

mg-render-0 mg-render-1 mg-render-2 mg-render-3 mg-render-4

Это мое задание по машграфу, которое разрабатывалось на втором курсе (то есть в 2005/2006 году).

До этого момента я достаточно много занимался алгоритмами рендеринга земли, неба и воды. Собственно, эта работа получилась наиболее продвинутой из всего, что я делал в этой области. Также она оказалась и завершающей (пока по крайней мере).

Машграф был реализован с использованием библиотеки OpenGL, с использованием Cg для реализации вершинных и пиксельных шейдеров. Все это было сделано на VC++ 2003, у меня все еще иногда возникает желание портировать это под линукс, но все как-то никак не сложится.

Для того, чтобы быстро рендерить объекты, вершинная информация помещалась в видеопамять, путем использования соответствующих расширений OpenGL. Для быстрой загрузки моделей (которые я собирал по инету и потом правил в 3DS MAX) пришлось данные хранились в специальном подготовленном виде, наиболее удобном для загрузки в видеопамять. Соответственно, необходимо было экспортировать данные в этот формат из 3DS MAX. Для этого мне пришлось реализовать соответствующий плагин.