|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
[c] CreateDC e PixelFormat
Usando l'HDC restituito da CreateDC("DISPLAY", NULL, NULL, NULL); sto cercando di impostare un pixel format: ho provato di tutto ma il pixel format resituito da ChoosePixelFormat e' sempre 0. Forse non posso cambiare pixel formato usando display.drv ?
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sinceramente non lo so...comunque ho sempre visto usare ChoosePixelFormat dopo GetDC sulla finestra dell'applicazione...
Non è che magari hai sbagliato l'inizializzazione della struttra dati ? Quello che segue è un esempio di inizializzazione funzionante... PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd 1, // version number PFD_DRAW_TO_WINDOW | // support window PFD_SUPPORT_OPENGL | // support OpenGL PFD_DOUBLEBUFFER, // double buffered PFD_TYPE_RGBA, // RGBA type 24, // 24-bit color depth 0, 0, 0, 0, 0, 0, // color bits ignored 0, // no alpha buffer 0, // shift bit ignored 0, // no accumulation buffer 0, 0, 0, 0, // accum bits ignored 32, // 32-bit z-buffer 0, // no stencil buffer 0, // no auxiliary buffer PFD_MAIN_PLANE, // main layer 0, // reserved 0, 0, 0 // layer masks ignored }; HDC hdc; int iPixelFormat; iPixelFormat = ChoosePixelFormat(hdc, &pfd); |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
diavolo, il PixelFormat mi perseguita... avevo problemi in Delphi, ora anche in C... la stessa tua inizializzazione l'ho presa dalla guida compresa col Delphi dell'SDK Win32... purtroppo sul mio PC di sviluppo (che e' un po'anzianotto, e' del 1995) non riesco proprio a trovare il PixelFormat giusto... ho ridotto cColorBits a 16, cDepthBits a 24 e cosi' via, ma il risultato e' sempre lo stesso:
((iPixelFormat = ChoosePixelFormat(hdc, &pfd)) == 0) mi restituisce VERO. non ce la faro' mai. e pensare che l'unica cosa che mi serve e' il double buffering: sto realizzando una DLL per GDI, che mi sembra anche abbastanza buona
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prova con 24-bit color depth e 16-bit z-buffer...
Prova a fare questa cosa e guarda come è settato: Codice:
PIXELFORMATDESCRIPTOR pfd;
HDC hdc;
int iPixelFormat;
// get the current pixel format index
iPixelFormat = GetPixelFormat(hdc);
// obtain a detailed description of that pixel format
DescribePixelFormat(hdc, iPixelFormat,
sizeof(PIXELFORMATDESCRIPTOR), &pfd);
Comunque ripeto... Io non l'ho mai visto usare sul DC "DISPLAY"...ma sempre sul DC dell'applicazione.... |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
L'ho gia' fatto, ma ora non mi ricordo cosa mi restituisce... mi sembra un PFD vuoto (tutti 0) o numeri sballati... inutilizzabile comunque... ho provato la procedura standard anche sul mio computer nuovo, che ha una GeForce2, e non avrei dovuto avere problemi, invece...
Comunque un giorno o l'altro vi postero' il codice, cosi' (PixelFormat) a parte, mi dite se sono diventato un programmatore o sono ancora un novellino...
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:42.



















