Перекрестные сцены в OpenGL - PullRequest
2 голосов
/ 20 августа 2009

Я хотел бы визуализировать две сцены в OpenGL, а затем сделать визуальное перекрестное затухание от одной сцены ко второй. Кто-нибудь может предложить отправную точку для изучения, как это сделать?

Ответы [ 3 ]

9 голосов
/ 20 августа 2009

Самая важная вещь, которую вам нужно выучить, это как сделать рендеринг в текстуру.

Когда у вас есть обе сцены в 2 текстурах, их действительно просто поменять местами. На самом деле все довольно просто сделать из множества интересных эффектов затухания:)

1 голос
/ 20 августа 2009

Вот пример кода перекрестного затухания . Это кажется немного отличным от того, что имеет Гоз, так как две сцены динамичны. В примере используется трафаретный буфер для перекрестного затухания.

0 голосов
/ 10 сентября 2009

Я мог бы подумать о другом способе затухания сцен, но это зависит от того, насколько сложен ваш рендерер сцен. Если это просто, вы можете запустить шейдерную программу перед рендерингом второй сцены, которая дает желаемый эффект смешивания. Я бы попробовал glBlend (GL_ALPHA, GL_ONE_MINUS_SRC_ALPHA) и манипулировал альфа-значениями фрагментов в шейдере.

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

...