Название: [sh] как прилепить вторую Cube Map к шейдеру (есть ответ) Отправлено: anval от 24 Февраля 2008, 20:05:19 На оффоруме не нешел ничего внятного(http://www.quest3d.nl/community/index.php?topic=63153.0).Как я понял ,каким то образом изменяют шейдер и втыкают непосредственно к поверхности.Но что именно меняют?
Название: Re: как прилепить вторую Cube Map к шейдеру Отправлено: Const_47 от 01 Марта 2008, 00:44:57 В общем кубмапа лепится к шейдеру так
Линкуем канал текстуры(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 Название: Re: как прилепить вторую Cube Map к шейдеру Отправлено: anval от 01 Марта 2008, 15:36:10 Большое спасибо!Заработало! :)
|