|
04.06.2009, 20:04
|
#1
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
Мультитекстурирование в Xors3D.
Интересует мультитекстурирование в Ксорсе. В обычном блице, юзая FastExtension, я делал карты прозрачности по которым у меня в нужном месте накладывались нужные текстуры.
А вот как это сделать в Ксорсе? Как я понимаю без использование пиксельного шейдера тут дело не обойдется?
|
(Offline)
|
|
04.06.2009, 20:16
|
#2
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
почему бы и нет)
набросал:
не ручаюсь что без ошибок)
const float4x4 MatWorldViewProj;
texture Diffuse1; //тайл первый, использует 1й текстурный канал
texture Diffuse2; //тайл второй, использует 1й текстурный канал
texture Mask; //маска, где черное - тайл1, белое - тайл2, использует второй канал
sampler2D DiffTex1 = sampler_state {
Texture = <Diffuse1>;
MagFilter = Linear;
MinFilter = Linear;
AddressU = Wrap;
AddressV = Wrap;
};
sampler2D DiffTex2 = sampler_state {
Texture = <Diffuse2>;
MagFilter = Linear;
MinFilter = Linear;
AddressU = Wrap;
AddressV = Wrap;
};
sampler2D MaskTex = sampler_state {
Texture = <Mask>;
MagFilter = Linear;
MinFilter = Linear;
AddressU = Wrap;
AddressV = Wrap;
};
struct vi {
float4 Position : POSITION0;
float2 TexCoords : TEXCOORD0;
float2 TexCoords1 : TEXCOORD1;
};
struct pi {
float4 Position : POSITION0;
float2 TexCoords : TEXCOORD2;
float2 TexCoords1 : TEXCOORD3;
};
void vs( in vi IN, out pi OUT ) {
OUT.Position= mul(IN.Position,MatWorldViewProj);
OUT.TexCoords = IN.TexCoords;
OUT.TexCoords1 = IN.TexCoords1;
}
float4 maskedps( in pi IN ) : COLOR0
{
float3 diff1=tex2D(DiffTex1,IN.TexCoords);
float3 diff2=tex2D(DiffTex2,IN.TexCoords);
float mask=tex2D(MaskTex,IN.TexCoords1).r;
return float4( lerp(diff1,diff2,mask), 1.0f);
}
technique masked
{
pass p0
{
AlphaBlendEnable = False;
vertexshader = compile vs_2_0 vs();
PixelShader = compile ps_2_0 maskedps();
}
}
|
(Offline)
|
|
04.06.2009, 20:35
|
#3
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
Опа =) Спасибо!
|
(Offline)
|
|
04.06.2009, 21:37
|
#4
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
Эм... Это типа 2 текстурных канала разделены альфой и по ней они смешиваются? Это в Хорсе и на ФФП делается, только реализовывал я такую фигу почти 2 года назад поэтому не помню точно номера бленда.
|
(Offline)
|
|
04.06.2009, 22:56
|
#5
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
Сообщение от Knightmare
Эм... Это типа 2 текстурных канала разделены альфой и по ней они смешиваются? Это в Хорсе и на ФФП делается, только реализовывал я такую фигу почти 2 года назад поэтому не помню точно номера бленда.
|
Как почитаешь по форуму - на ксорсе все реализовано.
а как семплы откроешь - нефига нужного нет.
открываю деклс - мама дорогая, сколько всего непонятного и НИГДЕ не описанного !
Если бы не было Рендера в аське - давно бы забросил ксорс по причине никудышней документации.
Представляю, сколько буржуев забросило его по этой причине (остались самые упрямые)
Knightmare, нафига текстуры на запись залочил 7
Придется кучу всего переписывать...
и убери, наконец, вылет при загрузке при отсутствии файла. Ну оч. напрягает. Привыкли ужо как в блитце - грузанул, проверил, раз ноль, знач нет.
зы нарыл пяток багов, вот пытаюсь щас их локализовать. но идет туго (16 к строк в проекте - перевод с рабочего в блитце)
КопиРект уже точно не работает как надо.
Движение объектов - тоже не такое (динамика вся полетела к чертям, придется все коофициенты менять) но в чем точно загвоздка пока не пойму... (возможно в физике)
Шрифт рисуются в тексу в 2 раза больше
Далее будет...
__________________
|
(Offline)
|
|
04.06.2009, 23:04
|
#6
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
Сообщение от tormoz
Как почитаешь по форуму - на ксорсе все реализовано.
а как семплы откроешь - нефига нужного нет.
открываю деклс - мама дорогая, сколько всего непонятного и НИГДЕ не описанного !
Если бы не было Рендера в аське - давно бы забросил ксорс по причине никудышней документации.
|
Поэтому скора будет релиз новой версии, а там будем только над документацией работать, пока не доведем до мало-мальски терпимого уровня.
Сообщение от tormoz
Knightmare, нафига текстуры на запись залочил 7
Придется кучу всего переписывать...
и убери, наконец, вылет при загрузке при отсутствии файла. Ну оч. напрягает. Привыкли ужо как в блитце - грузанул, проверил, раз ноль, знач нет.
|
Чет не понял про текстуры. Насчет ошибок - как раз работаю над этим, откручиваю форточки, прикручиваю логи, все будет весело падать в случае чего, как в блитзе в обсчем, но с записью в лог (в дебаг версии движка).
Сообщение от tormoz
КопиРект уже точно не работает как надо.
Движение объектов - тоже не такое (динамика вся полетела к чертям, придется все коофициенты менять) но в чем точно загвоздка пока не пойму... (возможно в физике)
Шрифт рисуются в тексу в 2 раза больше
|
Ээээ... Ну xCopyRect я гляну, там вообще-то код был дикий, и его как водится никто не переписал... Насчет динамики - хз, FOV другой конечно, но врядли он скажется так, а вообще попробуй зум в 0 поставить, фиг его знает...
Насчет шрифтов - думаем прикрутить OpenType, многие хвалят, но надо разбиратся.
|
(Offline)
|
|
04.06.2009, 23:08
|
#7
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
Движение объектов - тоже не такое (динамика вся полетела к чертям, придется все коофициенты менять)
|
не думаю что его стоит менять, потому что у меня 80 кб кода уже на существующем ксорсе)
|
(Offline)
|
|
05.06.2009, 01:12
|
#8
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
Да я вот пытался менять - нефига не могу настроить (на блитце 20 мин ушло)
Примитивное направление объекта на цель - не работает
колбасит крутит летает вокруг - в цель ну никак не попадет
Или слежение камеры за объектом
Довольно сложный код, с плавностями всякими, так вот вообще не пашет.
Там все основанно на получении координат и углов от объекта и по ним уже камера высчитывает свое положение.
Так вот неправильно она это все получает.
а уж с парентами - старая история. моск сломан - я так и не понял никаких закономерностей.
примитивнейший код :
плашка с комиксом перед камерой. внизу 4 маленькие плашки с кнопочками, все паренчено к камере - в блитце все отлично, в ксорсе ваще нефига не видно.
2 часа "ловил" эти плашки чтобы на место поставить.
меняешь скейл или положение одной - вторая исчезает...
и мавы, мавы мавы... то на рендер ворд то на текстуребуфер, и хрен поймешь от чего.
в общем уже 3 дня сижу - игра не пашет...
(это все был оффтоп отчаявшегося задроченного багами программиста...)
__________________
|
(Offline)
|
|
05.06.2009, 01:15
|
#9
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Мультитекстурирование в Xors3D.
Дык, даешь примеры, все поправим =) Хотя те же паренты я правил, другое дело что когда я с армии вернулся в СВН мы залили не самую свежую версию, так что все может быть.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Xors3d wants YOU! |
.Squid |
Xors3D |
33 |
13.01.2013 23:34 |
Xors3D для D |
johnk |
Проекты C++ |
8 |
09.08.2009 14:18 |
Xors3D for .NET? |
johnk |
C++ |
7 |
06.08.2009 09:34 |
Xors3D |
ЛысыЙ_Чук-Иванчук |
Модули для BlitzMax |
145 |
18.06.2009 21:17 |
xors3d |
NitE |
3D-программирование |
9 |
02.04.2009 22:21 |
Часовой пояс GMT +4, время: 21:36.
|