22 Сентября 2024, 11:44:42
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > [sh] как прилепить вторую Cube Map к шейдеру (есть ответ)
[sh] как прилепить вторую Cube Map к шейдеру (есть ответ)
(Прочитано 9488 раз)
  [1]
Печать
anval | *** | Постоялец | Сообщений: 148 | « 24 Февраля 2008, 20:05:19 »
[sh] как прилепить вторую Cube Map к шейдеру (есть ответ) |
0
На оффоруме не нешел ничего внятного(http://www.quest3d.nl/community/index.php?topic=63153.0).Как я понял ,каким то образом изменяют шейдер и втыкают непосредственно к поверхности.Но что именно меняют?
« Последнее редактирование: 22 Сентября 2009, 11:13:03 от Sqwer »
Const_47 | **** | Старожил | Сообщений: 299 | «Ответ #1 01 Марта 2008, 00:44:57 »
Re: как прилепить вторую Cube Map к шейдеру |
1
В общем кубмапа лепится к шейдеру так

Линкуем канал текстуры(c кубмапом) с каналом surfase того объекта на который мы хотим применить кубмап(припустим на первый чилд для текстуры(0)Улыбающийся).

В шейдере объявляем переменную СubMap типа texture , и чтобы слинковать с первым чилдом для текстуры пользуемся Q3D семантикой COLORMAP0.

texture  СubMap     : COLORMAP0; 

Объявляем семплер для Текстуры.

samplerCUBE СubMapSampler = sampler_state {
   Texture = <СubMap>;
   MinFilter = Linear;
   MagFilter = Linear;
   MipFilter = Linear;
   AddressU = clamp;
   AddressV = clamp;
   AddressW = clamp;
};

В пиксельном шейдере читаем кубмап
может так
float4 textureCubMap = texCUBE(СubMapSampler,float4(reflVect.x,reflVect.y,reflVect.z,1))

А может и нет, в зависимости от того что вы хотите. Дальше все зависит от фантазии.
Для глобального Кубмапа пользоваться семантикой ENVIRONMENTCUBE
« Последнее редактирование: 01 Марта 2008, 00:50:43 от Const_47 »
anval | *** | Постоялец | Сообщений: 148 | «Ответ #2 01 Марта 2008, 15:36:10 »
Re: как прилепить вторую Cube Map к шейдеру |
2
Большое спасибо!Заработало! Улыбающийся
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > [sh] как прилепить вторую Cube Map к шейдеру (есть ответ)
Перейти в: