Аппаратный рендеринг геометрии 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

Этот пример кода инициализирует рендерер и шейдер для сетки. Вы можете скачать полный рабочий проект этого примера из Здесь.

Образец программирования для состояния буфера и Рендера

Этот пример кода инициализирует буфер и состояние рендеринга для сетки.