Content deleted Content added
No edit summary |
No edit summary |
||
Line 3:
==Function==
In every swap chain there are at least two buffers. The first framebuffer, the screenbuffer, is the buffer that is [[Rendering (computer graphics)|rendered]] to the [[output]] of the [[video card]]. Each time a new [[Film frame|frame]] is displayed, the first back buffer in the swap chain takes the place of the screenbuffer, this is called 'presentation' or 'swapping'. A variety of other actions may be taken on the previous screenbuffer and other backbuffers (if they exist). The screenbuffer may be simply [[Overwriting (Computer Science)|overwritten]] or returned to the back of the swap chain for further processing. The action taken is decided by the client application and is API dependent.
===
[[Microsoft]] [[Direct3D]] implements a 'SwapChain' class. Each host device has at least one swap chain assigned to it, and others may be created by the client application.<ref>http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.directx.direct3d.swapchain.aspx</ref> The API provides three methods of swapping: 'copy', 'discard', and 'flip'. When the SwapChain is set to 'flip', the screenbuffer is copied onto the last backbuffer, then all the existing backbuffers are copied forward in the chain. When 'copy' is set, each backbuffer is copied forward, but the screenbuffer is not wrapped to the last buffer, leaving it unchanged. 'Flip' does not work when there is only one backbuffer, as the screenbuffer is copied over the only backbuffer before it can be presented. In 'discard' mode, the driver selects the best method.<ref>http://nexe.gamedev.net/directKnowledge/default.asp?p=Swap%20Chains</ref>
|