Re: OpenAL device, buffer and context relationship
Daniel PEACOCK <[email protected]>
| Newsgroups | gmane.comp.lib.openal |
|---|---|
| Message-ID | <OF81D9E407.FEE48EF4-ON80257738.004FC8AC-80257738.0050463E@cli.creaf.com> |
Hi Markus, > I'm trying to create an object oriented model to wrap OpenAL and have a > little problem understanding the devices, buffers and contexts. > > >From what I can see in the Programmer's Guide, there are multiple devices, > each of which can have multiple contexts as well as multiple buffers. Each > context has a listener, and the alListener*() functions all operate on the > listener of the active context. (Meaning that I have to make another context > active first if I wanted to change it's listener, if I got that right.) So > far, so good. What irritates me though is that I need to pass a device to > the alcCreateContext() function, but none to alGenBuffers(). > > How does this work then? When I open multiple devices, on which device are > the buffers created? Are the buffers shared between all devices? What > happens to the buffers if I close all open devices? All the al* functions (rather than alc* functions) operate on the current context. So, alGenBuffer calls will operate on the current context and create Buffers that belong to the Context's Device (a Context can only have one Device). Buffers created on one Device are not available on another Device. A Device's Buffers will (probably) be automatically destroyed when you call alcCloseDevice. Dan Creative Labs, UK _______________________________________________ Openal mailing list [email protected] http://opensource.creative.com/mailman/listinfo/openal