Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Раличные материалы для различных объектов, установка различных материалов 
V
    Опции темы
Annihilator
Дата 14.5.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: нет
Всего: 3



Есть два объекта - конус и прямая. Как сделать так, чтобы материал прямой был одного цвета, а конуса - другого и возможно ли это. Проблема в том, что у каждого объекта есть функция LightMaterial(), в ней происходит создание и установка материала
Код

pDirect3DDevice->SetMaterial(&Material);

так вот, в зависимости от того, LightMaterial() какого объекта вызовется позднее, таким и будет цвет прямой и конуса


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
C/L
Дата 15.5.2009, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 31.7.2004
Где: Самара

Репутация: нет
Всего: 1



А в чем проблема? Рисовать объекты наверно нужно по отдельности. Т.е. или у каждого объекта своя функция рендер со своим SetMaterial. Или в главной функции рендера вызывать для каждого объекта сначала SetMaterial( pObject->Material ) а потом pObject -> Render(). Или такой изврат: загнать в регистры видеокарты массив материалов, проиндексировать по материалу вершины в буфере и написать для всего этого шейдеры. Вариантов много...
PM MAIL WWW ICQ   Вверх
Annihilator
Дата 15.5.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: нет
Всего: 3



Так у меня и так для каждого объекта своя функция установки материала
Цитата(Annihilator @  15.5.2009,  01:27 Найти цитируемый пост)
у каждого объекта есть функция LightMaterial()




--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
C/L
Дата 15.5.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 31.7.2004
Где: Самара

Репутация: нет
Всего: 1



Так это функция создания. Создать материал можно и один раз а устанавливать его надо каждый раз перед рисованием, чтобы заменить предыдущий. Интересно в таком случае увидеть как происходит рендеринг объектов. 
PM MAIL WWW ICQ   Вверх
Annihilator
Дата 16.5.2009, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


Профиль
Группа: Участник
Сообщений: 493
Регистрация: 21.11.2006
Где: Омск

Репутация: нет
Всего: 3



хм... я кажется понял, в чем моя ошибка. У меня объекты сначала создаются все, а потом рендерятся. Надо переделать значит так, чтобы объект рендерился сразу после того как создался!

Это сообщение отредактировал(а) Annihilator - 18.5.2009, 06:37


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0925 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.