Студопедия — Средства программирования графических процессоров
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Средства программирования графических процессоров






4.4.1. Общая структура программы для физического модели­рования на графическом процессоре

Для того чтобы графический процессор мог исполнить программу, она должна быть откомпилирована в машинные коды и записана в оперативную память компьютера, откуда драйвер графического процессора передаёт её на исполнение. Для шейдеров модели 3.0 существуют языки программирования высокого уровня (Cg, HLSL, GLSL), на этих языках программы можно писать в форме текстовых файлов, которые затем компилируются в машинные коды автоматически. Примеры шейдеров, приведённые ниже, будут написаны на языке HLSL.

Вместе с тем, шейдерная модель 3.0 не позволяет создавать для графических процессоров полнофункциональные программы, которые включали бы в себя загрузку данных из оперативной памяти компьютера или с дисковых накопителей, а также обеспечивали бы пользовательский интерфейс. Эти задачи, а также те компоненты вычислительного алгоритма, где нет поточно-параллельных расчётов, должен исполнять центральный процессор ПК, для чего необходима программа на «обычном» языке высокого уровня (C#, C++, Visual Basic и др.).

Для того чтобы из программы, написанной на «обычном» языке высокого уровня, было проще прямо обращаться к драйверу видеокарты (а через него – к графическому процессору) существуют стандартные библиотеки специальных процедур, наиболее распространённые из которых - API DirectX и OpenGL. Процедуры из этих библиотек обеспечивают такие операции, как

· Выделение памяти для массива вершин треугольников, образующих 3D-сцену (при программировании графики) либо задающих границы циклов (при математическом моделировании);

· Загрузка файла с текстом программы для GPU (на языке HLSL или подобном), компиляция этого файла и запись кода программы в память ПК;

· Выбор той «техники» (откомпилированная программа для GPU может содержать несколько «техник» - процедур, вызываемых внешними программами), которую должен будет выполнить графический процессор;

· Копирование исходных данных для графического процессора в видеопамять;

· Запуск выбранной «техники» на исполнение;

· Выделение памяти ПК для рендер-цели, в которую драйвер видеокарты будет записывать результаты расчётов. Получение этих результатов из рендер-цели.

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

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

К процедурам DirectX и OpenGL можно обращаться напрямую, но всё же они имеют сравнительно «низкий» уровень – требуют специальных знаний и много рутинного программирования. Существуют дополнительные библиотеки, являющиеся надстройками над DirectX и OpenGL, которые упрощают программирование. В дальнейших примерах мы будем использовать такую библиотеку, а именно Microsoft XNA Game Studio Express 2.0 (XNA2).







Дата добавления: 2014-12-06; просмотров: 573. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия