Использование буфера трафарета для слияния динамической тени - PullRequest
3 голосов
/ 13 августа 2011

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

Изображение лучше, чем слово.

Stencil buffer

Имейте в видуЯ могу нарисовать только белый квадрат и черную тень.

Я не хочу, чтобы что-либо рисовалось внутри черной области, следовательно, буфер трафарета.

Рисование мира при заполнении буфера трафарета«1» легко.Рисовать поле зрения для игрока легко.Выяснить, где видит только один игрок, нелегко.

Для меня это похоже на операцию ИЛИ между двумя последними фотографиями.Однако существует только один трафаретный буфер.Из-за относительной нехватки документации о буфере трафарета я также не уверен в том, как он действительно работает.

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

У кого-нибудь есть идеи по этому поводу?

1 Ответ

0 голосов
/ 14 августа 2011

Ну, неважно.Наконец-то я нашел способ сделать это благодаря операции буфера трафарета OpenGL ИЛИ? Я сделал это с помощью glStencilMask для записи бит за бит.Тень повсюду), поэтому мне пришлось от нее избавиться: /

Спасибо, что все равно уделили время!

...