Студопедия Главная Случайная страница Обратная связь

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

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





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; просмотров: 601. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

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