No, that wasn't exactly my question....
Let me put it another way:
Lets say I have a vector of size 3 holding the three backsurfaces gathered with GetBackbuffer()
vector:
BSurface0 BSurface1 BSurface2
To what backbufferslot do I transfer the next picture of a videostream with UpdateSurface() in dependency of the already presented pictures e.g.:
presented pictures = 0, transfered pictures = 0
then I would transfer in the first backbuffer BSurface0, cause that one get's displayed by the next present() operation.
let's say that I show my prepared picture in BSurface0 by present()
To which backbufferslot do I have to write the second picture of the videostream?
Surprisingly it is still BSurface0 and not BSurface1
Let's say that I have a prepared picture in BSurface0 (get's displayed next) and did not present it
Then I write the next videstream picture to BSurface1.
So actually the formula to write the next picture is not
VectorSlot = Number_of_Presented_Picture % Number_of_Backbuffers
but
VectorSlot = Number_of_Transfered_Pictures - Number_of_Presented_Picture
So I always begin to fill up the BSurfaces in the vector from left to right!
Several questions arize here:
1.) How does DirectX manage that the BSurfacesX in my vector refer to different backbuffers in dependency of the present operations internally ?
E.g. if I always transfer one frame and immediately present it three times.
BSurface0 refers to Bckbuffer0 Backbuffer1 and Backbuffer2 one after another.
2.) I don't want the each BSurfaceX in the vector refer to different backbuffers over the time , I am more interested
in a function like VectorSlot = Number_of_Presented_Picture % Number_of_Backbuffers.
How can I do this?
Regards
R4DIUM