AntiAliasing
-
Bei wglChoosePixelFormatARB (teil der WGL_ARB_pixel_format Extension) das WGL_SAMPLES_ARB Attribut verwenden.
-
Wenn ich WGL_SAMPLES_ARB benutze, kommt bei mir irgendeine sinnlos hohe Zahl heraus. Wenn ich GL_SAMPLES_ARB verwende, kommt immer die aktuelle Anzahl der benutzten Samples raus.
Das Cap bekomme ich damit aber nicht raus.
-
Pikkolini schrieb:
Wenn ich WGL_SAMPLES_ARB benutze, kommt bei mir irgendeine sinnlos hohe Zahl heraus.
Und wie genau verwendest du WGL_SAMPLES_ARB!?
-
Ich glaub ihr versteht mich falsch.
Ich will nicht wissen, wie ich die Anzahl der Samples oder so bestimme. Das ist alles klar.
Ich möchte wissen, wie es möglich ist die maximale Anzahl der Samples rauszubekommen.
Mit glGet bekomme ich nur, wieviele ich momentan Benutze.
-
Von glGet hab ich auch nie was gesagt, oder?
dot schrieb:
Bei wglChoosePixelFormatARB (teil der WGL_ARB_pixel_format Extension) das WGL_SAMPLES_ARB Attribut verwenden.
Edit: Sry in deinem Fall brauchst du natürlich auch wglGetPixelFormatAttribivARB.
-
Tu ich...
int iAttributes[] = { WGL_DRAW_TO_WINDOW_ARB,GL_TRUE, WGL_SUPPORT_OPENGL_ARB,GL_TRUE, WGL_ACCELERATION_ARB,WGL_FULL_ACCELERATION_ARB, WGL_COLOR_BITS_ARB,24, WGL_ALPHA_BITS_ARB,8, WGL_DEPTH_BITS_ARB,16, WGL_STENCIL_BITS_ARB,0, WGL_DOUBLE_BUFFER_ARB,GL_TRUE, WGL_SAMPLE_BUFFERS_ARB,GL_TRUE, WGL_SAMPLES_ARB, level, 0,0};
Aber was du mir wahrscheinlich sagen willst, ist, dass ich immer eine Probe mit der jeweiligen Anzahl der Samples machen muss, ob da auch was rauskommt.
-
Pikkolini schrieb:
Aber was du mir wahrscheinlich sagen willst, ist, dass ich immer eine Probe mit der jeweiligen Anzahl der Samples machen muss, ob da auch was rauskommt.
So in der Art hätt ichs jetzt mal versucht. Oder eben z.B. ChoosePixelFormat mit einem sehr hohen Sample Count gemacht und geschaut was er als closest match liefert...
-
Wenn ich einen sehr hohen Sample Count benutze, kommt bei mir als closest match immer 0.
-
Ok dann wirst du wohl einfach alle Werte durchtesten müssen und schauen wie weit du kommst.
-
Das mit dem Maximum habe ich überlesen, sorry.
Aber bei mir gibt folgender Code:int aa = 0; glGetIntegerv(GL_MAX_SAMPLES, &aa); std::stringstream ss; ss << "Maximum Multisample: " << aa; NLTrace(ss.str());
diese Ausgabe:
Maximum Multisample: 8
HTH
rya.
-
dot schrieb:
Ok dann wirst du wohl einfach alle Werte durchtesten müssen und schauen wie weit du kommst.
Nö - wie Scorcher24 schon schrieb kann man diesen Wert abfragen (siehe auch OpenGL 4.1 corespecs - page 395 - table 6.54.
Damit ist es dann recht einfach über wglChoosePixelFormatARB ein geeignetes PixelFormat abzufragen.