
Последние записи
- Кодировка в INDY 10 (как бороться с «???»)
- Переход по ссылке при клике на кнопку, счётчик кликов по кнопке и число переходов по ссылке на ява скрипт
- Сравнение двух диапазонов ячеек Excel на полное совпадение данных
- С++. Как напечатать в консоли два столбца?
- Конвертирование PNG в JPG на Delphi
- Можно ли, название сайта которое находится в шапке заключать в HTML тег h1 или h2 h3 h4 h5 h6?
- как бороться со знаками вопросов при проблеме с кодировкой в INDY 10 Delphi ?
- Связать ProgressBar + скорлинг в Texbox
- RichEdit и выгрузка в RTF-файл (добавление в конец файла)
- Чтение разделов из IniFile / MemIniFile

Оплата за обучение в Kata Academy только после твоего трудоустройства в IT
Начни карьеру Middle Java-разработчика, подробнее на сайте академии, ссылка - https://clck.ru/fCrQw

Интенсив по Python - 3-5 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
28th
Апр
Эффекты в OpenGL
Posted by obzor under Delphi
Подскажите, если кто знает, как делать в OpenGL эффекты при выводе картинки на экран? Просто вот при работе с Canvas’ом это делалось так: брался Bitmap, который должен выводиться на экран, и с ним проводились какие-то действия. Но в OpenGL есть контекст воспроизведения. С ним, как я понимаю, все не так просто.
Одним из таких эффектов, который мне удалось реализовать, используя все имеющиеся у меня знания (знания всего пары функций) — плавный переход в черный цвет. Я просто добавлял glColor3f(); перед рисованием изображения, а параметры у этой функции менял с тем, чтобы они постепенно стремились к 0. Но перехода в белый цвет мне реализовать таким способом не удалось.
Вам лучше бы использовать спрайт. То есть как-то так:
Пример реализации перехода в белый:
glBegin(GL_QUADS);
glColor4f(1,1,1,Alpha);
glVertex2f(0,0);
glVertex2f(Width,0);
glVertex2f(Width,Height);
glVertex2f(0,Height);
glEnd;
, где Alpha меняется от 0 до 1. Для этого примера должна быть установлена ортографическая проекция (не перспектива).
Соответственно для перехода в любой цвет пишите:
glColor4f(Color.r,COlor.g,Color.b,Alpha);
С размытием есть такой вариант: гуглите «рендер в текстуру» и затем текстуру меньшего чем экран разрешения накладывайте на вышеописанный спрайт, добавив текстурные координаты. Эта техника при наложении на бОльший объект даст эффект размытия. Это самый простой метод размытия, ещё можно как-то через пост-эффекты. (опять же гугл в помощь)
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)