OpenGL: как узнать, попадает ли вершина в буфер кадра с помощью API - PullRequest
1 голос
/ 04 августа 2020

Я ищу простой и надежный способ узнать, попадают ли вершины в последний буфер кадра.

Я не ищу точное количество, но если что-то действительно попадает в буфер. Пытаюсь отладить карту теней. Все мои инструменты говорили мне, что я что-то рисую, но в конечном результате я ничего не вижу, даже если я конвертирую все в обычный кадровый буфер. Поэтому я хочу узнать из API: «Я помещаю вершину в буфер прямо сейчас», чтобы быть уверенным и не тратить время на неисправный фреймбуфер.

1 Ответ

1 голос
/ 04 августа 2020

Используемый инструмент, как сказал genpfault, - это GL_ANY_SAMPLES_PASSED с механизмом запросов. glGenQueries () для создания рассматриваемого запроса, glQueryBegin () и glQueryEnd () вокруг кода, который действительно что-то рисует, и glGetQueryObjectxxx (), чтобы знать, нарисовано ли что-то. Вы также можете использовать GL_SAMPLES_PASSED, чтобы узнать, сколько фрагментов было отображено.

Действительно то, что мне нужно.

...