Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
14-1134930295
QwertyKz
2005-12-18 21:24
2006.01.15
Visual Web Developer


2-1135538967
ZeFiR
2005-12-25 22:29
2006.01.15
Чтение после определенного символа из Edit..


14-1135000952
Pazitron_Brain
2005-12-19 17:02
2006.01.15
Электронные репетиторы


3-1132639929
Ega23
2005-11-22 09:12
2006.01.15
Многопоточность и DB-компоненты


1-1134121204
AllDontFire
2005-12-09 12:40
2006.01.15
Invalid Thread - где копать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский