Показать сообщение отдельно
Старый 01.10.2010, 15:08
deamoK вне форума Посмотреть профиль Отправить личное сообщение для deamoK Найти все сообщения от deamoK
  № 10  
Ответить с цитированием
deamoK
 
Аватар для deamoK

Регистрация: Sep 2010
Сообщений: 57
неплохо))) еще и с "освещением" ))
но, попытаюсь сделать так:

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