Очень просто. Добавьте еще один слой в графики:)
Или, как уже заметил mayorovp, последовательное расширение.
В шейдере для своей игрушки я смешиваю 4 разных текстуры вместе с картами нормалей и одну карту шума.
После игр с математическими операциями мне даже удалось уложиться в ограничения SM2.0.
Оригинальный шейдер является частью коммерческого проекта, поэтому его исходников не будет.
Но если вы хотите повторить эксперимент в Unity 3D, то создайте сцену с плоскостью и назначьте ей следующий шейдер:
Странно, у меня этот код сформировал корректный sql
SELECT [t0].[Id], [t0].[Revision]
FROM [Item] AS [t0]
WHERE (([t0].[Id] = @p0) AND ([t0].[Revision] = @p1)) OR (([t0].[Id] = @p2) AND ([t0].[Revision] = @p3))
var ids = new[]{
new {Id = 1, Revision= 2},
new {Id = 1, Revision= 4},
...
};
var q = from i in context.Items
where ids.Contains(new {i.Id, i.Revision})
select i;
Но она легко может меняться даже непосредственно в игре.
С островками никаких проблем нет, мы просто рисуем их на карте прозрачности слоев.
Не вижу
mixв Cg, наверноlerp?Или, как уже заметил mayorovp, последовательное расширение.
В шейдере для своей игрушки я смешиваю 4 разных текстуры вместе с картами нормалей и одну карту шума.
После игр с математическими операциями мне даже удалось уложиться в ограничения SM2.0.
Но если вы хотите повторить эксперимент в Unity 3D, то создайте сцену с плоскостью и назначьте ей следующий шейдер:
А что такое IP?
if (value.ToString().Length == 4);
// ваш хокку лучший
Просто хотелось показать путь размышлений, как можно прийти к этому алгоритму.
[RRRR RGGG GGGB BBBB RRRR RGGG GGGB BBBB] = P // 2 пикселя
[0000 0111 1110 0000 1111 1000 0001 1111] = 0x07E0F81F
[0000 0GGG GGG0 0000 RRRR R000 000B BBBB] = P & 0x07E0F81F = P' // выделяем нечетные компоненты
[A AAAA] = a // коэффициент прозрачности состоит из 5-ти бит
[0000 0AAA AA00 0000 AAAA A000 000A AAAA] = oddA // выравниваем α по нечетным компонентам
[GGGG GGGG GGGR RRRR RRRR R0BB BBBB BBBB] = P' * oddA // после умножения компоненты начинают занимать выделенные пространства
[0000 0GGG GGGG GGGG RRRR RRRR RR0B BBBB] = P' * oddA >> 5 = P" // выравниваем полученные значения
[0000 0GGG GGG0 0000 RRRR R000 000B BBBB] = P" & 0x07E0F81F // очищаем место для вставки четных компонент