HGE::Gfx_StartBatch

Начинает вывод пользовательской последовательности примитивов.

hgeVertex *Gfx_StartBatch(
  int prim_type,
  HTEXTURE tex,
  int blend,
  int *max_prim
);

Параметры

prim_type
Тип графических примитивов которые необходимо выводить:
HGEPRIM_LINES - линии
HGEPRIM_TRIPLES - треугольники
HGEPRIM_QUADS - четырехугольники
tex
Идентификатор текстуры или 0.
blend
Режим смешивания.
max_prim
Указатель на int который содержит максимальное число примитивов, доступных в одной последовательности.

Возвращаемое значение

Возвращает указатель на массив вершин, которые будут заполнены и содердит максимальное число примитивово, указанное в max_prim.

Примечания

Gfx_StartBatch - лазейка в сердце HGE и DirectX, только для экспертов. Она позволяет прямой доступ к аппаратному буферу вершин и позволяет с максимальной скоростью выводить большое количсетво графических примитивов. Может быть использована для задач с очень сложной геометрией или текстурными эффектами или при выводе сложных расчитанных заранее объектов.

Функция Gfx_StartBatch должна быть вызвана между вызовами Gfx_BeginScene и Gfx_EndScene. Чтобы закончить последовательность, воспользуйтесь функцией Gfx_FinishBatch. Никакие другие функции вывода не должны находиться внутри пары вызовов Gfx_StartBatch/Gfx_FinishBatch.

Размер буфера вершин - постоянная величина и едва ли будет меняться. Он может содержать до 1000 прямоугольников / 1333 треугольников / 2000 линий. В буфер необходимо записывать по 2 вершины на линию, 3 вершины на треугольник и 4 вершины на каждый прямоугольник. Действительное число примитивов, записанное в буфер необходимо передать в вызове функции Gfx_FinishBatch.

Gfx_StartBatch сбрасывает в видеоадаптер все накопленные графические примитивы.

Требования

Заголовок: hge.h
Библиотека импорта: hge.lib

Смотрите также

Gfx_FinishBatch, Gfx_BeginScene, Gfx_EndScene