![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Есть два объекта - конус и прямая. Как сделать так, чтобы материал прямой был одного цвета, а конуса - другого и возможно ли это. Проблема в том, что у каждого объекта есть функция LightMaterial(), в ней происходит создание и установка материала
так вот, в зависимости от того, LightMaterial() какого объекта вызовется позднее, таким и будет цвет прямой и конуса -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
C/L |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 31.7.2004 Где: Самара Репутация: нет Всего: 1 |
А в чем проблема? Рисовать объекты наверно нужно по отдельности. Т.е. или у каждого объекта своя функция рендер со своим SetMaterial. Или в главной функции рендера вызывать для каждого объекта сначала SetMaterial( pObject->Material ) а потом pObject -> Render(). Или такой изврат: загнать в регистры видеокарты массив материалов, проиндексировать по материалу вершины в буфере и написать для всего этого шейдеры. Вариантов много...
|
|||
|
||||
Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Так у меня и так для каждого объекта своя функция установки материала
-------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
C/L |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 31.7.2004 Где: Самара Репутация: нет Всего: 1 |
Так это функция создания. Создать материал можно и один раз а устанавливать его надо каждый раз перед рисованием, чтобы заменить предыдущий. Интересно в таком случае увидеть как происходит рендеринг объектов.
|
|||
|
||||
Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
хм... я кажется понял, в чем моя ошибка. У меня объекты сначала создаются все, а потом рендерятся. Надо переделать значит так, чтобы объект рендерился сразу после того как создался!
Это сообщение отредактировал(а) Annihilator - 18.5.2009, 06:37 -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |