Форум: "Игры";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизPD3 - Рендер в текстуру Найти похожие ветки
← →
Warchief (2005-04-30 20:10) [0]Кто-нибудь делал?
← →
dRake © (2005-04-30 20:28) [1]Делал.. и сделал новый PD =)
← →
Warchief (2005-04-30 20:32) [2]А где на него можно посмотреть?
← →
XProger © (2005-04-30 21:15) [3]Warchief, этот вопрос случайно не продолжение темы про лайтмэп?
← →
Warchief (2005-04-30 21:23) [4]Нет :)
← →
dRake © (2005-05-01 01:54) [5]Warchief
Щас через денек выложу и дам сцылку =)
← →
Warchief (2005-05-03 15:43) [6]> dRake © (01.05.05 01:54) [5]
Ну что, как там с сцылкой?
← →
dRake © (2005-05-03 16:40) [7]Warchief
Ох мля щас о праздников отойду наклепаю пару примеров + подниму хостинг тогда и дам сцылку =) жди завтра-послезавтра
← →
Warchief (2005-05-03 19:49) [8]ок. Только надеюсь ты свой PD не запихал в dll? :)
← →
dRake © (2005-05-04 00:50) [9]Warchief
Не не запихал =) Набор сорцов + хидеры
← →
Warchief (2005-05-04 11:01) [10]Жду с нетерпением :)
← →
dRake © (2005-05-04 15:49) [11]Блин с хостингом вообще жопа =)
Давай мыло я тебе вышлю (900 килобайт)
← →
Warchief (2005-05-04 16:09) [12]warchief@inbox.ru
← →
dRake © (2005-05-04 17:51) [13]Усе выслал =)
Теперь как что делать....
1) Если захочешь что-нить скомпилить то заходи в дельфу -> Tools -> Enviroment options -> Library там в строке Library path допиши
%Путь куда распаковал архив%;%Путь куда распаковал архив%\DX8Headers
Тоесть если ты допустим распаковал его в c:\PDrawFX то стока у тебя будет выглядеть так: {bla-bla-bla}; c:\PDrawFX; c:\PDrawFx\DX8Headers;
2) Прежде чем запускать примеры тыркни Runme.bat в папке с примерами, он скопирует в папки с примерами D3DX81ab.dll которая нужна для загрузки текстур.
3) Многое еще недоделано из того, что хотелось сделать (например восстановление устройства после потери контекста, итд...) но большинство уже сделано и отлажено :)
Удачи =)
← →
Warchief (2005-05-04 18:40) [14]Спасибо :)
Мне был нужен только кусок рендера в текстуру, сейчас займусь прилаживанием его к своему "движку" хD
← →
dRake © (2005-05-04 19:23) [15]Гы..
D3DDev.SetRenderTarget() =)
← →
Warchief (2005-05-04 21:13) [16]Пробовал так, не получается (
← →
Warchief (2005-05-04 21:14) [17]dRake
Если у тебя есть под рукой PD3, то может подскажешь как сделать?
← →
dRake © (2005-05-04 23:59) [18]Да у меня целая коллекция этих повердров :)
Думаешь нафига я начал делать свой? Да потому что без вмешательства тяжелой хирургии невозможно научить дрова рендерить в текстуру... Причем самая основная заморочка не с рендером соббс-но а с обучением AGFUnit"a создавать текстуру пригодную для рендера в нее, а потом еще она и не лочится.....
Кстати хозяйке на заметку - PD (2, 3 etc...) ужасно КРИВЫЕ!
Меня, бывало, еле откачивали после просмотра некоторых кусков кода, не говоря уже о нерациональном структурном коде, излишней нагроможденности и прочее... Если интересно могу потом процитировать перлы из PD 2.41 =)
← →
DestroyerZ (2005-05-05 13:23) [19]dRake
И мне кинь плз на destroyerz@mail.ru !
← →
Warchief (2005-05-05 16:57) [20]Сейчас нет твоих исходников под рукой - скажи, у тебя есть отрисовка с произвольными текстурными координатами?
Еще - я запускал примеры, после выхода, наблюдается ошибка (которая "Отправить разработчику")
← →
dRake © (2005-05-05 17:51) [21]Warchief
>Сейчас нет твоих исходников под рукой - скажи, у тебя есть отрисовка с произвольными текстурными координатами?
Да конечно.
PG_TextureMapUV( X1, Y1...X4, Y4,
U1, V1...U4, V4,
Col1..Col4, Effect );
и две обертки: PG_RenderUV.
>после выхода, наблюдается ошибка (которая "Отправить разработчику")
Just fixed =)
← →
dRake © (2005-05-05 17:57) [22]DestroyerZ
Отправил.
← →
Warchief (2005-05-05 21:11) [23]ok, 10x
В случае чего можно к тебе обращаться за помощью?
← →
dRake © (2005-05-05 23:46) [24]Warchief
Канешна =)
← →
Warchief (2005-05-06 21:13) [25]dRake,
слушай, а как у тебя вообще с альфой рисовать?! Есть 32-bit tga с альфа-каналом. Рисовал с e_Alpha, e_Diffuse ни один не канает :(
Загружаю с D3DFMT_A8R8G8B8
← →
dRake © (2005-05-06 22:34) [26]Warchief
Код в студию =)
← →
Warchief (2005-05-07 19:18) [27]Пардон, все ок :)
Просто я сделал загрузку тектсуры из потока, а поток битый оказался :) Попробовал загрузить в поток другую текстуру и все заработало :)
← →
DestroyerZ (2005-05-07 22:37) [28]2 dRake: Хм, я не получил письма. Отправь, плз, еще раз. Ящик работает.
← →
dRake © (2005-05-08 16:01) [29]DestroyerZ
Фак.. мне пришло письмо с ответом что твоя почта не приняла письмо тк оно заражено вирусом :( Прогнал доктора Кашперовского и правда - Все екзешники у меня заражены Win32.Parite.B. Щас полечусь и переотправлю тебе его.
Warchief
Прогонись антивирусом - возможно что в екзешниках с примерами сидит этот паразит. Заранее извиняюсь если это так =) Сам не знал до тех пор когда проги у меня не начали голосить что мол их CRC изменен...
← →
Warchief (2005-05-08 18:32) [30]Вирусов вроде не обнаружил
dRake, Как создать текстуру (не загрузкой из файла/потока!) с альфа каналом?
← →
Warchief (2005-05-08 18:33) [31]Да, еще вопрос - как читать/писать альфу?
← →
dRake © (2005-05-08 18:41) [32]Warchief
>Как создать текстуру (не загрузкой из файла/потока!) с альфа каналом?
Создание текстуры
PI_CreateImage()
Ну а чтобы был альфа-канал в качестве формата пиксела выставь нужный тебе формат содержащй альфа-компоненту :
D3DFMT_A8R8G8B8 (IMGFTM_8888), D3DFMT_A1R5G5B5 (IMGFMT_1555), D3DFMT_A4R4G4B4 (IMGFMT_4444)
>Да, еще вопрос - как читать/писать альфу?
Пока никак. Я сейчас над этим работаю.. Есть довольно тормозной вариант читать/писать через Lock() Unlock(). Если тебе оно надо могу скинуть пропатченый вариант PowerGraph.pas
← →
Warchief (2005-05-08 18:48) [33]А какой смысл создавать текстуру с альфой, если в нее (в альфу) нельзя писать? :)
← →
dRake © (2005-05-08 20:09) [34]>А какой смысл создавать текстуру с альфой, если в нее (в альфу) >нельзя писать? :)
Дык щас занимаюсь этим. Думаю как работу с альфой получше организовать - самому запись в альфу была нужна (дальть дырки в текстуре для игры а-ля червяки ). Думаю сделать дополнительный флаг для комбинации с основными который говорил бы что все действия будут происходить с альфа-каналом потипу
E_Add or E_AlphaChannel
Вот сейчас выясняю можно ли организовать подобное в рамках Fixed Pipeline =)
← →
Warchief (2005-05-08 21:16) [35]А как организовано это в PD3? Посмотри, может поможет :)
← →
dRake © (2005-05-09 00:19) [36]>А как организовано это в PD3? Посмотри, может поможет :)
А никак :) Они и не заморачивались.
У них есть только читалка/запись пикселей по памяти.
Мы пойдем другим путем. Напряжем GPU =)
← →
Warchief (2005-05-09 09:40) [37]Дык, вроде быстро работает в PD3
Но на GPU это конечно правильнее
← →
dRake © (2005-05-09 12:43) [38]Мдя похоже на то что без шейдеров то что я задумал не получится... Блин :(
← →
Warchief (2005-05-09 13:25) [39]Читать/писать пиксели в текстуре с шейдерами? Нет уж увольте :)
← →
dRake © (2005-05-09 15:01) [40]Еклмн... читать писать у меня можно. И никаких шейдеров для этого не надо.
Тема в другом - _рендерить_ (тобишь с помощью GPU) _альфу_ одной текстуры в _альфу_ другой.
На шейдере это как два пальца об асфальт :)
А вот Я сейчас пытаюсь из**нуться и сделать это через RenderState/TextureStageState.
Страницы: 1 2 вся ветка
Форум: "Игры";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.013 c