forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Текстура (http://forum.boolean.name/showthread.php?t=14281)

}{@KeR 22.02.2011 16:22

Текстура
 
Какие предположения сделать светящиеся линии на полу??????






Venom2 22.02.2011 17:32

Ответ: Текстура
 
Вложений: 2
Квад с текстурой светящегося прямоугольника и аддитивным блендингом.
Пример в аттаче.

EvilChaotic 22.02.2011 18:17

Ответ: Текстура
 
Два способа.
1) Декаль бленда аддтив с текстурой глоу.
2) Второй слой текстуры с глоу с блендом аддтива на модель.

}{@KeR 22.02.2011 21:24

Ответ: Текстура
 
А можно сделать чтобы например светящаяся полоска пробегала по этой текстуре(Ну чтобы этот Rect переливался)

Mr_F_ 22.02.2011 21:31

Ответ: Текстура
 
PositionTexture

FireOwl 22.02.2011 21:32

Ответ: Текстура
 
Можно попробовать наложить анимированную текстуру. (see help)

}{@KeR 22.02.2011 21:38

Ответ: Текстура
 
Ща попробую :-)

}{@KeR 22.02.2011 21:52

Ответ: Текстура
 
Как точно рассчитать ширину и высоту каждого кадра анимации???

FireOwl 22.02.2011 21:58

Ответ: Текстура
 
Размеры произвольные, они указываются при загрузке.
Текстуру надо будет склеить из кадров в виде ленты. (Слева направо, вроде)

Возможно менее тяжелым будет вариант Mr_F_ - двигать текстуру с бликом через PositionTexture.
(Текстуру самого квадрата, или прозрачной пластинки с "бликом" над ним, как-нибудь так...)

mr.DIMAS 22.02.2011 22:00

Ответ: Текстура
 
Канеш быстрее и памяти меньше жрать будет, и будет избавлен от дёрганий - как в случае с анимированной текстурой. В общем анимированные текстуры - кал

RegIon 23.02.2011 05:44

Ответ: Текстура
 
Тут проблемы DX7 и начались..

RegIon 23.02.2011 07:50

Ответ: Текстура
 
Как бы мне портал отрисовать..саму маску??

}{@KeR 23.02.2011 10:42

Ответ: Текстура
 
А чтобы эти линии в разных частях Plane были надо для каждого Mesh'a свою поверхность делать....да????

RegIon 23.02.2011 10:49

Ответ: Текстура
 
Цитата:

А чтобы эти линии в разных частях Plane были надо для каждого Mesh'a свою поверхность делать....да????
можно так...а можно большую текстуру сделать...а можно в максе наложить текстуру..а потом TextureFX наложить

Venom2 23.02.2011 13:28

Ответ: Текстура
 
Вложений: 2
Цитата:

Сообщение от Костян (Сообщение 180116)
Как бы мне портал отрисовать..саму маску??

Мешу квада портала (ну или спрайту, что ты там используешь) включай альфа-смешивание (EntityFX флаг 32), текстуры в два слоя - изображение и маску. Изображению, т.е. текстуре в которую копируешь с экрана, нужно поставить флажок 256 чтобы в видеопамяти была, так быстрее копируется. Маска - обычная белая текстура с альфа-каналом.
Пример в аттаче, там в основном мишура для демонстрации, так что сразу по текстурам (в начале) смотри.
ЗЫ
А вообще, по порталам, рекомендую глянуть FastExt библиотеку, там вроде есть сразу рендер в текстуру, все же CopyRect не очень хорошее решение.

Venom2 23.02.2011 13:38

Ответ: Текстура
 
Цитата:

Сообщение от }{@KeR (Сообщение 180122)
А чтобы эти линии в разных частях Plane были надо для каждого Mesh'a свою поверхность делать....да????

1) Меш на каждый такой участок с линиями (но тогда проще использовать встроеные спрайты)
+ будет отсечение невидимых спрайтов
- каждый спрайт\меш - одтельный ентити, много ентитей - тяжелее блицу :)
2) Меш один, на каждый участок свой сурфейс
+ т.к. сурфейсы отдельные, можно юзать разные материалы
+ можно заранее смоделировать все участки с линиями
- много сурфейсов тоже не хорошо, но лучше чем много ентитей :)
- отсечения отдельных участков линий не будет, т.к. идет по ентитям
3) Меш один и один сурфейс, на каждый участок просто свой квад (полигон)
+ рисоваться будет быстрее всего
+ можно заранее смоделировать все участки с линиями
- один материал на все линии
- отсечения тоже естественно не будет

Выбирай короче говоря по вкусу :) Я бы заранее смоделил вместе с уровнем.

RegIon 23.02.2011 14:57

Ответ: Текстура
 
Цитата:

Мешу квада портала (ну или спрайту, что ты там используешь) включай альфа-смешивание (EntityFX флаг 32), текстуры в два слоя - изображение и маску. Изображению, т.е. текстуре в которую копируешь с экрана, нужно поставить флажок 256 чтобы в видеопамяти была, так быстрее копируется. Маска - обычная белая текстура с альфа-каналом.
Пример в аттаче, там в основном мишура для демонстрации, так что сразу по текстурам (в начале) смотри.
ЗЫ
А вообще, по порталам, рекомендую глянуть FastExt библиотеку, там вроде есть сразу рендер в текстуру, все же CopyRect не очень хорошее решение.
портал.Рар
В чём косяк...висит сильно.и текстура криво..и не могу написать Function для плайнов (заместо спрайтов) написать...с твоего кода вырезать не получается...

Venom2 23.02.2011 15:56

Ответ: Текстура
 
Цитата:

Сообщение от Костян (Сообщение 180149)
портал.Рар
В чём косяк...висит сильно.и текстура криво..и не могу написать Function для плайнов (заместо спрайтов) написать...с твоего кода вырезать не получается...

Ужасный код, даже незнаю с чего начать, глаза разбегаются :)
Укажу пару-тройку самых больших косяков:
1) в функции renderimg создаешь рисунок, он нигде не удаляется -> утечка памяти.
2) ставишь размеры текстур кривые, старайся ставить 2^n, т.е. 2,4,8,16,32,64...
3) юзаешь рисунки для внеэкранного рендеринга. Советую вообще забыть про все 2д в блице, юзай FastImage библиотеку например, т.к. в блице все 2D не имеет аппаратной поддержки. Пример я приводил как с камеры снимать изображение, смотри код.

RegIon 24.02.2011 08:12

Ответ: Текстура
 
Цитата:

в функции renderimg создаешь рисунок, он нигде не удаляется -> утечка памяти.
-->IF img=0 img=CreateImage(w,h)
Нах удалять...он его обновляет..перерисовывает на нём...
Цитата:

2) ставишь размеры текстур кривые, старайся ставить 2^n, т.е. 2,4,8,16,32,64...
я просто проверить решил...256*256 маленькая*пойдёт) была, а 512*512 большая
Цитата:

3) юзаешь рисунки для внеэкранного рендеринга. Советую вообще забыть про все 2д в блице, юзай FastImage библиотеку например, т.к. в блице все 2D не имеет аппаратной поддержки. Пример я приводил как с камеры снимать изображение, смотри код.
тоже самое......только я не знал ещё как маску на текстуру сделать...вот и юзал имги...а fastImage---ПЛАТНЫЙ

Venom2 24.02.2011 08:59

Ответ: Текстура
 
Цитата:

Сообщение от Костян (Сообщение 180299)
-->IF img=0 img=CreateImage(w,h)
Нах удалять...он его обновляет..перерисовывает на нём...

У тебя переменная img нигде в глобальных не обьявлена, а значит она автоматом как локальная обьявляется и каждый раз условие срабатывает, ёпта. И кстати глобальные переменные тоже зло, не только синтаксически, но и по отношению к блицу (запись в них гораздо медленнее чем в локальные, хз почему)
Цитата:

Сообщение от Костян (Сообщение 180299)
я просто проверить решил...256*256 маленькая*пойдёт) была, а 512*512 большая

С чего вдруг большая? Чем больше текстура, тем четче будет изображение к чему и надо стремиться. Но т.к. копирование с экрана, размер текстуры нельзя больше размера экрана делать. Т.е. по хорошему нужен нормальный рендеринг в текстуру, а это только библиотеками.
Цитата:

Сообщение от Костян (Сообщение 180299)
тоже самое......только я не знал ещё как маску на текстуру сделать...вот и юзал имги...а fastImage---ПЛАТНЫЙ

Для отладки сойдет и так, а потом можешь попробывать договориться с автором. Тем более цена очень низкая :)

ЗЫ
Кстати у меня в примере неверно изображение в порталы рендерится. На самом деле нужно по проекции рисовать. Т.е. в зависимости от того под каким углом смотрит и насколько удалена камера игрока. Т.к. чем ближе подходишь к порталу, тем больше через него видишь. В примере камеры статичные, что неверно. Но это довольно сложно, особенно на блице. Камеру портала надо ставить по идее инвертировано и зеркально по отношению к камере игрока, чтобы получить корректное изображение :)
Попробуй на бумаге прорисуй ситуации,так гораздо проще понять.

RegIon 24.02.2011 09:05

Ответ: Текстура
 
Цитата:

У тебя переменная img нигде в глобальных не обьявлена, а значит она автоматом как локальная обьявляется и каждый раз условие срабатывает, ёпта. И кстати глобальные переменные тоже зло, не только синтаксически, но и по отношению к блицу (запись в них гораздо медленнее чем в локальные, хз почему)
зы...я не знал что функция скидывается...я тумал что в ней грузится в память...на бумаге удаляется..перепишу..ок
Цитата:

ЗЫ
Кстати у меня в примере неверно изображение в порталы рендерится. На самом деле нужно по проекции рисовать. Т.е. в зависимости от того под каким углом смотрит и насколько удалена камера игрока. Т.к. чем ближе подходишь к порталу, тем больше через него видишь. В примере камеры статичные, что неверно. Но это довольно сложно, особенно на блице. Камеру портала надо ставить по идее инвертировано и зеркально по отношению к камере игрока, чтобы получить корректное изображение
Попробуй на бумаге прорисуй ситуации,так гораздо проще понять.
на бумаги даже зум есть, когда подходишь отходишь....я сначала его отрисовать попытался..
--исправил...Ща удаляет, и работать стал быстрей..но всё равно FPS более 50 не прыгает..ограничил Таймером до 60

Alex_Noc 01.03.2011 16:15

Ответ: Текстура
 
Опиши какой портал хочешь - как чтобы он выглядел визуально?

RegIon 05.03.2011 11:18

Ответ: Текстура
 
Цитата:

Опиши какой портал хочешь - как чтобы он выглядел визуально?
тип как в Portal .....но на персонаже не будет меша..и порталы не будут смотреть прямо на него..

Alex_Noc 05.03.2011 20:20

Ответ: Текстура
 
не играл в портал!

}{@KeR 05.03.2011 21:24

Ответ: Текстура
 
Вот глянь ка
http://www.youtube.com/watch?v=TluRVBhmf8w

Alex_Noc 05.03.2011 23:47

Ответ: Текстура
 
выше пример подходит

RegIon 06.03.2011 07:07

Ответ: Текстура
 
да портал то есть..а вот как такое же перемещение мешей сделать..

Alex_Noc 06.03.2011 16:23

Ответ: Текстура
 
что не понятного? есть исходная точка и точка назначения (для особо одаренных замечу что портала 2) , реализацию думай сам - подсказка :
по событиям - positionentity или translateentity или moveentity, чтоб морда смотрела все время правильно поворачиваешь ТАК ЖЕ КАК ПОВЕРУТ ПОРТАЛ ТОЧКИ НАЗНАЧЕНИЯ.
В коде писать не буду. но вопрос ОЧЕНЬ ПРОСТО РЕАЛИЗУЕМЫЙ!

RegIon 07.03.2011 13:59

Ответ: Текстура
 
Цитата:

что не понятного? есть исходная точка и точка назначения (для особо одаренных замечу что портала 2) , реализацию думай сам - подсказка :
по событиям - positionentity или translateentity или moveentity, чтоб морда смотрела все время правильно поворачиваешь ТАК ЖЕ КАК ПОВЕРУТ ПОРТАЛ ТОЧКИ НАЗНАЧЕНИЯ.
В коде писать не буду. но вопрос ОЧЕНЬ ПРОСТО РЕАЛИЗУЕМЫЙ!
что, за дуба держишь....это справедливо для гепоя...а для иных вешей НЕТ...герой будет видеть как Вещь будет ТЕЛЕПОРТИРОВАТСЯ..А в PORTAL она вваливается и вываливается ОДНОВРЕМЕННО...

baton4ik 07.03.2011 14:23

Ответ: Текстура
 
Цитата:

Сообщение от Костян (Сообщение 181719)
-----удалить этот пост надо

А сам не разберёшься как удалять, программист? ;)

RegIon 07.03.2011 14:25

Ответ: Текстура
 
Цитата:

А сам не разберёшься как удалять, программист? ;)
ты это про что:dontknow:

Alex_Noc 07.03.2011 15:48

Ответ: Текстура
 
Слушай ты - знающий , а команды Copyentity и Copymesh тебе знакома ? Ну так узнай как сделать из этого ПЕРЕМЕШЕНИЕ И ОДНОВРЕМЕННОЕ ВИДЕНИЕ ОБЬЕКТА В 2-УХ ПОРТАЛАХ!!

Mr_F_ 07.03.2011 17:39

Ответ: Текстура
 
Цитата:

Copyentity и Copymesh
стремак, может просто рендерить с нескольких камер и правильно отображать через порталы?

Nuprahtor 07.03.2011 17:53

Ответ: Текстура
 
Код:

Copyentity и Copymesh
А что, десять лет назад на консолях отражения в зеркалах таким образом делали xD

Mr_F_ 07.03.2011 18:06

Ответ: Текстура
 
никто не будет так отражения делать потому что это пустой расход памяти (которой на консолях очень мало). одинаковых объектов в ней не должно быть.
можно рендерить сначала то, что в портале, а потом поверх этого остальной кадр с пустотой в месте портала. cameraclscolor отключить

Nuprahtor 07.03.2011 18:12

Ответ: Текстура
 
В моделях Silent Hill 2, насколько мне известно, отражения делались дублированием комнаты и персонажа

HolyDel 08.03.2011 09:21

Ответ: Текстура
 
Цитата:

Copyentity
Цитата:

это пустой расход памяти
да ну?

Артем Валерьевич 08.03.2011 10:59

Ответ: Текстура
 
Да в ГТА 3 отражения, коих не много тоже при помощи копирования мешей делали

RegIon 08.03.2011 11:20

Ответ: Текстура
 
Цитата:

Copyentity и Copymesh
А анимация........????????????..не кто не подумал..ага...я и так про ето знал..


Часовой пояс GMT +4, время: 22:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot