![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
У меня есть абстрактный класс Polygon , наследники которого должны реализовывать метод триангуляции, разбивающий этот полигон на треугольники. Если ещё один класс (myclass) который содержит список полигонов, источников света и метод Paint(), который создаёт массив треугольников из списка полигонов, подсчитывает для них освещённость и рисует их.
Но мне кажеться это неправильно, если источники света не двигались и полигоны тоже, то незачем каждый раз подсчитывать освещённость для них. Я создал ещё один список в myclass, список треугольников, и при добавлении полигона, подсчитывал освещённость. Теперь же я не могу изменять уже добавленный полигон, если я изменю его положение, поверну, то тот список треугольников не изменится в классе myclass. Надеюсь я понятно объяснил что есть и чего хотелось бы добиться. Заранее спасибо! |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
храни данные по треугольникам и освещённости в самом Polygon.
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
А если один Polygon будет принадлежать двум разным объектам myclass?
|
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
тогда случится катаклизм. слушай, ну не знаю, придумай что-нибудь
тебе по сути что надо? ассоциировать данные треуголников\освещённости с полигоном. вариантов того, как это сделать, не так уж и много: 1. хранить в самом полигоне 2. через промежуточный объект-обёртку\посредник над полигоном, который создаётся для каждого полигона во время добавления его в сцену, где и храняться все данные специфичные для сцены, можешь хоть через Dictionary<> это делать. я так понимаю, что тут важнее вопрос эффективности, поэтому и предложил первый вариант. -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Решил делать через Dictionary<>, буду хранить ключи полигоны, значения - треугольники освещённые, мосле модифицирования полигона
нужно будет каждый раз вызывать обновления в Dictionary<> - думаю наилучший вариант |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |