неплохо))) еще и с "освещением" ))
но, попытаюсь сделать так:
Цитата:
Сообщение от gloomyBrain
Почитайте про GraphicsPath - может, наведет на нужные мысли.
А вообще - я бы сделал несколько Shape, у каждой из которых будет своя текстура для вывода. Ну и, соответственно, после сортировки полигонов учитывал их текстуру - то есть, если текстура данного полигона отличается от текстуры предыдущего, то данный полигон рисуем в другой шейп. Если нет - то в тот же. Тут как раз и пригодится IGraphicsData
|
попробую разбить всю модельку на полигоны, в каждом будет по 3 координаты и материал, потом сортирую по средней арифм z, и забиваю в GraphicsData.
GraphicsBitmapFill-GraphicsTrianglePath-GraphicsEndFill
Если другой материал следующего полигона, значит забиваю в новую тройку fill, tris, endfill...
потом drawGraphicsData...
=\ пошел думать

(хм, думаю, если один полигон будет налезать на другой, один из них будет полностью покрыт верхним)