Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Изменение формы загруженной картинки, OpenGL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить цвет пикселя в окне, которое закрыто другим http://www.cyberforum.ru/cpp/thread1373976.html
Ситуация такая, есть окно я в нем делаю проверку на определенных координатах цвет пикселя. Но когда окно закрыть поверх другим окном то соответственно он уже не определяет. Как сделать что бы прога...
C++ Таймер для запуска функций Ребята, подскажите, нужна функция или класс таймер, для запуска функции, но при этом, что бы не получилось замыкания на этом таймере. Пример bool class1::function () { //какие то... http://www.cyberforum.ru/cpp/thread1373673.html
C++ Cognitive Technologies объявляет Конкурс на лучшую разработку ПО машинного зрения
Компания Cognitive Technologies, реализующая в настоящее время масштабный проект по созданию к 2020 году беспилотного автомобиля, объявляет Конкурс «Cognitive Vehicle Detection Benchmark» на лучшую...
C++ C/c++ и Web программирование
Приветствую, кибер - гений) Хотелось бы поинтересоваться, существует ли возможность совместить C/C++ с Web. Предположим я написал некую программу на C++ и хочу внедрить её в уже готовый сайт? ...
C++ Почему не дает shared_ptr от this? http://www.cyberforum.ru/cpp/thread1371366.html
Здравствуйте. Вот проблемный код: OwnProject::OwnProject(OwnManager * Manager, const QString & Filename) : manager(/*Manager->get_shared_ptr()*/ shared_ptr<OwnManager>(Manager)), ...
C++ Friend функции, определенные в теле класса Всем привет! Непонятна логика, которой руководствуются компиляторы. Рассмотрим код: #include <iostream> struct A{ friend A* foo(A* ptr){ std::cout<<"ok";return ptr;}}; подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
15.02.2015, 11:37
Делай раз: загружаем картинку в 32-битном представлении (4 байта на пиксель, точнее на тексель). Можно загружать из 32-битного bmp, можно самому руками распихать байты куда требуется.
Делай два: создаём в четвёртом байте альфа-маску. В каждом 4 байте каждого текселя. Посчитать расстояние от центра изображения до текущей точки несложно, сравнить с радиусом тоже. В зависимости от результатов сравнения пишем в 4-й байт 0 или 255.
Делай три: полученный массив загружаем в OpenGL как 32-битную текстуру (GL_BGRA, GL_UNSIGNED_BYTE).
Делай четыре: включаем блендинг glEnable(GL_BLEND);
Вот и всё.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru