Как вывести несколько кадров из шейдерной обработки GLSL? - PullRequest
0 голосов
/ 04 ноября 2019

Могу ли я использовать несколько выходов из шейдера постобработки в GLSL?

Я использую Reshade с Super Depth 3D. Я добавил туда последовательный кадр 3D выхода (для монитора 120 Гц). Мне нужно переписать часть этого, чтобы позволить играм 60FPS отображать в 3D.

PSEUDOCODE:
Right now it is working only when game hit stable 120FPS with provided algorithm:
for each frame:
    if frame is even:
      generate left eye image
    else:
      generate right eye image

I have to change this to following one (so game can be played in 60FPS):
for each frame:
  generate left eye image AND right eye image

Последовательность кадров до шейдера: ABCDEF

После шейдера: AABBCCDDEEFF

EDIT

Очевидно, что Reshade не позволяет вводить любой новый кадр через шейдеры, потому что он только добавляет информацию к уже обработанному кадру.

Так возможна ли эта вставка кадра с помощью другого программного обеспечения? (например, ENB) Существует ли программная реализация вставки черной рамки для игр DirectX / OpenGL? Я предполагаю, что он должен получить поток 60FPS и вывести 120FPS.

...