OpenGL
Смотрите также категорию OpenGL для всех разделов
Стоимость OpenGL команд.
В современных проектах для получения красивой картинки отрисовываются тысячи различных объектов: персонажи, строения, ландшафт, природа, эффекты и т.д. Разумеется есть разные способы отобразить на экране геометрию. В этой статье мы рассмотрим как сделать это эффективно, посчитаем и сравним стоимость различных API вызовов для отрисовки геометрии.
Читать | Комментарии [85]
8 фев 2017
Вставка одной поверхности в другую (многопоточный алгоритм)
В статье рассматривается метод встраивания одной поверхности в другую. Данная статья имеет некоторые «нечеткие» определения, и в ней не гарантируется работа метода на любой геометрии. Она носит скорее исследовательский и теоретический характер, но возможно и это кому-то поможет.
Читать | Комментарии [28]
9 сен 2015
Screen space ambient occlusion с учетом нормалей и расчет одного отражения света.
В этой статье я расскажу, как я с нуля делал SSAO (Screen Space Ambient Occlusion — расчёт фонового освещения в экранном пространстве) с учетом нормалей. Сразу следует отметить, что это наиболее простая и прямолинейная реализация «в лоб», не претендующая на оптимальность или новизну. Статья будет полезна в первую очередь тем, кто имеет желание разобраться, как это работает.
Читать | Комментарии [69]
17 янв 2015
OpenGL на Qt 4. Это просто! (часть 2)
Во 2-ой части продолжается рассмотрение работы с OpenGL на Qt 4. Читатель познакомится с настройкой контекста OpenGL, созданием анимации и простым наложением текстур. Заодно в рамках «чистого» OpenGL будет рассмотрена интерактивная графика с помощью режима выбора (выбираем объекты на экране для дальнейшей манипуляции с ними), в рамках «чистого» Qt будет продемонстрировано создание главного окна, меню (menu bar), задействованы механизм сигналов и слотов и технология дерева объектов (иерархии объектов).
Читать | Комментарии [17]
10 авг 2011
ЧАВО по матрицам и кватернионам
Часто задаваемые вопросы по матрицам и кватернионам.
Читать | Комментарии [40]
9 мар 2011
OpenGL на Qt 4. Это просто! (часть 1)
Это ознакомительная статья, посвящённая программированию 3D-графики OpenGL (Open Graphics Library — открытая графическая библиотека) с помощью кроссплатформенной библиотеки Qt 4 (Q + toolkit: «Q» — префикс классов (с красивым начертанием, по мнению разработчиков); toolkit — инструментарий). Я надеюсь, она окажется полезной для тех, кто впервые решил познакомиться с OpenGL и выбирает практичную и удобную библиотеку GUI (Graphical User Interface — графический интерфейс пользователя).
Читать | Комментарии [98]
19 янв 2011
Моделирование стеклянных поверхностей
С помощью современных графических адаптеров можно получать все более сложные динамические сцены. Это означает, что высококачественный (фотореалистичный) рендеринг переноситься из offline в реальное время. В частности, одной из насущных задач компьютерной графики является расчет и рендеринг глобального освещения и сложных материалов. В этой статье я хотел бы рассказать о моделировании стеклянных предметов.
Читать | Комментарии [63]
31 июля 2010
Основы создания мягких теней (GLSL)
Читать | Комментарии [31]
19 июня 2009
Динамические тени, основаные на CubeMap
Это статья для начинающих, в которой приведён простейший пример построения динамических теней с помощью СubeMap'ов.
Читать | Комментарии [97]
18 июня 2009
Быстрая реализация модели освещения Кука-Торренса с использованием GLSL
С развитием технологий и увеличением вычислительно мощности видеокарт все легче становиться использовать в трехмерной графике сложные вычислительные алгоритмы. Иногда, конечно, приходится немного пожертвовать производительностью ради красивого вида. Но что поделаешь — красота требует жертв, а сама красота в трехмерной графике достигается использованием «честных», то есть физически обоснованных алгоритмов. Одним из таких алгоритмов и является модель освещения Кука-Торренса.
Читать | Комментарии [47]
15 июня 2009
Создание реалистичной поверхности воды с использованием GLSL
Современные игры трудно представить без реализации в них воды. И каждый добросовестный разработчик стремится сделать «свою» воду еще лучше, еще реалистичнее, чем ту, что была сделана до него.
Читать | Комментарии [480]
12 июня 2009
Реализация карт теней с использованием GLSL шейдеров
У многих разработчиков возникают трудности при построении теней. Данная статья призвана помочь лучше понять OpenGL реализацию теневых карт на шейдерах.
Читать | Комментарии [226]
1 фев 2009
Технологии эффективного рендеринга геометрии.
В этой статье я попытаюсь осветить такой банальный, пожалуй, вопрос как вывод геометрии. Однако несмотря на его «простоту», на форуме до сих пор частенько возникают вопросы, типа, а что лучше, VBO или CVA/VAR, как лучше выводить геометрию - стрипами или triangle lists с оптимизацией под кэш, какие индексы ushort или uint работают быстрее, можно ли использовать целочисленные типы данных для вершин/нормалей/текс.координат, а также масса подобных вопросов.
Читать | Комментарии [28]
28 окт 2006
Библиотека OpenIL
Привет всем! Я расскажу, как пользоваться простой и удобной библиотекой для загрузки изображения из графических файлов различных форматов. Библиотека OpenIL также известная как DevIL (второе название дали из-за вопросов торговой марки) свободно распространяемая.
Читать | Комментарии [103]
22 дек 2004
Основы программирования OpenGL в Borland С++Builder и Delphi. (Часть 3)
Полезные мелочи
Читать | Комментарии [10]
30 ноя 2003
Построение теней в OpenGL при помощи теневых буферов
Метод теневых буферов — это image-based метод получения реалистичных теней. Для него нужны расширения ARB_shadow (или SGIX_shadow), ARB_depth_texture (или SGIX_depth_texture) и, опционально, ARB_shadow_ambient.
Читать | Комментарии [19]
19 окт 2003
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 8)
Как известно, стандартный OpenGL обладает очень ограниченными возможностями по управлению наложением текстур – имеется всего 4 режима (GL_REPLACE, GL_DECAL, GL_MODULATE и GL_BLEND), которые не допускают какой-либо настройки. Кроме того, не возможно установить разные режимы наложения для RGB и Alpha составляющих текстуры, что ещё сильнее сужает область применений стандартных режимов.
Читать | Комментарии [4]
10 окт 2003
Световые эффекты в OpenGL.
Автор: terror
Читать | Комментарии [16]
21 сен 2003
Выбор объектов средствами OpenGL.
Автор: terror
Читать | Комментарии [36]
25 авг 2003
Основы программирования OpenGL в Borland С++Builder и Delphi. (Часть 2)
Рассматривая какой-либо трёхмерный объект, мы всегда определяем его положение и размеры относительно некоторой привычной, и удобной в настоящий момент системы координат, связанной с реальным миром. Такая исходная система координат в компьютерной графике называется мировой системой координат.
Читать
16 авг 2003
Использование CubeMap техники в OpenGL.
Текстурирование — это технология, изобретенная уже бог знает в каком году, никогда не потеряет свою актуальность, так как это единственный способ сделать трехмерный мир на экране монитора более красивым. Самым красивым как это только можно себе представить. Поэтому, если и говорить слово «красота» в трехмерном мире, то обязательно подразумевать под этим словом — «текстура».
Читать | Комментарии [17]
30 июля 2003
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 7)
В этой части мы будем использовать NVIDIA SDK 5.21. Если не учитывать необходимость исправления путей к заголовочным (.h) и библиотечным (.lib) файлам, переход на новую версию происходит без проблем. Однако в этой версии исправлен ряд ошибок. Например, теперь не обязательно добавлять строку "#define GL_EXT_texture_compression_s3tc 1" для работы с расширением EXT_texture_compression_s3tc.
Читать
7 июня 2003
Основы программирования OpenGL в Borland С++Builder и Delphi.
На кого рассчитана статья. Я рассчитываю на то, что вы знакомы с азами создания приложений в С++Builder или Delphi и совсем не знаете OpenGL.
Читать | Комментарии [30]
2 мая 2003
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 6)
В настоящее время в программах, работающих с трёхмерной графикой, как правило, используются 32-х битные текстуры высокого разрешения (512x512 и выше). Платой за высокое качество текстур являются повышенные требования, как к объёму видеопамяти, так и к её пропускной способности. Казалось бы - есть шина AGP, которая позволяет хранить текстуры большого размера в ОЗУ компьютера.
Читать
13 апр 2003
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 5)
При разработке относительно простых демонстрационных программ программисту постоянно приходится программировать одни и те же операции: реакцию на изменение размеров окна, вращение объекта мышью, выход из программы при нажатии клавиши ESC и т.д. Наиболее распространенный подход к этой проблеме - создание универсального шаблона и разработка приложений на основе этого шаблона. (Этот подход использовался при написании примеров статей этого цикла.) Недостаток данного подхода - "разбухание" программного кода, т.к. в главный модуль приходитс
Читать
28 мар 2003
Делаем простой редактор бликов.
В процессе разработки игры, часто возникает ситуация необходимости компоновки уровня. Это когда все материалы созданные разработчиками( модели, ландшафт и т.д) собираются в одно целое, получается игровой уровень. Начинающие кодеры думают, что с помощью своего редактора можно сделать все, включая уровень. Но это только доля правды.
Читать | Комментарии [3]
26 мар 2003
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 4)
Начиная с этой статьи в качестве среды разработки будет использоваться Visual C++ .NET. Переход на эту платформу происходит довольно гладко, если не считать того, что в файл "\include\glh\NVEBGlutAPI.c" придётся внести небольшие изменения, поэтому мы не будем останавливаться на этом обстоятельстве.
Читать
25 фев 2002
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 3)
Во время подготовки примеров для этой части статьи я столкнулся со следующей проблемой. В FAQ по GLUT написано, что файл glut.h уже содержит необходимые определения из windows.h, которые необходимы для нормальной компиляции gl.h. Поэтому файл windows.h можно подключать как до, так и после подключения файла glut.h (а лучше, не подключать вообще). Но оказалось, что если следовать этим указаниям, то на некоторых компиляторах компиляция будет проходить успешно, а на некоторых - вылетать с ошибкой во время компиляции gl.h.
Читать | Комментарии [11]
24 фев 2002
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 2)
Известно, что в стандартном OpenGL на объект можно наложить не более одной текстуры за один проход. Но в реальных приложениях редко можно обойтись только одной текстурой - например при использовании карт освещения приходится поверх основной текстуры объекта накладывать еще и текстуру освещения. В случае использования хромированных поверхностей без второй текстуры тоже никак не обойтись.
Читать
23 фев 2002
Работа с расширениями OpenGL с использованием NVIDIA OpenGL SDK 5.1. (Часть 1)
Как известно, OpenGL в чистом виде обладает довольно ограниченными возможностями по сравнению, например, с DirectX. Так, в нем нет средств для работы с внеэкранными поверхностями, шейдерами и многого другого. Но зато с самого начала OpenGL обладал открытой архитектурой, которая заключается в поддержке расширений.
Читать | Комментарии [3]
22 фев 2002
OpenGL pixel and vertex shaders.
Чтобы понять, что такое шейдер, разберемся для начала, как видео карта рисует примитивы (треугольники, полигоны и др.) На вход поступают данные о каждой вершине примитива. Например, положение вершины в пространстве, нормаль и текстурные координаты. Эти данные называются вершинными атрибутами (vertex attributes). GPU на их основе вычисляет выходные значения: положение вершины в экранных координатах, цвет вершины, рассчитанный в зависимости от освещения и т.д. До выхода видео карт GeForce 3 и Radeon 8500 этот процесс был неуправляемым.
Читать | Комментарии [1]
20 фев 2002
Cg
Современная компьютерная графика вступает в новую эру. На лозунгах, которые зовут нас вперед, написано: "вперед к программируемости!". OpenGL 2.0 выглядит великолепным миражом на горизонте. Этот интерфейс предоставляет возможность компиляции с языка высокого уровня на стороне графического сервера. Однако, полная реализация этого интерфейса кажется пока несбыточной, и нам лишь предстоит мечтать о светлом будущем.
Читать
19 фев 2002
Способ выделения объектов мышью в OpenGL приложениях.
Автор: Курковский Александр
Читать | Комментарии [27]
17 фев 2002
OpenGL: Основы.
OpenGL является одним из ведущих и популярных графических API, разработанный SGI. OpenGL разрабатывался как многоплатформенный, открытый и быстрый графический API. Многие графические пакеты используют OpenGL для вывода трёхмерной графики. Многие известные игры, такие как Quake, Serious Sam и наш отечественный ИЛ-2 Штурмовик, также написаны под OpenGL.
Читать | Комментарии [92]
16 фев 2002
Практическое использование расширений: анизотропная фильтрация в OpenGL
Кратко о фильтрации текстур - для чего она существует? Вопреки сложившемуся мнению о том, что фильтрация предназначена только для улучшения качества изображения - скажу так - это лишь окончательный результат который складывается не только за счет самой фильтрации. Хотя подобное замечание наиболее справедливо для билинейной фильтрации, но об этом несколько позже. Вернемся к OpenGL.
Читать | Комментарии [48]
16 фев 2002
OpenGL: Использование Register Combiners.
С появлением чипа от NVIDIA с «притягивающим» названием GeForce, стал возможным не только более быстрый рендеринг наших любимых полигонов, но и использование новых спецэффектов и технологий, реализация которых на более древних видеокартах была либо попросту невозможна, либо очень затруднительна.
Читать | Комментарии [2]
15 фев 2002
OpenGL: Extensions (Расширения).
Введение.
Читать | Комментарии [12]
15 фев 2002