Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

PD3 - Рендер в текстуру


Страницы:   1 2 3 4

Warchief ©   (2005-04-30 20:10:00) 

Кто-нибудь делал?


Warchief   (2005-05-14 13:54:00) [21]

ну так чего там?


Warchief   (2005-05-11 11:47:00) [22]

И не забудь сделать нормальную обработку потери фокуса окном :)


dRake   (2005-05-11 03:35:00) [23]

Зашибись =)
Альфу сделал, сейчас немного причешу все функции.. погоняю..
Правда пришлось переползти на девятую версию Direct3D, да и D3DX тоже (что не очень гуд - D3DX9_24.dll весит 2.11Mb), впрочем она должна идти вместе с директиксом.


dRake   (2005-05-10 22:30:00) [24]

Ну раз нету то вышлю... Щас вроде нашел способ реализовать альфу... Вот только разберусь окончательно...


Warchief   (2005-05-10 10:55:00) [25]

>  PG_Lock/PG_Unlock, PG_SetRGB, PG_GetRGB, PG_SetA, PG_GetA...

нету


dRake   (2005-05-09 23:58:00) [26]

>А как? И в альфу тоже можно?

Хм... раз можно читать/писать пиксел текстуры, а пиксел является совокупностью ARGB компонент цвета, то логично что раз компонента A входит в состав пиксела, то изменять ее тоже можно =)

Посмотри есть ли у тебя в PowerGraph.pas процедуры PG_Lock/PG_Unlock, PG_SetRGB, PG_GetRGB, PG_SetA, PG_GetA...

Если нет, то я тебе закачаю версию где они есть =)
Просто я не помню какую версию тебе тогда скинул :)

Еще вопрос - как после создания/загрузки текстуры изменить ее >размеры?

Только пересоздав ее... D3D не позволяет иначе :)

Епта с праздником вас =) Я тока что приперся с бухаловки =)


Warchief   (2005-05-09 16:10:00) [27]

Еще вопрос - как после создания/загрузки текстуры изменить ее размеры?


Warchief   (2005-05-09 16:09:00) [28]

> Еклмн... читать писать у меня можно. И никаких шейдеров для этого не надо.
А как? И в альфу тоже можно?


dRake   (2005-05-09 15:01:00) [29]

Еклмн... читать писать у меня можно. И никаких шейдеров для этого не надо.

Тема в другом - _рендерить_ (тобишь с помощью GPU) _альфу_ одной текстуры в _альфу_ другой.

На шейдере это как два пальца об асфальт :)
А вот Я сейчас пытаюсь из**нуться и сделать это через RenderState/TextureStageState.


Warchief   (2005-05-09 13:25:00) [30]

Читать/писать пиксели в текстуре с шейдерами? Нет уж увольте :)


dRake   (2005-05-09 12:43:00) [31]

Мдя похоже на то что без шейдеров то что я задумал не получится... Блин :(


Warchief   (2005-05-09 09:40:00) [32]

Дык, вроде быстро работает в PD3
Но на GPU это конечно правильнее


dRake   (2005-05-09 00:19:00) [33]

>А как организовано это в PD3? Посмотри, может поможет :)

А никак :) Они и не заморачивались.
У них есть только читалка/запись пикселей по памяти.
Мы пойдем другим путем. Напряжем GPU =)


Warchief   (2005-05-08 21:16:00) [34]

А как организовано это в PD3? Посмотри, может поможет :)


dRake   (2005-05-08 20:09:00) [35]

>А какой смысл создавать текстуру с альфой, если в нее (в альфу) >нельзя писать? :)

Дык щас занимаюсь этим. Думаю как работу с альфой получше организовать - самому запись в альфу была нужна (дальть дырки в текстуре для игры а-ля червяки ). Думаю сделать дополнительный флаг для комбинации с основными который говорил бы что все действия будут происходить с альфа-каналом потипу


E_Add or E_AlphaChannel


Вот сейчас выясняю можно ли организовать подобное в рамках Fixed Pipeline =)


Warchief   (2005-05-08 18:48:00) [36]

А какой смысл создавать текстуру с альфой, если в нее (в альфу) нельзя писать? :)


dRake   (2005-05-08 18:41:00) [37]

Warchief

>Как создать текстуру (не загрузкой из файла/потока!) с альфа каналом?

Создание текстуры


PI_CreateImage()


Ну а чтобы был альфа-канал в качестве формата пиксела выставь нужный тебе формат содержащй альфа-компоненту :


D3DFMT_A8R8G8B8 (IMGFTM_8888), D3DFMT_A1R5G5B5 (IMGFMT_1555), D3DFMT_A4R4G4B4 (IMGFMT_4444)


>Да, еще вопрос - как читать/писать альфу?

Пока никак. Я сейчас над этим работаю.. Есть довольно тормозной вариант читать/писать через Lock() Unlock(). Если тебе оно надо могу скинуть пропатченый вариант PowerGraph.pas


Warchief   (2005-05-08 18:33:00) [38]

Да, еще вопрос - как читать/писать альфу?


Warchief   (2005-05-08 18:32:00) [39]

Вирусов вроде не обнаружил

dRake, Как создать текстуру (не загрузкой из файла/потока!) с альфа каналом?


dRake   (2005-05-08 16:01:00) [40]

DestroyerZ

Фак.. мне пришло письмо с ответом что твоя почта не приняла письмо тк оно заражено вирусом :( Прогнал доктора Кашперовского и правда - Все екзешники у меня заражены Win32.Parite.B. Щас полечусь и переотправлю тебе его.

Warchief

Прогонись антивирусом - возможно что в екзешниках с примерами сидит этот паразит. Заранее извиняюсь если это так =) Сам не знал до тех пор когда проги у меня не начали голосить что мол их CRC изменен...


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо