Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/104: Рейтинг темы: голосов - 104, средняя оценка - 4.65
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771

Обводка объекта с использованием шейдера

01.10.2021, 19:34. Показов 23773. Ответов 180
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть игра, в которой я могу определить, когда начинает / заканчивает рисоваться нужный мне объект и "внедриться" в нужный момент. Я хочу сделать так, чтобы контур нужного мне объекта обводился. Подобие того что я хочу Вы можете увидеть на прикреплённом изображении.

1. Возможно ли сделать обводку объекта без повторной его отрисовки? (я не знаю как игра рисует объекты, да и это будет сказываться на производительности)
2. Возможно ли сделать это без шейдера и повторной отрисовки? (один человек говорил мне что без шейдера нужно будет рисовать дважды)
3. Как это сделать? (я не прошу написать за меня весь код, однако я очень мало понимаю в шейдерах. У меня есть две "точки" - начало рисования и конец, как и что нужно написать в самом начале чтобы увидеть хоть какие-то изменения и далее уже самому потыкать)
Миниатюры
Обводка объекта с использованием шейдера  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2021, 19:34
Ответы с готовыми решениями:

Обводка объекта
Возможно ли нарисовать обводку объекта, при условиях, что нельзя использовать шейдеры и сам объект рисую не я? У меня есть возможность...

Обводка объекта точками в OpenCV
Здравствуйте,только открыл для себя OpenCV.Задача такова:будут объекты на белом фоне,хочу обвести объект максимальным количеством точек...

написать программу движущийся графический объект с двумя способоми с использованием статического объекта и с использованием динамического объекта
Движение закрашенного прямоугольника по треугольному контуру с изменением цвета при изменении направления движения.

180
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 20:30  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от zayats80888 Посмотреть сообщение
Для меня нет
Ну так делать то я буду. А просто на словах я не понимаю.

Цитата Сообщение от zayats80888 Посмотреть сообщение
OpengGL 3.0 контекст
Именно core или любой?
0
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
08.10.2021, 20:37
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
Ну так делать то я буду. А просто на словах я не понимаю.
Это ты так за тебя сделать просишь?
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
Именно core или любой?
Я уже много раз говорил, что core - это начиная с версии 3.2. Так что любой.
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 20:50  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
Это ты так за тебя сделать просишь?
Нет, это я говорю что вначале спрашивал про себя. - _____-
Как хоть гуглить это?

Добавлено через 2 минуты
Цитата Сообщение от zayats80888 Посмотреть сообщение
что core - это начиная с версии 3.2.
У меня compatible 4.6, я спрашивал что нужно именно core или же подойдёт и compatible.
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:00  [ТС]
zayats80888, Мне кажется что обводка через stencil buffer с увеличением не подходит и чит на скриншотах выше рисовал обводку каким-то другим путем. Притом, сомневаюсь, что там для каждой сущности вручную прописано где и как обводить.
Миниатюры
Обводка объекта с использованием шейдера   Обводка объекта с использованием шейдера   Обводка объекта с использованием шейдера  

0
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
08.10.2021, 21:04
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
Как хоть гуглить это?
OpenGL render to texture
OpenGL blur effect (хотя тебе не прям blur нужен, а принцип, как "размазать" изображение, тебе нужно просто одноцветные силуэты подсвечиваемых изображений "увеличить")

Кликните здесь для просмотра всего текста
Если будет желание(у меня), я набросаю простенькую реализацию для того примера, что я скидывал.


Цитата Сообщение от eXpl01TeR Посмотреть сообщение
я спрашивал что нужно именно core или же подойдёт и compatible.
Цитата Сообщение от zayats80888 Посмотреть сообщение
любой
Добавлено через 3 минуты
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
чит на скриншотах выше рисовал обводку каким-то другим путем
На самом правом изображении видно, что голова гуся отмасштабированна некорректно, так что я думаю, что именно таким способом(но возможно обрабатывалась геометрия вручную и просто "кэшировалась" в коде)
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:07  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
На самом правом изображении видно, что голова гуся отмасштабированна некорректно, так что я думаю, что именно таким способом
Так это скриншоты моего проекта. Скриншоты чита вот.
https://www.cyberforum.ru/post15749467.html
0
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
08.10.2021, 21:10
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
Скриншоты чита вот
Там плохо видно, чтобы какие-то выводы делать.
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:14  [ТС]
zayats80888,
Миниатюры
Обводка объекта с использованием шейдера   Обводка объекта с использованием шейдера   Обводка объекта с использованием шейдера  

0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:15  [ТС]
zayats80888, На 3 изображении не выделены ноги потому что текстура ног плоская и я стоял таким образом что её не было видно.

Добавлено через 32 секунды
zayats80888, Стоп. Может оно как-то просто текстуру обводит? Ну, типа, то место где есть пиксели по 1 пикселю сбоку?
0
Модератор
Эксперт Java
 Аватар для alecss131
2902 / 1407 / 413
Регистрация: 11.08.2017
Сообщений: 4,512
Записей в блоге: 2
08.10.2021, 21:16
Цитата Сообщение от zayats80888 Посмотреть сообщение
На самом правом изображении видно, что голова гуся отмасштабированна некорректно, так что я думаю, что именно таким способом(но возможно обрабатывалась геометрия вручную и просто "кэшировалась" в коде)
Это не гусь, а курица) Недавно я тут создавал тему с просмотрщиком скринов, игра очевидно та же самая, так вот модели сущностей генерируются по одному алгоритму из набора кубов и запекаются (в исходном коде называется bake) что потом используется для рендера. Кстати, всякие печки и сундуки тоже сущности по мнению игры. Исходного кода я прилично перелопатил чтобы понять как все создается.
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:17  [ТС]
Но если это просто обводка текстуры, тогда её не должно быть видно сквозь другие текстуры.. Видимо что-то другое.

Добавлено через 49 секунд
Цитата Сообщение от alecss131 Посмотреть сообщение
Кстати, всякие печки и сундуки тоже сущности по мнению игры
Про сундуки знал, о печках нет. Так есть какая мысль, как можно обводить без костылей?
0
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
08.10.2021, 21:17
eXpl01TeR, возможно там и сделано, как я говорил (силуэт размыт на пару пикселей). Взломал бы, да посмотрел.
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:20  [ТС]
Цитата Сообщение от alecss131 Посмотреть сообщение
Исходного кода я прилично перелопатил чтобы понять как все создается.
Как можно сделать чтобы текстуры не становились темными? Что-то типа Full Bright в читах. За это шейдер отвечает или что?

Добавлено через 27 секунд
Цитата Сообщение от zayats80888 Посмотреть сообщение
Взломал бы, да посмотрел.
Там не низкоуровневый код как у меня да и java я вообще не понимаю.
0
Модератор
Эксперт Java
 Аватар для alecss131
2902 / 1407 / 413
Регистрация: 11.08.2017
Сообщений: 4,512
Записей в блоге: 2
08.10.2021, 21:22
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
да и java я вообще не понимаю
Не сильно от плюсов отличается, многие вещи упрощены, многое есть из коробки, нету указателей/ссылок. Если есть знание плюсов то и джава код без проблем читается/понимается, хотя бы на базовом уровне
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:38  [ТС]
zayats80888, Вот лог OpenGL (тут только функции из OpenGL 1.0 так что возможно и даже скорее всего там чего-то нет)

1. Здесь житель рисуется с обводкой
2. Здесь житель без обводки

Есть какие идеи?
Миниатюры
Обводка объекта с использованием шейдера   Обводка объекта с использованием шейдера  
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 21:47  [ТС]
alecss131, зачем удалять ссылку на фотохостинг имгур, если я не могу приложить здесь изображения в нормальном качестве? Бред же.
0
Модератор
Эксперт Java
 Аватар для alecss131
2902 / 1407 / 413
Регистрация: 11.08.2017
Сообщений: 4,512
Записей в блоге: 2
08.10.2021, 21:52
eXpl01TeR,
Правила форума пункт 4.11
Картинки и любые другие файлы загружайте на форум, во избежание их удаления или потери на сторонних ресурсах. По этой же причине коды программ также должны находиться на форуме.
А вообще можно и 6.5 вам приписать за
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
зачем удалять ссылку на фотохостинг имгур, если я не могу приложить здесь изображения в нормальном качестве? Бред же.
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 22:00  [ТС]
Цитата Сообщение от alecss131 Посмотреть сообщение
Правила форума пункт 4.11
С точки зрения логики это дебильное правило. Как другим людям разглядеть моё изображение? Если бы форум его не обрезал, у меня не было бы нужды его куда-либо выгружать.

Цитата Сообщение от alecss131 Посмотреть сообщение
А вообще можно и 6.5 вам приписать за
{удалено}
0
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
08.10.2021, 23:10
Цитата Сообщение от eXpl01TeR Посмотреть сообщение
Есть какие идеи?
На первой картинке не весь код.
Там я вижу рисование той же модели, но:
1) с заменой цвета текстуры на кастомный цвет
2) рисуется это похоже куда-то в другое место(другое скрытое окно или один из aux буферов, по сути так раньше рисовали в "текстуру")
3) странный размер вьюпорта (925х530), возможно, так делается текстура поменьше, а потом растягивается и накладывается на финальное изображение
4) глаза сломать можно
0
155 / 9 / 2
Регистрация: 14.08.2019
Сообщений: 771
08.10.2021, 23:30  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
4) глаза сломать можно
Я выкладывал так же ссылку на imgur где изображения без сжатия но к сожалению модератор счёл нужным её удалить

Добавлено через 56 секунд
Цитата Сообщение от zayats80888 Посмотреть сообщение
На первой картинке не весь код.
Я же говорю, перехватывать в программе могу только функции из OpenGL 1.0. Остальные нужно получать в контексте, а WinAPI Override под это не заточена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2021, 23:30

Создание текста с использованием DrawString и обводка
Подскажите, пожалуйста, как создать такой текст с обводкой, например буква, как буква «T» на картинке ниже. Для создания текста использую...

Создать проект, с использованием объекта Timer, перемещение графического объекта по заданной траектории, (прямоугольник,
Создать проект, с использованием объекта Timer, перемещение графического объекта по заданной траектории, (прямоугольник, квадрат или...

Перемещение объекта по форме с использованием мыши
Всем доброго времени суток. Необходимо осуществить перемещение Image при помощи мыши. Объекты находятся в Canvas. Проблема заключена в...

Задача с использованием объекта hScrollBar и pictureBox
Может мой вопрос покажется глупым, но всё же...Как можно осуществить изменение размера объекта pictureBox используя hScrollBar? У меня была...

Поворот объекта с использованием Rigidbody.MoveRotation
использую Rigidbody.MoveRotation для поворота объекта по оси Х на 30 градусов, проблема в том что оно НЕ затухает при 30 градусов, а просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru