Game Maker - создание игр | HellRoom Games
Апрель 23, 2025, 12:19:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Шейдеры на GM8  (Прочитано 10635 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Fire Run
Участник
****

Репутация: 7
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Game maker Studio,endorphin, fl studio 9,3ds Max,ZBrush
Сообщений: 232


WWW
« : Сентябрь 09, 2015, 08:38:17 »

ShaderGM8  (SGM8)

Шейдеры на GM8, без DLL и всяких библиотек.


Сидел я как-то, и думал, что такое собственно сам шейдер?, это программа которая работает с изображением, а как работает?,перебирая все пиксили, и изменяя их цвет,позицию, подумал Я, И поняв то что весь шейдер это преобразования пикселя, подумал что наверное, можно реализовать это все и в GM8, так как есть функция для возврата данных пикселя, посидев, и чуть-чуть подумав, я начал писать "Shader_screen" и "Shader_Draw",Я сделал все возможное что бы этим шейдером было, легко, просто, и понятно пользоваться, когда я написал свой первый шейдер, у меня было много эмоций и счастья, я понял что можно реализовать все, что и в настоящих шейдерах, к тому же все это можно использовать и с 3D режимом "d3d" в GM8. А когда я написал действительно настоящий шейдер который размывал спрайт (Motion Blur), в примере кнопка (0-нуль),и эффект воды, кнопка (Q), Я очень удивился, и в то же время расстроился, у GM8 резко упал FPS,и просто прижал меня как гопник в темном переулке, Я пробовал все (Возможно), но не как.. fps падал и падал, а я все расстраивался и расстраивался, но на душе все ровно было облегчение и радость какая-то, так как на gm8 все таки можно написать шейдеры, пусть падает FPS но все же это ВОЗМОЖНО!, надеюсь вы оцените мое старание и хоть немного удивитесь от того что увидите, гм8 не совсем убогая вещь делая только двухмерные игры с плохой графикой, но и с шейдерами (Возможно пока что, без оптимизации), но согласитесь, если бы оптимизация не страдала, то это был бы самый легкий язык шейдеров :) .

Автор Я: Fire Run
^_^


* Shader.gmk (322.61 Кб - загружено 794 раз.)
Записан

Каждый день делаю новые игры, а не одной законченной =В
____________________________________________________
Мой сайт о Game Maker =В но он еще в стадии разработке www.gamemaker.at.ua
__________________________
А вот мой старый сайт =)  www.mediaart.at.ua
luden
GM Pro user
*

Репутация: 151
Offline Offline

Награды:
500 сообщений!За постоянность! [200 дней на форуме]
API: GameMaker Studio Master
Сообщений: 704


« Ответ #1 : Сентябрь 09, 2015, 09:05:48 »

На ГМ8 нельзя писать шейдеры, потому как шейдер это программа для видеокарты. Собственно если извратиться то её можно и не для изображения использовать.
В твоём способе FPS не поднять, возврат пикселя очень трудоёмкая операция. Sad but true. Оптимизация этого невозможна, спасибо за попытку.

UPD С другой стороны, если написать dll для расшифровки всего изображения разом, а не попиксельно может и сработать, но тут уже совсем другой разбор полёта.
« Последнее редактирование: Сентябрь 09, 2015, 09:17:24 от luden » Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #2 : Сентябрь 09, 2015, 11:21:15 »

На ГМ8 нельзя писать шейдеры, потому как шейдер это программа для видеокарты.
Это не так. Шейдер - это просто часть графического конвейера. Сам конвейер - серия манипуляций над данными, в результате которых формируется итоговое изображение.
То есть шейдером называют программы, обрабатывающие данные на некоторых этапах графического конвейера.
Видеокарты всего лишь поддерживают исполнение шейдеров на аппаратном уровне. Но так же возможны и полностью программные реализации (на центральном процессоре) всего графического конвейера.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
life Jumb
GM Pro user
*

Репутация: 251
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+150 репутации]За добавление полезных программ!Третье место на HellRoom Jam #6 [Игра на конкурс]2 место в конкурсе Адекватные игры #3 [Антиутопия]
API: GameMaker Studio Pro
Деятельность: Программист
Сообщений: 1512



WWW
« Ответ #3 : Сентябрь 09, 2015, 13:18:00 »

Ну на гамаке вообщем то возможна основная часть, модификация вертексов, и алгоритма в семплинге фрагментов. Этого достаточно что-бы написать любой эффект.

Шуйдеры не сложно вообщем-то писать, в гамаке самая фиговая система рисования. Тк вызов любой draw функции вызывает всю последовательность отрисовки на текущий таргет.
И тут уже пока гамак не научиться организовывать пакеты, что-бы отправлять сразу паком в рендер все нужную графику, ждать особого буста в фпс не стоит.
Записан

 
SilentPhil
Norland
GM Pro user
*

Репутация: 479
Offline Offline

Пол: Мужской
Награды:
Первое место на HellRoom Jam #7 [Hell in Your Fridge]500 сообщений!За постоянность! [50 дней на форуме]За лояльность! [+150 репутации]Настоящий игродел!Второе место на HellRoom Jam #6 [По следам Артакса]...
API: GameMaker Studio 2
Деятельность: GML, Pixel Art
Сообщений: 1363



WWW
« Ответ #4 : Сентябрь 09, 2015, 14:06:32 »

Ух-ты! Целый 0 фпс.
Записан

         
Да, на них можно кликать.
S_Kleer
GM Pro user
*

Репутация: 567
Offline Offline

Награды:
За лояльность! [+500 репутации]3 место в Дичайшем джеме #82000 сообщений!За постоянность! [50 дней на форуме]Настоящий игродел!2 место на HellRoom Jam #5, Контраст...
API: GameMaker Studio 2
Сообщений: 2734


« Ответ #5 : Сентябрь 09, 2015, 14:47:11 »

Ух-ты! Целый 0 фпс.
У меня целый 1 фпс, я думаю. Так как спустя 10 секунд, шарик телепортируется к указателю мыши.
Никаких шейдеров не заметил... Видимо, мой компьютер слишком медленно работает.
Записан

Коты - Мирители
Fire Run
Участник
****

Репутация: 7
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Game maker Studio,endorphin, fl studio 9,3ds Max,ZBrush
Сообщений: 232


WWW
« Ответ #6 : Сентябрь 19, 2015, 17:43:26 »

Ух-ты! Целый 0 фпс.
У меня целый 1 фпс, я думаю. Так как спустя 10 секунд, шарик телепортируется к указателю мыши.
Никаких шейдеров не заметил... Видимо, мой компьютер слишком медленно работает.
Сейчас залью скриншоты
Записан

Каждый день делаю новые игры, а не одной законченной =В
____________________________________________________
Мой сайт о Game Maker =В но он еще в стадии разработке www.gamemaker.at.ua
__________________________
А вот мой старый сайт =)  www.mediaart.at.ua
S_Kleer
GM Pro user
*

Репутация: 567
Offline Offline

Награды:
За лояльность! [+500 репутации]3 место в Дичайшем джеме #82000 сообщений!За постоянность! [50 дней на форуме]Настоящий игродел!2 место на HellRoom Jam #5, Контраст...
API: GameMaker Studio 2
Сообщений: 2734


« Ответ #7 : Сентябрь 19, 2015, 20:29:01 »

Лучше видео запиши. 
Записан

Коты - Мирители
YellowAfterlife
Videogames, I'm afraid
Главный Модератор
*

Репутация: 440
Offline Offline

Пол: Мужской
Награды:
Добавление и перевод новостей о Game Maker!500 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+300 репутации]Настоящий игродел!Знаток Game Maker!...
API: GameMaker Studio 2
Сообщений: 731



WWW
« Ответ #8 : Сентябрь 19, 2015, 22:46:32 »

Шуйдеры не сложно вообщем-то писать, в гамаке самая фиговая система рисования. Тк вызов любой draw функции вызывает всю последовательность отрисовки на текущий таргет.
И тут уже пока гамак не научиться организовывать пакеты, что-бы отправлять сразу паком в рендер все нужную графику, ждать особого буста в фпс не стоит.
В GameMaker: Studio автоматически осуществляется батчинг - рисуемая подряд графика из одной текстурной страницы собирается и отправляется за раз. На tech blog есть даже несколько статей по поводу отладки графической части (например, эта).

Ещё для GM8 кто-то сделал расширение что использует непосредственные средства DirectX. На 8.1 не работает. На Studio шейдеры встроенные, и автору темы пора бы на него переезжать.
Записан

onChyk
«Старожил форума»
******

Репутация: 170
Offline Offline

Пол: Мужской
API: GameMaker Studio Master
Деятельность: Программист GML AAA класса, пиксель-художник, геймдизайнер
Сообщений: 2318



WWW
« Ответ #9 : Сентябрь 20, 2015, 15:14:29 »

Кто-то слишком консервативен или боится чёрной темы ГМС.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 1.165 секунд. Запросов: 34.