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

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

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

Ответ
 
Опции темы
Старый 16.01.2009, 01:49   #1
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Смущение Глупый вопрос

Вопрос такой как в один image надравить другой?
аналог B3D:
SetBuffer(ImageBuffer(SomeImage))
DrawImage Blood,someX,someY
SetBuffer(BackBuffer())

Просто в Максе я совсем недавно, ООП мне дплось на раз а вот базового ничего незнаю, вы уж простите меня.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 01.03.2009, 13:20   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Глупый вопрос

Неужели никто не знает???

Подскажите плиз, а то метод с ReadPixel/WritePixel не улыбает.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 17:51   #3
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Глупый вопрос

Неужели все в 3D прогают???
Потенциал BlitzMax в 2D огромен...
Дак по сабжу может кто подсказать?
Ато он уже с бородой а отвечаю себе только я...
Плохо это както
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 20:33   #4
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: Глупый вопрос

В голову приходит только написать бмаксовыми командами тот код, что ты написал для б3д... По идее там тоже есть работа с буферами... Попробуй, если не поможет - то даже не знаю.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 20:38   #5
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Глупый вопрос

По идее там тоже есть работа с буферами
а на самом деле нет...

аффтар смотри CreateImage() LockImage() UnlockImage() LoadImage()
(Offline)
 
Ответить с цитированием
Старый 06.03.2009, 00:39   #6
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Глупый вопрос

Не знаю как в Б3Д, а в БМ в каждой картике есть Tpixmap-ы и указатель на данные(пиксели) и делай с ними что хочешь.
__________________
(Offline)
 
Ответить с цитированием
Старый 06.03.2009, 00:49   #7
jimon
 
Сообщений: n/a
Ответ: Глупый вопрос

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

правда в таком случае старое железо оказывается за бортом
 
Ответить с цитированием
Старый 06.03.2009, 02:48   #8
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Глупый вопрос

мде...
Тоесть циклом?
Задача проста до безумства надо надравить кровь на пол чтоб типами не загружать.
Я тут подумал об одном методе...
Надравим кровь потом грабим экран и записываем в переменную пола но это извращенство помоему.


Былаб функция DrawImageToImage(x:int,y:int,SourceImage:TImage, DestImage:TImage)
Ну попробую скрафтать.
Отчёт напишу.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 06.03.2009, 11:07   #9
jimon
 
Сообщений: n/a
Ответ: Глупый вопрос

Randomize
тебе лень читать справку ?
юзай методы tpixmap window и paste
 
Ответить с цитированием
Старый 06.03.2009, 11:14   #10
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Глупый вопрос

"Потенциал BlitzMax в 2D огромен..." - и не только в 2Д.
"Былаб функция DrawImageToImage(x:int,y:int,SourceImage:TImage, DestImage:TImage)"
На вскидку, это делается так:
Function DrawImageToImage(x:Int,y:Int,SourceImage:TImage, DestImage:TImage)
	
	Local src_pix:TPixmap = LockImage( SourceImage ) 
	Local dst_pix:TPixmap = LockImage( DestImage ) 

	dst_pix.paste( src_pix, x, y )

End Function
по идее должно работать, не проверял.
"Надравим кровь потом грабим экран и записываем в переменную пола но это извращенство помоему." - извращенство. И вообще зачем кровь рисовать в текстуру? Можно просто сверху кинуть с альфой и все, эффект по-моему тот же.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (06.03.2009)
Старый 06.03.2009, 13:15   #11
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Глупый вопрос

Нет. кровь надо рисовать в текстуру. ибо убив всего лишь 10 тыщ монстров это уже будет 10 тыщ батчей. В то время, как если кровь будет запечена в текстуру - то как была одна текстура, так одна и останется.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
h1dd3n (29.07.2009)
Старый 06.03.2009, 14:26   #12
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Глупый вопрос

HolyDel в твоих словах есть доля правды, но рендер в текстуру занятие тоже не мгновенное. К тому же никто не мешает постепенно альфой убирать кровь с экрана, а потом и стирать ее из памяти совсем, хотя бы в тех местах, где игрок уже не появится. Если же в игре 10000 монстров, то я прям не знаю, катком их чтоли давить ? Кстати и отрендерив кровавый шлейф от катка в текстуру, можно написать имя любимой девушки(к примеру), а потом показывать ей скриншоты с разных ракурсов.
__________________
(Offline)
 
Ответить с цитированием
Старый 06.03.2009, 15:46   #13
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Глупый вопрос

Примного благодарен!
Способ действенный.
* надо мне зубрить свойства обьектов в BlitzMAX. А то я даже незнаю как FreeImage сделать.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 06.03.2009, 16:05   #14
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Глупый вопрос

Сообщение от jimon Посмотреть сообщение
Randomize
тебе лень читать справку ?
юзай методы tpixmap window и paste
У меня нету справки...
вернее она не работает ибо у меня умер InternetExplorer в системе под корень.
Я использую TotalCommander вместо Explorer.exe дла лазанья по компу.
Винду переустановить не имею возможности.

Справку читаю лазая по модулям BlitzMax самим IDE.
Знаю, что сурово. Но что поделаешь.
ну вот я стал нуждающимся. Ах...
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 06.03.2009, 16:06   #15
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Глупый вопрос

dimanche13 в нормальных движках время рендера в текстуру не слишком отличается от времени рендера в бакбуфер. Если текстура декали висит в видеопамяти и текстура кровищи уровня там же - то ето тупой дип, с текстурой, в качестве рендертаргета. Ну пусть даже в два раза больше. Ну пусть даже в 20. При 20 декалях мы уже имеем выигрыш в батчах (но проигрыш в филлрейте). В играх потипу кримсоланда (в играх другого типа, где крови мало, я не вижу смысла запекать ее в текстуру) именно ТЫСЯЧИ монстров. Там каждую секунду 10-20 убийств монстров (если не больше). Там в прямом смысле - моря крови
Помоему там и трупики монстров запекают в текстуру. И весь смысл именно в массовости вражин. Стиль такой. и десятки тысяч декалей крови - это не фантастика, а самая настоящая реальность.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос Черный крыс BlitzMax 1 31.03.2009 09:30
Глупый вопрос но задам. magpro 3D-программирование 3 30.05.2007 23:22
16 битный рижим. ЛысыЙ_Чук-Иванчук 3D-программирование 2 17.07.2006 17:15


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


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