Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 16:46

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Multisampling bei Texturen
BeitragVerfasst: Fr Mär 24, 2006 23:59 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

ich hab nen problem mit GL_MULTISAMPLE_ARB...

Ich hab in meinem Programm lediglich eine Orhogonale ansicht auf ein bildschirmfüllendes Quad mit einer Textur drauf..
Jetzt wollte ich das ganze noch ein wenig AntiAliasen und dachte mit GL_MULTISAMPLE_ARB geht das wunderbar.

Nur, egal ob ich es ein oder ausschalte, es gibt absolut keinen unterschied.. kann das sein?? Oder hab ich evtl irgendwas falsch gemacht??
Also, funktioniert GL_MULTISAMPLE_ARB auch bei texturen?? Oder echt nur bei Geometrie??

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 25, 2006 00:28 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi nochmal,

hier nochmal der Code mit dem ich das Multisampling aktiviere, evtl sieht jemand nen fehler.

Code:
  1. function wglSetFormat(HandleDC: HDC; MultiSampling: Integer = 4): Integer;
  2. var
  3.   numFormats: GLUint;
  4.   nPixelFormat: GLInt;
  5.   Valid: LongBool;
  6.   wglFormati: Array[0..21] of Integer;
  7. const
  8.   wglFormatf: Array[0..1] of Single = (0, 0);
  9. begin
  10.   Result:=0;
  11.   wglFormati[ 0]:=WGL_DRAW_TO_WINDOW_ARB;
  12.   wglFormati[ 1]:=GL_TRUE;
  13.   wglFormati[ 2]:=WGL_SUPPORT_OPENGL_ARB;
  14.   wglFormati[ 3]:=GL_TRUE;
  15.   wglFormati[ 4]:=WGL_ACCELERATION_ARB;
  16.   wglFormati[ 5]:=WGL_FULL_ACCELERATION_ARB;
  17.   wglFormati[ 6]:=WGL_COLOR_BITS_ARB;
  18.   wglFormati[ 7]:=24;
  19.   wglFormati[ 8]:=WGL_ALPHA_BITS_ARB;
  20.   wglFormati[ 9]:=8;
  21.   wglFormati[10]:=WGL_DEPTH_BITS_ARB;
  22.   wglFormati[11]:=16;
  23.   wglFormati[12]:=WGL_STENCIL_BITS_ARB;
  24.   wglFormati[13]:=0;
  25.   wglFormati[14]:=WGL_DOUBLE_BUFFER_ARB;
  26.   wglFormati[15]:=GL_TRUE;
  27.   wglFormati[16]:=WGL_SAMPLE_BUFFERS_ARB;
  28.   wglFormati[17]:=GL_TRUE;
  29.   wglFormati[18]:=WGL_SAMPLES_ARB;
  30.   wglFormati[19]:=MultiSampling;
  31.   wglFormati[20]:=0;
  32.   wglFormati[21]:=0;
  33.   Valid:=wglChoosePixelFormatARB(HandleDC, @wglFormati, @wglFormatf, 1, @nPixelFormat, @numFormats);
  34.   if Valid and (numFormats >= 1) then
  35.     Result:=nPixelFormat;
  36. end;


Code:
  1.   h_dc:=GetDC(oglPanel.Handle);
  2.   SetDCPixelFormat(h_dc); // Hier noch das Standard PixelFormat
  3.   h_rc:=wglCreateContext(h_dc);
  4.   wglMakeCurrent(h_dc, h_rc);
  5.   ActivateRenderingContext(h_dc, h_rc);
  6.  
  7.   newPixelFormat:=wglSetFormat(h_dc); //Siehe oben
  8.   ReleaseDC(oglPanel.Handle, h_DC);
  9.   DeactivateRenderingContext;
  10.   wglDeleteContext(h_rc);
  11.   h_dc:=GetDC(oglPanel.Handle);
  12.   SetNewPixelFormat(h_dc, newPixelFormat); //Ruft nur SetPixelFormat() auf mit dem PixelFormatDescriptor den ich auch bei SetDCPixelFormat verwendet hab.
  13.   h_rc:=wglCreateContext(h_dc);
  14.   wglMakeCurrent(h_dc, h_rc);
  15.   ActivateRenderingContext(h_dc, h_rc);


Ist es denn überhaupt notwendig den Context zu zerstören und neuzuerstellen?? bzw, ist es möglich im nachhinein zwischen 2x, 4x und keinem MultiSampling zu wählen ohne den Context zu zerstören??

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 25, 2006 13:06 
Offline
DGL Member

Registriert: Di Sep 06, 2005 20:40
Beiträge: 26
Wohnort: Aarhus, Denmark
Aya hat geschrieben:
Ist es denn überhaupt notwendig den Context zu zerstören und neuzuerstellen?? bzw, ist es möglich im nachhinein zwischen 2x, 4x und keinem MultiSampling zu wählen ohne den Context zu zerstören??

Die pixelformat eines devicecontext kann leider nur einmal gewahlt werden.

Regards, Jeppe


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]