Bonjour,

j'ai un petit problème avec les Pbuffers sur certains chips graphiques.
En l'occurence sur un Intel 915G: au delà d'une taille de 800x600 a peu près, impossible de créer un pBuffer.

J'essaie alors de palier au probleme en précisant de creer un buffer de la taille maximale possible, avec WGL_PBUFFER_LARGEST_ARB, mais ca ne marche pas... ca n'a l'air d'avoir aucun effet.

Donc j'aimerais essayer d'obtenir les dimensions maximales possible en utilisant wglGetPixelFormatAttribivEXT avec WGL_MAX_PBUFFER_WIDTH_ARB par exemple, mais impossible de trouver le moindre exemple là dessus.

Pour résumer:
1. Est-il normal que WGL_PBUFFER_LARGEST_ARB n'ait aucun effet? Je fais qq chose de travers?
2. QQ'un aurait-il un exemple d'uutilisation de wglGetPixelFormatAttribivEXT ?

Je poste monde code de création, merci d'avance!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// pBuffer attributes
	int pf_attr[] =
	{
		WGL_PBUFFER_LARGEST_ARB, 1,			// Get the largest available pBuffer (size will be limited if ressources
		0									// are insufficient but will never exeed the specified width & height)
	};
 
	wglGetPixelFormatAttribivEXT( WGL_MAX_PBUFFER_WIDTH_ARB );
 
	m_hpBuffer = wglCreatePbufferARB(m_oldhDC, pixelFormat, m_width, m_height, pf_attr);
 
	// Retrieve pBuffer dimensions, in case they differ from the requested ones
	int pWidth, pHeight;	
	wglQueryPbufferARB(m_hpBuffer, WGL_PBUFFER_WIDTH_ARB, &pWidth);
	wglQueryPbufferARB(m_hpBuffer, WGL_PBUFFER_HEIGHT_ARB, &pHeight);
 
	// Quit if the pBuffer creation failed
	if(!m_hpBuffer)
	{
		MessageBox(NULL, _T("Could not create the p-buffer"), _T("ERROR"), MB_OK | MB_ICONEXCLAMATION);
		return FALSE;
	}
 
	// Copy the new size if necessary)
	if((m_width != pWidth) || (m_height != pHeight))
	{
		m_width	 = pWidth;
		m_height = pHeight;
		MessageBox(NULL, _T("p-buffer size-limited due to insufficient hardware ressources. Consider upgrading your graphic chipset"), _T("ERROR"), MB_OK | MB_ICONEXCLAMATION);
	}