
Data Transfer
Quadro SDI Output PG-03776-001_v06 | 20
pbuffer_list[4] = None;
pbuffer = glXCreatePbuffer(dpy, config, pbuffer_list);
// Create rendering context for GLX_RGBA_TYPE pbuffer.
context = glXCreateNewContext(dpy, config,
GLX_RGBA_TYPE, 0, True);
Code Listing 17: Creating a 16-bit Floating Point Pbuffer on Linux
GLXFBConfig *configs, config;
int nelements;
int config_list[] = { GLX_DRAWABLE_BIT, GLX_PBUFFER_BIT,
GLX_DOUBLEBUFFER, GL_TRUE,
GLX_RENDER_TYPE, GLX_RGBA_FLOAT_BIT_ARB,
GLX_RED_SIZE, 16,
GLX_GREEN_SIZE, 16,
GLX_BLUE_SIZE, 16,
None };
int pbuffer_list[8];
configs = glXChooseFBConfig(dpy, 0, config_list, &nelements);
// Find a config with the right number of color bits.
for (i = 0; i < nelements; i++) {
int attr;
if (glXGetFBConfigAttrib(dpy, configs[i],
GLX_RED_SIZE, &attr)) {
// Handle error
}
if (attr != 16)
continue;
if (glXGetFBConfigAttrib(dpy, configs[i],
GLX_GREEN_SIZE, &attr)) {
// Handle error
}
if (attr != 16)
continue;
if (glXGetFBConfigAttrib(dpy, configs[i],
GLX_BLUE_SIZE, &attr)) {
// Handle error
}
if (attr != 16)
continue;
Comentários a estes Manuais