Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 04.06.2009, 20:04   #1
Baisangur
ПроЭктировщик
 
Аватар для Baisangur
 
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений
(для 23 пользователей)
Мультитекстурирование в Xors3D.

Интересует мультитекстурирование в Ксорсе. В обычном блице, юзая FastExtension, я делал карты прозрачности по которым у меня в нужном месте накладывались нужные текстуры.
А вот как это сделать в Ксорсе? Как я понимаю без использование пиксельного шейдера тут дело не обойдется?
(Offline)
 
Ответить с цитированием
Старый 04.06.2009, 20:16   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 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();
}
}
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 04.06.2009, 20:35   #3
Baisangur
ПроЭктировщик
 
Аватар для Baisangur
 
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений
(для 23 пользователей)
Ответ: Мультитекстурирование в Xors3D.

Опа =) Спасибо!
(Offline)
 
Ответить с цитированием
Старый 04.06.2009, 21:37   #4
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Мультитекстурирование в Xors3D.

Эм... Это типа 2 текстурных канала разделены альфой и по ней они смешиваются? Это в Хорсе и на ФФП делается, только реализовывал я такую фигу почти 2 года назад поэтому не помню точно номера бленда.
(Offline)
 
Ответить с цитированием
Старый 04.06.2009, 22:56   #5
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Мультитекстурирование в Xors3D.

Сообщение от Knightmare Посмотреть сообщение
Эм... Это типа 2 текстурных канала разделены альфой и по ней они смешиваются? Это в Хорсе и на ФФП делается, только реализовывал я такую фигу почти 2 года назад поэтому не помню точно номера бленда.
Как почитаешь по форуму - на ксорсе все реализовано.
а как семплы откроешь - нефига нужного нет.
открываю деклс - мама дорогая, сколько всего непонятного и НИГДЕ не описанного !

Если бы не было Рендера в аське - давно бы забросил ксорс по причине никудышней документации.

Представляю, сколько буржуев забросило его по этой причине (остались самые упрямые)


Knightmare, нафига текстуры на запись залочил 7
Придется кучу всего переписывать...
и убери, наконец, вылет при загрузке при отсутствии файла. Ну оч. напрягает. Привыкли ужо как в блитце - грузанул, проверил, раз ноль, знач нет.

зы нарыл пяток багов, вот пытаюсь щас их локализовать. но идет туго (16 к строк в проекте - перевод с рабочего в блитце)

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

Шрифт рисуются в тексу в 2 раза больше

Далее будет...
__________________
(Offline)
 
Ответить с цитированием
Старый 04.06.2009, 23:04   #6
Knightmare
Дэвелопер
 
Регистрация: 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
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Мультитекстурирование в Xors3D.

Движение объектов - тоже не такое (динамика вся полетела к чертям, придется все коофициенты менять)
не думаю что его стоит менять, потому что у меня 80 кб кода уже на существующем ксорсе)
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 05.06.2009, 01:12   #8
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Мультитекстурирование в Xors3D.

Да я вот пытался менять - нефига не могу настроить (на блитце 20 мин ушло)

Примитивное направление объекта на цель - не работает
колбасит крутит летает вокруг - в цель ну никак не попадет

Или слежение камеры за объектом
Довольно сложный код, с плавностями всякими, так вот вообще не пашет.
Там все основанно на получении координат и углов от объекта и по ним уже камера высчитывает свое положение.
Так вот неправильно она это все получает.

а уж с парентами - старая история. моск сломан - я так и не понял никаких закономерностей.

примитивнейший код :
плашка с комиксом перед камерой. внизу 4 маленькие плашки с кнопочками, все паренчено к камере - в блитце все отлично, в ксорсе ваще нефига не видно.
2 часа "ловил" эти плашки чтобы на место поставить.
меняешь скейл или положение одной - вторая исчезает...

и мавы, мавы мавы... то на рендер ворд то на текстуребуфер, и хрен поймешь от чего.
в общем уже 3 дня сижу - игра не пашет...

(это все был оффтоп отчаявшегося задроченного багами программиста...)
__________________
(Offline)
 
Ответить с цитированием
Старый 05.06.2009, 01:15   #9
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Мультитекстурирование в Xors3D.

Дык, даешь примеры, все поправим =) Хотя те же паренты я правил, другое дело что когда я с армии вернулся в СВН мы залили не самую свежую версию, так что все может быть.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
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, время: 02:20.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com