Аппаратный рендеринг геометрии 3D
Создание оборудования и рендеринг геометрии 3D
Для рендеринга геометрии 3D требуются шейдер, буферы и состояние рендеринга. Никто из них не может работать друг без друга.
- Буферы-Треугольные списки-это отдельные треугольники, указанные в массиве, который иногда называют буфером. В списке треугольников каждый треугольник указан индивидуально. Точки треугольника можно совместно использовать с помощью индексов для уменьшения объема данных, которые необходимо передать графическому оборудованию.
- Шейдеры-Он определяет, как преобразовать треугольники из мирового пространства в пространство экрана и рассчитать окончательный цвет пикселя на стороне GPU
- Государства-члены-Он предоставляет параметры для GPU для растеризации треугольников в пиксели.
Язык затенения OpenGL (GLSL) является стандартным языком затенения высокого уровня для графики OpenGL API. Метод InitRenderer
в файле AssetBrowser/Controls/RenderView.cs
в демонстрационном приложении (имя: AssetBrowser) демонстрирует простое использование GLSL с помощью Aspose.3D API. Обычно используются три типа шейдеров: шейдеры вершин, шейдеры фрагмента и шейдеры геометрии.
Класс GLSLSource
сообщает рендеру, что исходный код предназначен для языка затенения OpenGL, он может быть скомпилирован в класс ShaderProgram
. Класс ShaderVariable
определяет переменные, используемые в шейдере. Класс VariableSemantic
используется для определения семантики переменной шейдера, Aspose.3D рендерер автоматически подготовит значения переменной шейдера в зависимости от семантики.
Образец программирования для Shader
Этот пример кода инициализирует рендерер и шейдер для сетки. Вы можете скачать полный рабочий проект этого примера из Здесь.
Образец программирования для состояния буфера и Рендера
Этот пример кода инициализирует буфер и состояние рендеринга для сетки.