• Butterfly
    Butterfly
    Posts: 91 from 2020/12/24
    Quote:

    r_skipPostProcess 1


    This comes down to an issue I asked many moons ago but seems to be a forgotten email....

    And for what I check now, it "could" be also related when effects as
    doublevision/berseker/grabber, etc are applied (probably others).

    r_skippostprocess is checked in draw_common.cpp/RB_STD_DrawShaderPasses. After that if renderer is ARB2, copyframebuffer is called.

    That function ("copyframebuffer") is in image_load.cpp.

    At image_load/copyframebuffer, opengl functions (readbuffer, copyteximage2d, etc) are called: Something's going on with those.

    Ok. What it has to do with doublevision/grabber and so ?

    Well, at game/PlayerView.cpp, those visual effects call "capturerendertoimage".

    At rendersystemsystem.cpp is were capturerendertoimage is located and what it does is flag commandId with "RC_COPY_RENDER".

    Further down the line the check for commanId is at tr_backend.cpp/RC_ExecuteBackEndPrograms.

    When "RC_COPY_RENDER" is checked in the loop, it calls RB_CopyRender. And RC_CopyRender calls "copyframebuffer".

    So now we have two places were copyframebuffer does "wrong" whatever ARB render is in use.

    Edit: Postprocess also affects all renders.

    [ Edited by Cowcat 11.04.2023 - 13:37 ]
  • »11.04.23 - 10:02
    Profile