Оптимизация OpenGL - повторяющийся поток вершин или вызов glDrawElements неоднократно? Оптимизация opengl


opengl-es - Оптимизация OpenGL - Повторяющийся поток вершин или вызов glDrawElements Неоднократно?

Нет идеального ответа на этот вопрос, хотя я бы предложил вам подумать о природе компьютерной графики в реальном времени и конвейере OpenGL. Хотя «GL» требуется для получения результатов, которые согласуются с исполнением в порядке, реальность такова, что графические процессоры являются высокопараллельными животными. Они используют множество трюков, которые лучше всего работают, если у вас на самом деле есть много несвязанных задач одновременно (некоторые даже разбивают весь конвейер на отдельные плитки). GDDR-память, например, очень высокая латентность, поэтому для повышения эффективности графические процессоры должны иметь возможность планировать другие задания, чтобы поддерживать потоковые процессоры (шейдерные блоки) занятыми, в то время как память извлекается для задания, которое только начинается.

Если вы перекомпонуете части своей сетки для каждого кадра, вы почти наверняка захотите больше использовать призывы на призывы к массивам CPU-> GPU для каждого кадра. Насыщение автобуса ненужными передачами данных может привести даже к аппаратным средствам PCI Express (это намного медленнее, чем накладные расходы, которые когда-либо добавили бы несколько дополнительных призывов на рисование), это может только ухудшиться во встроенных системах OpenGL ES.Сказав это, нет причин, по которым вы не могли бы просто сделать glBufferSubData (...) для потока только затронутых частей вашей сетки и продолжать рисовать всю сетку за один вызов рисования.

Возможно, вы получите лучшую когерентность кэширования, если вы разделите (или разделите данные внутри) буфера и/или нарисуйте вызовы в зависимости от вашего фактического сценария использования. Единственный способ решительно сказать, что будет лучше работать в вашем случае, - это профилировать ваше программное обеспечение на вашем целевом оборудовании. Но все это не учитывает большую картину, которая составляет: «Почему я делаю это на процессоре ?!»

Это походит на то, что вы на самом деле хотите просто вершина инстансы. Если вы можете полностью переработать свой алгоритм, чтобы полностью работать в вершинных шейдерах, передав идентификаторы экземпляров, вы должны увидеть массивный по сравнению со всеми решениями, которые я видел, которые вы предлагаете до сих пор (истинное инстанцирование фактически находится где-то между тем, что вы описали в решениях 1 и 2) :)

Реальная концепция instancing очень проста и даст вам преимущества независимо от того, поддерживает ли ваша конкретная версия OpenGL API ее на уровне API или нет (вы всегда можете реализовать ее вручную с атрибутами вершин и дополнительные данные буфера вершин). Дело в том, что вам не придется дублировать ваши данные вообще, если вы правильно внедряете инстанс. Дополнительные данные, необходимые для идентификации каждой отдельной вершины, являются статическими, и вы всегда можете изменить

stackoverrun.com

Методы оптимизации под OPENGL

1

УДК 004.925

Методы оптимизации под OPENGL

© И.В. Дикан, Ю.С. Белов

КФ МГТУ им. Н.Э. Баумана, Калуга, 248000, Россия

Рассмотрены основные методы оптимизации графических приложений, написанных с

использованием OpenGL. Описаны методы низкоуровневой оптимизации, в том числе

использующие различные расширения OpenGL. Приведены улучшенные методы отри-

совки графических объектов. Изложены методы изменения формата графических

объектов для повышения производительности конечных приложений.

Ключевые слова:

VBO, VAO, OpenGL, 3D-графика, DXT, оптимизация, шейдеры,

MipMapping, Occlusion Query, Frustum Culling.

Оптимизация рендеринга является важным этапом разработки

конечного приложения, поскольку позволяет увеличить число кадров

в секунду, снизить требования к аппаратному обеспечению в прило-

жениях реального времени, а для рендеров — уменьшить время, за-

трачиваемое на отрисовку конечной сцены. При нарушении принци-

пов оптимизации мы можем получить низкую производительность

даже на самых простых сценах, поэтому не стоит пренебрегать ими.

Большинство способов оптимизации основано на использовании

специализированных расширений драйвера, о которых многие разра-

ботчики забывают или вовсе не хотят знать. Однако одними расши-

рениями не обойтись — спектр проблем, которые необходимо ре-

шить, слишком велик и затрагивает множество подсистем рендерин-

га. При этом стоит учитывать, что увеличение производительности от

использования одного или нескольких методов может быть мини-

мально, а может достигать 100 % и более. Все зависит от особенно-

стей приложения.

Рассмотрим основные методы оптимизации приложений: низко-

уровневые, рисования моделей и оптимизации моделей.

Низкоуровневые оптимизации.

Использование старых функций

OpenGL, например Begin-End, серьезно уменьшает производитель-

ность, поскольку они имеют большие накладные расходы. К тому же

в новых версиях OpenGL эти функции объявлены как deprecated. От

них следует отказаться в пользу новых расширений типа

ARB_vertex_buffer_object (VBO), позволяющих хранить вертексы в

одном буфере в памяти GPU. Следующий пример демонстрирует

разницу старого и нового подходов:

struct Vertex {

float x, y, z;

}

engjournal.ru

opengl-es - Оптимизация OpenGL - повторяющийся поток вершин или вызов glDrawElements неоднократно?

На этот вопрос нет идеального ответа, хотя я бы предложил вам подумать о природе компьютерной графики в реальном времени и о конвейере OpenGL. Хотя "GL" требуется для получения результатов, которые согласуются с исполнением в порядке, реальность такова, что графические процессоры являются высокопараллельными животными. Они используют множество трюков, которые лучше всего работают, если у вас на самом деле есть много несвязанных задач одновременно (некоторые даже разбивают весь конвейер на отдельные плитки). GDDR-память, например, очень высокая латентность, поэтому для повышения эффективности графические процессоры должны иметь возможность планировать другие задания, чтобы поддерживать потоковые процессоры (шейдерные блоки) занятыми, в то время как память извлекается для задания, которое только начинается.

Если вы пересчитаете части своей сетки на каждый фрейм, вы почти наверняка захотите сделать больше призывов на призывы к массивным CPU-> передачам данных GPU каждый кадр. Насыщение автобуса ненужными передачами данных может привести даже к аппаратным средствам PCI Express (это намного медленнее, чем накладные расходы, которые когда-либо добавили бы несколько дополнительных призывов на рисование), это может только ухудшиться во встроенных системах OpenGL ES. Сказав это, нет причин, по которым вы не могли бы просто glBufferSubData (...) передавать только затронутые части вашей сетки и продолжать рисовать всю сетку в одном обратном вызове.

Вы можете улучшить когерентность кэширования, если вы разделите (или разделите данные внутри) буфера и/или вызовите призывы, в зависимости от вашего фактического сценария использования. Единственный способ решительно сказать, что будет лучше работать в вашем случае, - это профилировать ваше программное обеспечение на вашем целевом оборудовании. Но все это не позволяет взглянуть на более крупную картину, а именно: "Почему я делаю это на процессоре?!"

Похоже на то, что вы действительно хотите, это просто вершинная инстанция. Если вы можете переработать свой алгоритм, чтобы полностью работать в вершинных шейдерах, передав идентификаторы экземпляров, вы увидите значительное улучшение по сравнению со всеми решениями, которые я видел до сих пор (истинное инстанцирование фактически находится где-то между тем, что вы описали в решениях 1 и 2) :)

Фактическая концепция instancing очень проста и даст вам преимущества независимо от того, поддерживает ли ваша конкретная версия OpenGL API ее на уровне API или нет (вы всегда можете реализовать ее вручную с атрибутами вершин и дополнительными данными буфера вершин). Дело в том, что вам не придется дублировать ваши данные вообще, если вы правильно внедряете инстанс. Дополнительные данные, необходимые для идентификации каждой отдельной вершины, являются статическими, и вы всегда можете изменить форму шейдера и сделать дополнительный вызов рисования (это, вероятно, то, что вам нужно делать с OpenGL ES 2.0, поскольку оно не предлагает glDrawElementsInstanced), не касаясь любые данные вершин.

Вам, разумеется, не придется дублировать ваши вершины K * N раз, ваша сложность буферного пространства будет больше похожа на O (K + K * M), где M - количество новых компонентов, которые вы должны были добавить, чтобы однозначно идентифицировать каждую вершину так, чтобы вы можете рассчитать все на графическом процессоре. Для "экземпляра" вам может потребоваться пронумеруть каждую из вершин в вашем квадрате 1-4 и обработать вершину по-разному в вашем шейдере в зависимости от того, какую вершину вы обрабатываете. В этом случае коэффициент M равен 1, и он не изменяется независимо от того, сколько экземпляров вашего квадрата вам нужно для динамического вычисления каждого кадра; N будет определять количество обратных вызовов в OpenGL ES 2.0, а не размер ваших данных. Ни одно из этих дополнительных пространств для хранения не понадобилось бы в OpenGL ES 2.0, если бы оно поддерживало gl_VertexID :(

Instancing - лучший способ эффективно использовать высокопараллельный графический процессор и избегать синхронизации CPU/GPU и медленной передачи шины. Несмотря на то, что OpenGL ES 2.0 не поддерживает инстанцирование в смысле API, многократные обратные вызовы с использованием одного и того же буфера вершин, где единственное, что вы меняете между вызовами, - это пара шейдерных униформ, которые часто предпочтительнее вычислять ваши вершины на процессоре и загружать новую вершину данные каждого кадра или имеющие размер буфера вершин зависят напрямую от количества экземпляров, которые вы собираетесь нарисовать (yuck). Вам придется попробовать и посмотреть, что вам нравится в оборудовании.

qaru.site

optimization - Оптимизация OpenGL ES на iPhone и переводческие инструменты

Я пытаюсь подтолкнуть свой FPS к iPhone 3Gs с 30 как можно выше... и я сталкиваюсь с несколькими проблемами и думаю, что лучше попросить совета.

1) Что именно означают столбцы использования Renderer Utility и Tiler Utility на инструменте OpenGL ES? Мой процент использования Tiler чрезвычайно низок, и моя утилита Renderer, как правило, падает во время взаимодействия с пользователем и когда приложение переводится в альбомный режим. Я заметил, что мой FPS имеет тенденцию падать всякий раз, когда значение использования Renderer также падает. Отключение FPS в ландшафтном режиме особенно странно для меня, потому что портретный режим и ландшафтный режим используют ту же логику игры, а текстуры... и ландшафтный режим на самом деле делают меньше вершин/треугольников для загрузки (некоторые части пользовательского интерфейса не являются рисуется вообще в ландшафтном режиме).

2) Я уже выполнил большинство рекомендуемых оптимизаций в видео ngmoco/Stanford, и единственное, что я могу сделать, это изменить GLfloats на GLshorts и чередовать мои вершины с координатами текстуры в один массив. Могут ли какие-либо из них повлиять на мой FPS? Это 2D-спрайт-игра с большим количеством подробных текстур...

3). Это более быстрый способ скрыть многоугольник: установка всех его вершин в одни и те же координаты (по существу, уменьшение его до точки) или установка его альфа-значения в 0? Я предполагаю, что это первый, поскольку смешивание в целом медленнее и особенно дорого на iPhone.

4) В настоящее время я использую текстуры размером 512x512, текстуру 1024x512 и текстуру 256x256. Я искал советы о том, как лучше всего это сделать, и мне сказали не комбинировать их в 1 пиксель 1024x1024 из-за проблем с памятью на iPhone 3G. Я хотел бы подтвердить это здесь, потому что, если я поместил все в 1 текстуру, я могу искоренить необходимость повторного вызова glBindTexture...

задан akaii 25 июня '10 в 6:17 источник поделиться

qaru.site

performance - оптимизация загрузки OpenGL ES на iPhone

У меня есть игра Open GL ES на iPhone. Моя частота кадров довольно сочная, ~ 20 кадров в секунду. Используя инструмент производительности Xcode OpenGL ES на iPhone 3G, он показывает:

Использование рендерера: от 95% до 99%

Использование Tiler: ~ 27%

Я рисую много довольно больших изображений с большим количеством смешивания. Если я уменьшу количество обращенных изображений, кадры начнутся от ~ 20 до ~ 40, хотя результаты инструмента производительности останутся примерно такими же (рендеринг все еще максимизирован). Я думаю, что меня ограничивает скорость заполнения iPhone 3G, но я не уверен.

Мои вопросы: как я могу определить с большей детализацией, где узкое место? Это моя самая большая проблема, я просто не знаю, что происходит все время. Если это fillrate, есть ли что-нибудь, что я делаю, чтобы улучшить его, а не рисовать меньше?

Я использую текстурные атласы. Я попытался свести к минимуму привязки к изображениям, хотя это не всегда возможно (порядок рисования, не все подходит для одной текстуры 1024x1024 и т.д.). Каждый кадр меняет 10 изображений. Это кажется довольно разумным, но я могу ошибаться.

Я использую вершинные массивы и glDrawArrays. У меня нет большой геометрии. Я могу попытаться быть более точным, если это необходимо. Каждое изображение состоит из двух треугольников, и я стараюсь, чтобы все было возможно, хотя часто (возможно, в половине случаев) изображения рисуются с помощью отдельных вызовов glDrawArrays. Помимо изображений, у меня есть ~ 60 треугольников, которые геометрия отображается в ~ 6 вызовах glDrawArrays. Я часто glTranslate перед вызовом glDrawArrays.

Будет ли улучшена частота кадров для переключения на VBOs? Я не думаю, что это огромное количество геометрии, но, возможно, это быстрее по другим причинам?

Есть ли определенные вещи, чтобы следить за тем, что может снизить производительность? Например, следует ли избегать glTranslate, glColor4g и т.д.

Я использую glScissor в 3-х местах за фрейм. Каждое использование состоит из 2 вызовов glScissor, один для его настройки и один для reset для того, что было. Я не знаю, есть ли здесь влияние на производительность.

Если бы я использовал PVRTC, он мог бы работать быстрее? В настоящее время все мои изображения GL_RGBA. У меня нет проблем с памятью.

Одна из моих полноэкранных текстур - 256х256. Было бы лучше использовать 480x320, чтобы телефон не делал никакого масштабирования? Есть ли другой общий совет по производительности для размеров текстур?

Вот приблизительное представление о том, что я рисую в следующем порядке:

1) Переключиться на перспективную матрицу. 2) Нарисуйте полноэкранное фоновое изображение 3) Нарисуйте полноэкранное изображение с прозрачностью (у этого есть прокручиваемая текстура). 4) Нарисуйте несколько спрайтов. 5) Переключитесь на орто-матрицу. 6) Нарисуйте несколько спрайтов. 7) Переключиться на перспективную матрицу. 8) Нарисуйте спрайты и другую текстурированную геометрию. 9) Переключитесь на орто-матрицу. 10) Нарисуйте несколько спрайтов (например, игровой HUD).

Шаги 1-6 нарисуют кучу фонового материала. 8 рисует большую часть игрового контента. 10 рисует HUD.

Как вы можете видеть, существует много слоев, некоторые из них полноэкранные, а некоторые спрайты довольно большие (1/4 экрана). Слои используют прозрачность, поэтому я должен нарисовать их в обратном порядке. Это дополнительно осложняется необходимостью рисовать различные слои в орто и других в перспективе.

Я с радостью предоставит дополнительную информацию, если она будет восстановлена. Заранее благодарю за любые рекомендации по производительности или общие советы по моей проблеме!

Edit:

Я добавил несколько журналов, чтобы узнать, сколько вызовов glDrawArrays я делаю, и сколько данных. Я делаю около 20 вызовов glDrawArray для каждого кадра. Обычно от 1 до 6 из них имеют около 40 вершин каждый. Остальные вызовы обычно всего 2 вершины (одно изображение). Я просто использую glVertexPointer и glTexCoordPointer.

qaru.site

МЕТОДЫ ОПТИМИЗАЦИИ ПРОГРАММ КОМПЬЮТЕРНОЙ ГРАФИКИ OPENGL

Графический конвейер

Графический конвейер Создание трехмерного объекта Трансформация Задание вершин Соединение вершин, построение полигонов Закраска вершин, растеризация Создание трехмерного объекта Текстурирование, освещение

Подробнее

ОБРАБОТКА ИЗОБРАЖЕНИЙ В OPENGL

ОБРАБОТКА ИЗОБРАЖЕНИЙ В OPENGL Оконная система OpenGL осуществляет графический вывод в буфер кадра Отображение буфера кадра на экране монитора не входит в обязанности OpenGL Изначально OpenGL был спроектирован

Подробнее

Геометрические преобразования

OpenGL. Графический конвейер. Геометрические преобразования Алексей Игнатенко На лекции Введение в OpenGL Что такое OpenGL Архитектура OpenGL Графический конвейер Геометрические преобразования Геометрические

Подробнее

Основы метода растеризации

Спецкурс САИКГ Лекция 2 02 апреля 2012 Основы метода растеризации Алексей Игнатенко, к.ф.-м.н. Лаборатория компьютерной графики и мультимедиа ВМК МГУ Дата Тема лекции Лектор 1 26.03.2012 Свет и цвет в

Подробнее

Правительство Российской Федерации

Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики"

Подробнее

Трехмерная графика, 3D графика

Трехмерная графика, 3D графика Трехмерная графика - компьютерная графика для отображения изображений, имеющих длину, ширину и глубину. Трехмерная графика в отличие от двухмерной дает более реалистичное

Подробнее

Текстуры Композиты. Алексей Игнатенко

Растеризация Текстуры Композиты Алексей Игнатенко На лекции Задача растеризации Текстурирование Определение Текстурные отображения для сферы, тора, цилиндра Рельефное текстурирование (bump mapping) mapping)

Подробнее

АЛГОРИТМЫ ТРИАНГУЛЯЦИИ

АЛГОРИТМЫ ТРИАНГУЛЯЦИИ Александр РОМАНЮК, Александр СТОРЧАК Опубликовано в журнале "КОМПЬЮТЕРЫ+ПРОГРАММЫ", 1, 2001 г. Будущее машинной графики связано с формированием трехмерных изображений с высокой степенью

Подробнее

x t2, y t2 Рис

Лекция 8 Текстуры Нанесение текстур Различают два ви текстур: Процедурные Проективные (наносятся на грань объекта) Процедурные текстуры Рассмотрим простой пример: есть домик с кирпичными стенами. Решить

Подробнее

Базовые возможности TurboCAD

Базовые возможности TurboCAD В этом разделе мы расскажем об основных инструментах TurboCAD, которые имеют отношение к двухмерному и трехмерному черчению. Важную роль в программе TurboCAD играют различные

Подробнее

ОТЗЫВ Актуальность темы.

ОТЗЫВ Официального оппонента Турлапова Вадима Евгеньевича на диссертационную работу Гаранжа Кирилла Владимировича «Интерактивный синтез реалистичных изображений больших 3D сцен с применением графических

Подробнее

3. Порядок выполнения

Лабораторная работа 5. Использование масок в PhotoScan Работа виртуальная, выполняется каждым студентом индивидуально. Работа предусматривает общий ход выполнения, предусмотрены индивидуальные варианты

Подробнее

RANGEVISION ScanMerge

RANGEVISION ScanMerge 2017.1 Введение Загружаемые данные Импорт данных из ScanCenter Загрузка проекта Загрузка данных в формате Х Просмотр модели Функции редактирования Настройки приложения Совмещение

Подробнее

Лабораторная работа 9 «Векторная графика»

Лабораторная работа 9 «Векторная графика» Цель работы: изучение технологии создания векторных графических изображений 1. Краткие теоретические сведения В настоящее время существует два класса программных

Подробнее

Задание. Это лекции за числа: 26.01; 27.01;

Задание Это лекции за числа: 26.01; 27.01; 29.01. Их нужно переписать в тетрадь красивым и разборчивым почерком и уметь отвечать на вопросы по теме. По лекциям будет тест! Панель «Инструменты» В левой

Подробнее

1. Цели и задачи освоения дисциплины

2 Оглавление 1. Цели и задачи освоения дисциплины...4 2. Место дисциплины в структуре ООП ВПО...4 3. Требования к результатам освоения содержания дисциплины...4 4. Содержание и структура дисциплины...6

Подробнее

Об авторах 14 Ждем ваших отзывов! 14

Содержание Об авторах 14 Ждем ваших отзывов! 14 Введение 15 Что вы узнаете из этой книги 15 Новые возможности сводных таблиц в Excel 2007 16 Требуемые навыки 17 Жизнь до сводных таблиц 17 Изобретение сводной

Подробнее

УЧЕБНАЯ ПРОГРАММА GISPROG

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Факультет географии и экологии УЧЕБНАЯ ПРОГРАММА GISPROG Учебно-методическое пособие КАЗАНЬ - 2007 Составители: доктор биологических наук, доцент А.А.Савельев, старший

Подробнее

Надписи к пространственным объектам в ArcMap

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

Подробнее

1 Введение. 2 Текстуры

1 Введение В данном Пояснении к проекту, на простых примерах, мы продемонстрируем возможности новых функций визуализации в ViCADo 2010. Для того, чтобы Вы самостоятельно смогли изучить работу описанных

Подробнее

Совет 1. Изменение оформления Excel

Совет 1. Изменение оформления Excel 25 Совет 1. Изменение оформления Excel Если вы открыли Excel 2013 и сразу захотели что-либо изменить, сделать это несложно. В данном разделе мы обсудим несколько способов,

Подробнее

Рис. 1. Параметры создаваемого документа

Создание анимации в Adobe Photoshop Анимация это оживление статичных изображений, сменяющих друг друга в определенной последовательности. Мультипликация это покадровая анимация. Рисунки, выполненные на

Подробнее

Глава 1 Введение в Draw:

Руководство по Draw Глава 1 Введение в Draw: модуль векторной графики OpenOffice.org Общее введение Общее введение Модуль Draw представляет собой инструмент рисования, использующий векторную графику. Он

Подробнее

10. СОЗДАНИЕ АНИМАЦИИ INVENTOR STUDIO

10. СОЗДАНИЕ АНИМАЦИИ INVENTOR STUDIO Для создания анимации и высококачественного тонирования деталей и сборок в Autodesk Inventor Studio предусмотрено множество различных инструментов. В данной работе

Подробнее

docplayer.ru

Оптимизация OpenGL приложений - PDF

Графический конвейер

Графический конвейер Создание трехмерного объекта Трансформация Задание вершин Соединение вершин, построение полигонов Закраска вершин, растеризация Создание трехмерного объекта Текстурирование, освещение

Подробнее

Тактовая частота видеочипа

Современные графические процессоры содержат множество функциональных блоков, от количества и характеристик которых зависит итоговая скорость рендеринга, влияющая на комфортность игры. По сравнительному

Подробнее

Программирование с Render to VB (R2VB)

Программирование с Render to VB (R2VB) Обзор материала Основы R2VB Изменения в DX9 API Хитрые приемы и оптимизации Основы R2VB Идея: использовать текстуры и рендертекстуры как входныe данные вершинного

Подробнее

Введение в язык шейдеров OpenGL

Введение в язык шейдеров OpenGL Введение Введение Программируемое графическое аппаратное обеспечение существует почти столько же времени, сколько и обычное. Акселераторы разрабатываются несколько лет,

Подробнее

1.1. Что вам понадобится Навыки и опыт

1 Приступаем к работе Эта книга очень похожа на поваренную и предназначена для решения конкретных распространенных проблем, которые могут возникнуть во время разработки игры для платформы Android. Все

Подробнее

ОБРАБОТКА ИЗОБРАЖЕНИЙ В OPENGL

ОБРАБОТКА ИЗОБРАЖЕНИЙ В OPENGL Оконная система OpenGL осуществляет графический вывод в буфер кадра Отображение буфера кадра на экране монитора не входит в обязанности OpenGL Изначально OpenGL был спроектирован

Подробнее

Программируемая графическая аппаратура

Компьютерная графика Москва Лекция 12 01/02 декабря 2011 Программируемая графическая аппаратура Алексей Игнатенко, к.ф.-м.н. Лаборатория компьютерной графики и мультимедиа ВМК МГУ План лекции История появления

Подробнее

ATI SDK и инструментальные стредства

ATI SDK и инструментальные стредства Что такое ATI SDK Подборка материалов для разработчиков: примеры кода, утилиты и документация Содержит все последние материалы и разработки Навигатор позволяет посмотреть

Подробнее

КОМПЬЮТЕРНАЯ ГЕОМЕТРИЯ И ГРАФИКА

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Петрозаводский государственный университет»

Подробнее

Radeon. ËÁÏÂÌËÚ ÏËapple?

54 Radeon 8500 и 7500: разбор нашумевших чипов Radeon ËÁÏÂÌËÚ ÏËapple? В середине августа компания ATI анонсировала два новых чипа: Radeon 8500, также известный как Radeon 2 или R200, и Radeon 7500, также

Подробнее

Текстуры Композиты. Алексей Игнатенко

Растеризация Текстуры Композиты Алексей Игнатенко На лекции Задача растеризации Текстурирование Определение Текстурные отображения для сферы, тора, цилиндра Рельефное текстурирование (bump mapping) mapping)

Подробнее

Лабораторная работа 5

Лабораторная работа 5 Использование шейдеров в OpenGL Шейдеры Шейдер представляет собой часть шейдерной программы, заменяющей собой часть графического конвейера видеокарты. От того какую часть конвейера

Подробнее

Тесселяция в OpenGL 4.x и DirectX 11.x TE55ELLATION

Тесселяция в OpenGL 4.x и DirectX 11.x TE55ELLATION Мотивация Тесселяционный конвейер Практическое использование Мотивация Качество визуализации Экономия памяти Динамический уровень детализации Выполнение

Подробнее

Аппаратная архитектура CUDA

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Новосибирский национальный исследовательский

Подробнее

МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ Факультет Направление Специализация Академическая степень

Подробнее

ВЫПУСКНАЯ РАБОТА БАКАЛАВРА

Министерство образования и науки Российской Федерации федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого»

Подробнее

ОТЗЫВ Актуальность темы.

ОТЗЫВ Официального оппонента Турлапова Вадима Евгеньевича на диссертационную работу Гаранжа Кирилла Владимировича «Интерактивный синтез реалистичных изображений больших 3D сцен с применением графических

Подробнее

GPU в задачах машинного обучения

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

Подробнее

Основы метода растеризации

Спецкурс САИКГ Лекция 2 02 апреля 2012 Основы метода растеризации Алексей Игнатенко, к.ф.-м.н. Лаборатория компьютерной графики и мультимедиа ВМК МГУ Дата Тема лекции Лектор 1 26.03.2012 Свет и цвет в

Подробнее

Доступ к функциям энергосбережения

Настройки принтера Данный раздел содержит следующие параграфы: "Доступ к функциям энергосбережения" на стр. 1-16 "Доступ к функциям энергосбережения" на стр. 1-16 "Предотвращение доступа к настройкам передней

Подробнее

Модель памяти GPU/CUDA Global memory

Центр микро- и наномасштабной динамики дисперсных систем Модель памяти GPU/CUDA Марьин Д. Ф. Уфа, 2011г. 1 На GPU/CUDA выделяют 6 видов памяти: 1 регистровая 2 разделяемая 3 локальная 4 глобальная 5 константная

Подробнее

Примеры использования CUDA: редукция

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Новосибирский национальный исследовательский

Подробнее

Лекция 10: Графические процессоры (ГП)

Лекция 10: Графические процессоры (ГП) 1 Архитектура Большая часть логических элементов центральных процессоров (ЦП) отведена для кеширования памяти и контроллера. Это позволяет ядрам ЦП быстро выполнять

Подробнее

Генерирование 3D ландшафта

Санкт Петербургский Государственный Университет Математико механический факультет Кафедра системного программирования Генерирование 3D ландшафта Курсовая работа студента 344 группы Ефремовой Варвары Андреевны

Подробнее

ПРИМЕНЕНИЕ GEOGEBRA НА УРОКАХ МАТЕМАТИКИ

ПРИМЕНЕНИЕ GEOGEBRA НА УРОКАХ МАТЕМАТИКИ 2 2017 И.О. Губская, магистр педагогических наук, преподаватель информационных технологий Полоцкого колледжа учреждения образования «Витебский государственный университет

Подробнее

Технологическая карта (план) занятия 8.2

Технологическая карта (план) занятия 8.2 Дисциплина: Аппаратное обеспечение Тема занятия: Видеокарта Группа 14 Дата Вид занятия (тип урока): освоение нового материала учебная: познакомиться с характеристиками

Подробнее

YART Studio. Язык программирования C-YART

YART Studio Язык программирования C-YART Санкт-Петербург 2018 Оглавление C-YART... 3 Типы данных... 3 Комментарии к коду... 3 Структура кода... 3 Переменные, константы и массивы... 4 Математические операторы...

Подробнее

docplayer.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта