Archiv verlassen und diese Seite im Standarddesign anzeigen : Alpha Test AA
Demirug
2004-01-10, 17:17:30
Man kann es den Designer scheinbar nicht abgewöhnen Alpha-Texturen für sehr feine geometrische Strukturen (z.B. Drahtzäune) einzusetzten.
Der Alphatest den man in solchen Fällen normalerweise verwendet hat den Nachteil das die dabei entstehenden Kanten nicht von MSAA erkannt und geglättet werden können. Die Lösung SSAA wird aber nicht mehr von allen Treiber angeboten und ist auch sehr Leistungsfressend.
Die Alternative Alphablending welche die Kanten "glätten" kann hat allerdings auch Nachteile. Multipass Effekte für die Pixel welche mit den Alphakanten arbeiten sind fast unmöglich. Zusätzliche müssen die Flächen von der CPU vorsortiert werden.
Aufbauend auf dem Alphatest und MSAA ist es mir jetzt gelungen ein Verfahren zu entwickeln welches eine Kantenglättung erreicht ohne das eine Vorsortierung erforderlich ist. Dadurch ist das Verfahren in jede Engine die den Alphatest nutzt leicht einzubauen.
Es sollen aber auch nicht die Probleme verschwiegen werden. Bei den Flächen für die man es einsetzt steigt der Aufwand um das 2-X fache. Abhängig von der gewählten Qualitätsstufe. Desweiteren muss das AA über die Applikation aktiviert werden.
Wer sich das ganze einmal anschauen möchte. Dort (http://demirug.bei.t-online.de/AlphaTestAA.zip) kann man sich eine Technologiestudie anschauen. Die grüne Fläche wird mit Alphatest gerendert. Die rote Fläche wird danach ohne Alphatest gerendert. Die Textur für die grüne Textur ist extra so klein damit die Alphakanten schön weit gezogen werden.
Mit der Taste A kann man den Alphatest auch bei der grünen Fläche deaktivieren. Q schaltet die rote Fläche ab und W die grüne. Mit 0,2 und 4 kann die Qualität des Alpha-Test AA wählen. Die App aktiviert für die "normalen" Kanten ein 4xAA.
PS: .Net 1.1 und MDX 9.0b erforderlich.
EDIT: PPS: Noch ein paar Bilder:
0xATAA (AlphaTest AA):
http://demirug.bei.t-online.de/IMAGE/ATAA/AA0.png
2xATAA:
http://demirug.bei.t-online.de/IMAGE/ATAA/AA2.png
4xATAA:
http://demirug.bei.t-online.de/IMAGE/ATAA/AA4.png
Demirug
2004-01-10, 17:32:25
Original geschrieben von ow
Und was sonst noch? Läuft hier jedenfalls nicht (could not initialize Direct3D).
Welche Karte hast du gerade im Rechner? Ich fordere 4xAA, einen 32 Bit RGBA framebuffer und einen 24/8 Bit Z/Stencil-Buffer an.
bei mir kommt
Die erforderlich DLL Datei MSCOREE.DLL wurde nicht gefunden!
Was fehlt mir?
Original geschrieben von ow
Die .NET 1.1 Laufzeitumgebung
http://msdn.microsoft.com/netframework/technologyinfo/howtoget/ 111 MB das dauert Selbst mit Dual ISDN ein wenig ;)
Demirug
2004-01-10, 19:10:03
Original geschrieben von Gast
111 MB das dauert Selbst mit Dual ISDN ein wenig ;)
Es reicht auch die reine Runtime: http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3 (ca 23 MB)
Das SDK ist übertrieben.
PS: Auf der aktuellen PCGH CD ist die Runtime auch.
Demirug
2004-01-10, 19:10:54
Original geschrieben von ow
GF4ti4200, det. 43.51
AFAIK stellt der 43.51 die AA Modies für DX9 nicht richtig (so wie ich sie brauche) zur Verfügung.
Original geschrieben von Demirug
Es reicht auch die reine Runtime: http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3 (ca 23 MB)
Das SDK ist übertrieben.
PS: Auf der aktuellen PCGH CD ist die Runtime auch. ja habe ich gefunde 23 mb!
Aber nun kommt ne neu meldung:
Application has generated an exception that could not be handeld.
Process id=0xfff65359 (-634023), Thread id 0xfff64ac9 (-636215).
Click ok to terminatethe application.
Click cancel to debug application.
Drucke ich ok passiert nix weiter, debuge ich (cancel) kommt diese meldung:
Registred jit debugger is not available. An attemp to lunch a jit debugger with following command resulted in an error code od 0x2 (2). Please check computer settings.
Cordbg.exe !a 0xfff7948d
Click on retry to have the process wait while attaching a debugger manually.
Click to cancel to abort the jit debug request.
Egal was ich mache nix
Ps Lese ich nicht;)
Kann es daran liegen das aa und af aus ist?
Treiber 53.04 98 se GeFrosch 5900 SE Athlon xp 2400
directx 9.0b
ach ja darf ich mir deinen ftp bookmarken?
ARGHHH ich dachte mein sys währe "perfekt" installiert, und nun starte ich die directx Diagnose, und er schreit mir glatt ins Gesicht, die direct3d währe put. Ob ich es umgehen möchte, was sag ich dazu nö. Dann wird er wieder aufmüpfig, schleudert mir die nächste Meldung an den Kopf, Fehler beim ausführen von direct Show. Ich werde auch dies nicht umgehen, um zu gucken was er noch möchte.
Er hört einfach nicht auf zu mucken;) Noch so Ne Meldung.
OhNeOhNe nun sind es die Systeminformationen.
Jep richtig auch diese werde ich nicht umgehen schon aus Protest. Mal gucken was er noch zu melden hat.
Ne nun ist gut aber Direct x behauptet doch glatt
Dircet x daten NO problemo hmm
Demirug
2004-01-10, 20:18:46
Original geschrieben von Gast
ja habe ich gefunde 23 mb!
Aber nun kommt ne neu meldung:
<snip>
Egal was ich mache nix
Ps Lese ich nicht;)
Kann es daran liegen das aa und af aus ist?
Treiber 53.04 98 se GeFrosch 5900 SE Athlon xp 2400
directx 9.0b
Du hast wohl noch kein MDX Installiert. Wenn du eine mdxredist.msi auf deinem Rechner hast mit doppelklick installieren. Ansonsten kannst du sie dir von meinem Web-Space laden (http://demirug.bei.t-online.de/DX9/mdxredist.zip) (sind leider nochmal 4.8 MB)
ach ja darf ich mir deinen ftp bookmarken?
Was für einen FTP?
Original geschrieben von Demirug
Du hast wohl noch kein MDX Installiert. Wenn du eine mdxredist.msi auf deinem Rechner hast mit doppelklick installieren. Ansonsten kannst du sie dir von meinem Web-Space laden (http://demirug.bei.t-online.de/DX9/mdxredist.zip) (sind leider nochmal 4.8 MB)
Was für einen FTP?
hmm mdk könnte sein! Sauge ich gleich mal. Ja die url meinte ich, aber schaut halt aus wie ein ftp.
Bzw. ich gehe immer auf die Main Page.
In deinem Fall also:
http://demirug.bei.t-online.de/
Original geschrieben von Gast
hmm mdk könnte sein! Sauge ich gleich mal. Ja die url meinte ich, aber schaut halt aus wie ein ftp.
Bzw. ich gehe immer auf die Main Page.
In deinem Fall also:
http://demirug.bei.t-online.de/ Hä seit wann passiert den soetwas wie oben, wenn man nenn link mit postet. Ich habe extra Ne einzelne Zeile gelassen??
Habe das mal korrigiert :)
Demirug
2004-01-10, 20:30:10
Original geschrieben von Gast
Hä seit wann passiert den soetwas wie oben, wenn man nenn link mit postet. Ich habe extra Ne einzelne Zeile gelassen??
Du hast wohl meinen URL Tag beim Quoten erwischt.
Das ganze ist ein Http Server bei dem allerdings das Browsen durch die Verzeichnissstruktur offen ist.
Und klar darf den jeder Bookmarken. Ich könnte es ja sowieso nicht verhindern.
Original geschrieben von aths
Habe das mal korrigiert :)
Danke
@ Demi Hätte ja sein können das du sonnst Paßwort Schutz Dirne hast, und es nur im Moment offen ist.
So nun läuft es erstemal.
Bin auch wieder erleichtert, directx ist wieder brav, so wie es sein sollte.
StefanV
2004-01-10, 20:44:42
sobald ich (wieder) 'nen 'ordentlichen' Rechner hab, werd ichs mal ausprobieren...
PS: Wer ist Ludwig?!
PS: spezielle Wünsche??
Leistung Frist der aber pur, oder warum dauert es so lange bis der Text den ich jetzt schreibe (erst 20 sec später) kommt?
Das umschalten in ein anderes Fenster dauert auch ein bissel.
Frage
Läuft die GPU auch mit vollem Takt bei dem prog?
Demirug
2004-01-10, 20:52:59
Original geschrieben von Gast
Leistung Frist der aber pur, oder warum dauert es so lange bis der Text den ich jetzt schreibe (erst 20 sec später) kommt?
Das umschalten in ein anderes Fenster dauert auch ein bissel.
Frage
Läuft die GPU auch mit vollem Takt bei dem prog?
Das Teil ist nicht auf Performance programmiert sondern nur eine in 5 Minten zusammengebaute Techstudie. Die GPU dreht bei dem Test sehr wahrscheinlich eine Menge Leerzyklen.
Original geschrieben von Demirug
Das Teil ist nicht auf Performance programmiert sondern nur eine in 5 Minten zusammengebaute Techstudie. Die GPU dreht bei dem Test sehr wahrscheinlich eine Menge Leerzyklen. Aja uff 5 Minuten. In die ecke setz und 5 Minuten schmollen. (weil beeindruckt)
Schmollen kann ich bestimmt genauso gut ;)
Aber wie schaut es denn mit der 2d/3d taktung aus? Muß man es im Vollbild laufen lassen, oder geht das dann auch im kleinen Fenster?
Ist vielleicht Ne dumme frage, bloß stellt die gpu ja beim window Mode den Rest (Hintergrund Desktop usw.) in 2d da. Darum die frage, ob sie sich beim window Mode eventuell nicht in denn 3d Mode schaltet. Der größte Teil ist ja 2d (Hintergrund Desktop usw.)
Würde auch was anhängen geht aber nicht.
Finde ist im Vollbild interessanter einfache anzuschauen.
OT habt ihr Dawn im Nachrichten gesehn?
Demirug
2004-01-10, 21:16:38
Original geschrieben von Gast
Aja uff 5 Minuten. In die ecke setz und 5 Minuten schmollen. (weil beeindruckt)
Schmollen kann ich bestimmt genauso gut ;)
Ich habe viele Codestücke für alles mögliche so das ich bei sowas immer viel wiederverwenden kann. Das spart viel Zeit.
Aber wie schaut es denn mit der 2d/3d taktung aus? Muß man es im Vollbild laufen lassen, oder geht das dann auch im kleinen Fenster?
Ist vielleicht Ne dumme frage, bloß stellt die gpu ja beim window Mode den Rest (Hintergrund Desktop usw.) in 2d da. Darum die frage, ob sie sich beim window Mode eventuell nicht in denn 3d Mode schaltet. Der größte Teil ist ja 2d (Hintergrund Desktop usw.)
Würde auch was anhängen geht aber nicht.
Finde ist im Vollbild interessanter einfache anzuschauen.
Der 3D Mode wird aktiviert sobald man ein "3d Gerät" anfordert. Ob nun im Window oder Vollbild Modus spielt keine Rolle.
Meine Beispiele sind meist im Fenstermdous weil man da beim Testen nebenbei besser den Debugger laufen lassen kann. Am Ende bin ich dann zu Faul das ganze auf Vollbild umzustellen.
Original geschrieben von Demirug
Ich habe viele Codestücke für alles mögliche so das ich bei sowas immer viel wiederverwenden kann. Das spart viel Zeit.
Der 3D Mode wird aktiviert sobald man ein "3d Gerät" anfordert. Ob nun im Window oder Vollbild Modus spielt keine Rolle.
Meine Beispiele sind meist im Fenstermdous weil man da beim Testen nebenbei besser den Debugger laufen lassen kann. Am Ende bin ich dann zu Faul das ganze auf Vollbild umzustellen.
Dafür habe ich zwei Monitore angeschlossen;)
Habe gerade mal eine bmp umbenannt in tex1 lädt er sogar und ein paar tasten zeigen sogar Wirkung.
Demirug
2004-01-10, 21:27:39
Original geschrieben von Gast
Dafür habe ich zwei Monitore angeschlossen;)
Ich habe ein bischen wenig Platz hier.
Habe gerade mal eine bmp umbenannt in tex1 lädt er sogar und ein paar tasten zeigen sogar Wirkung.
Ja, die Tasten sind in der beiliegenden Textdatei aufgeführt.
Original geschrieben von ow
Die Textur ist beliebig tauschbar gegen eine gleichen Namens.
Sie ist hier aber ja so gewählt, das man den erzielten Effekt (Glättung Alpha-Test) damit demonstrieren kann.
Jep ist natürlich richtig!
Wollte ja nur wissen ob er auch andere bmps lädt.
Bin halt sehr neugierig
Lord Nikon
2004-01-11, 10:23:26
Bei mir kommt "could not initialize Direct3D" mit dem Detonator 52.16. Woran kann das liegen ?
Original geschrieben von ow
Und was sonst noch? Läuft hier jedenfalls nicht (could not initialize Direct3D).
@Lord Nikon
Du scheinst das prob von OW zu haben in deiner sig steht ja auch das du ein ti 4XXX hast.
Die Lösung ist wohl ein gewisser Treiber
quote:Original geschrieben von Demirug
AFAIK stellt der 43.51 die AA Modies für DX9 nicht richtig (so wie ich sie brauche) zur Verfügung.
Natürlich. da hätte ich auch selbst drauf kommen können.
Das funzt ja nur beim 42.01.
damit sollte es nun funzen
Lord Nikon
2004-01-11, 13:54:09
Original geschrieben von Gast
@Lord Nikon
Du scheinst das prob von OW zu haben in deiner sig steht ja auch das du ein ti 4XXX hast.
Die Lösung ist wohl ein gewisser Treiber
quote:Original geschrieben von Demirug
AFAIK stellt der 43.51 die AA Modies für DX9 nicht richtig (so wie ich sie brauche) zur Verfügung.
Natürlich. da hätte ich auch selbst drauf kommen können.
Das funzt ja nur beim 42.01.
damit sollte es nun funzen
Ich dachte, dass der 52.16 Treiber, da dieser der neuste Treiber von Nvidia ist, problemlos funktionieren würde.
Original geschrieben von Lord Nikon
Ich dachte, dass der 52.16 Treiber, da dieser der neuste Treiber von Nvidia ist, problemlos funktionieren würde. Sicher ist das natürlich nicht, aber da demi sagt, das der 43.51 das nicht so macht wie er es gerne hätte. OW darauf erwidert, hätte ich selber drauf kommen können, da es nur mit dem 42.01 funzt!
Ich gehe ich davon aus, das es der einzige Treiber ist, der es auf GF4 karten darstellen kann.
zeckensack
2004-01-11, 22:05:52
Kriegt man die rechteckigen halbtransparenten Blöcke um die "Alphakanten" nicht weg? Oder sieht man die nur, weil du zu stark vergrössert hast?
Demirug
2004-01-11, 22:35:48
Original geschrieben von zeckensack
Kriegt man die rechteckigen halbtransparenten Blöcke um die "Alphakanten" nicht weg? Oder sieht man die nur, weil du zu stark vergrössert hast?
Das sind die Kante. Da die Textur ja sehr klein ist wird sie entsprechend hochskaliert was die Kante sehr breit macht. Das ist Absicht damit man den Effekt gut sehen kann.
Tausche einfach die Datei "Tex1.bmp" gegen etwas höher aufgelöstet auf und die Kanten werden schmaler. Schwarze Pixel in der Datei bedeuten transparent.
ow@work
2004-01-12, 12:58:44
Original geschrieben von Gast
Sicher ist das natürlich nicht, aber da demi sagt, das der 43.51 das nicht so macht wie er es gerne hätte. OW darauf erwidert, hätte ich selber drauf kommen können, da es nur mit dem 42.01 funzt!
Ich gehe ich davon aus, das es der einzige Treiber ist, der es auf GF4 karten darstellen kann.
Oops ja, haette ich dabei schreiben sollen.
Das betrifft nur GF4 (und vermutlich GF3), aber keine GFFX.
Also:
Der einzige Deto, der (unter Win98!) die DX9 AA Funktionalitaet korrekt auf der GF4 meldet ist der 42.01.
Lord Nikon
2004-01-12, 14:23:20
Original geschrieben von ow@work
Der einzige Deto, der (unter Win98!) die DX9 AA Funktionalitaet korrekt auf der GF4 meldet ist der 42.01.
Ich verwende Windows XP und trotzdem kommt dieser Fehler. Kennt jemand eine Seite , auf der man ältere Treiber von Nvidia runterladen kann ? Die niedrigste Version die ich gefunden habe war 43.51.
@Lord Nikon
Bei Win XP ist es wieder etwas anderes.
Ich Meine, OW besitzt eine Sehr alte win98 Installation, so wie auch ich. (mittlerweile sind’s 2,5 Jahre.)
Aber Neue, alte und Beta Treiber bekommst du auf
www.3dchipset.com
ow@work
2004-01-12, 15:48:22
Original geschrieben von Lord Nikon
Ich verwende Windows XP und trotzdem kommt dieser Fehler. Kennt jemand eine Seite , auf der man ältere Treiber von Nvidia runterladen kann ? Die niedrigste Version die ich gefunden habe war 43.51.
Ueber WinXP kann ich nichts sagen, da ich es nicht habe.
Ich kann mir aber kaum vorstellen, dass bzgl. der NV Treiber da ein Unterschied zu Win98 besteht.
(Heisst: ich nehme stark an, dass es auch fuer W2k/XP nur diesen (oder wenige mehr) Treiber gibt, die FSAA unter DX9 korrekt melden.)
ow@work
2004-01-12, 15:50:28
Original geschrieben von Gast
@Lord Nikon
Bei Win XP ist es wieder etwas anderes.
Ich Meine, OW besitzt eine Sehr alte win98 Installation, so wie auch ich. (mittlerweile sind’s 2,5 Jahre.)
Das nennst du alt?;);)
Meine Installation hat am 30. Januar ihren 5-jaehrigen Geburtstag (installiert am 30.1.1999).:)
Der Methusalem unter wen Win98 Installationen :D
glückwunsch von mir an deine Installation ow ;)
Original geschrieben von ow@work
Das nennst du alt?;);)
Meine Installation hat am 30. Januar ihren 5-jaehrigen Geburtstag (installiert am 30.1.1999).:) HiHi
Und man stelle sich vor, das ist eine von diesen Installationen, die sich sogar mit NV, ATI, 3DFX und ner PowerVR vertragen. Ich schaffe es einfach nicht das os zu zerschießen;)
ow@work
2004-01-13, 12:02:20
take this: ;)
http://www.heise.de/newsticker/data/axv-13.01.04-000/
moeglicherweise werde ich mein Win98 doch noch etwas laenger nutzen (hatte eigentlich zur Jahresmitte evtl. ein upgrade auf W2k/XP vorgesehen).
So, muss das Thema mal wieder nach oben bringen ...
Ich bekomme zwar die Demo nicht zum Laufen (FileNotFound Exception), trotz .net Runtime 1.1 und Managed DX, aber nach den Bildern muss ich leider sagen, da finde ich GL_SAMPLE_ALPHA_TO_COVERAGE_ARB besser ;)
Demirug
2004-01-23, 19:51:56
Original geschrieben von Xmas
So, muss das Thema mal wieder nach oben bringen ...
Ich bekomme zwar die Demo nicht zum Laufen (FileNotFound Exception), trotz .net Runtime 1.1 und Managed DX, aber nach den Bildern muss ich leider sagen, da finde ich GL_SAMPLE_ALPHA_TO_COVERAGE_ARB besser ;)
Optisch sollte es keinen Unterschied zwischen meinem Verfahren und GL_SAMPLE_ALPHA_TO_COVERAGE_ARB geben. Allerdings dürfte GL_SAMPLE_ALPHA_TO_COVERAGE_ARB schneller und damit besser sein.
Original geschrieben von Demirug
Optisch sollte es keinen Unterschied zwischen meinem Verfahren und GL_SAMPLE_ALPHA_TO_COVERAGE_ARB geben. Allerdings dürfte GL_SAMPLE_ALPHA_TO_COVERAGE_ARB schneller und damit besser sein.
Zumindest auf NVidia-Karten gibt es einen großen Unterschied. Alpha to Coverage dithert nämlich auf 16(17) Stufen, statt 4(5) bei 4 Samples zu verwenden.
Demirug
2004-01-23, 21:01:22
Original geschrieben von Xmas
Zumindest auf NVidia-Karten gibt es einen großen Unterschied. Alpha to Coverage dithert nämlich auf 16(17) Stufen, statt 4(5) bei 4 Samples zu verwenden.
Hast du eine Ahnung was da Intern abläuft? Weil mit 4 "Sample-Buffern" bekommt man ja eigentlich nur 4(5) Stufen erzeugt. Hast du erfahrungswerte wie sich das ganze mit dem normalen Kanten AA-Verträgt. Also wenn in einem Pixel sowohl eine Alpha-test Kante wie auch eine Geometrie-Kante zusammen fallen?
Original geschrieben von Demirug
Hast du eine Ahnung was da Intern abläuft? Weil mit 4 "Sample-Buffern" bekommt man ja eigentlich nur 4(5) Stufen erzeugt. Hast du erfahrungswerte wie sich das ganze mit dem normalen Kanten AA-Verträgt. Also wenn in einem Pixel sowohl eine Alpha-test Kante wie auch eine Geometrie-Kante zusammen fallen?
Wie gesagt, es wird gedithert, also auch auf Pixel-, nicht nur auf Subpixelebene gearbeitet.
Es verträgt sich eigentlich wie erwartet mit dem normalen AA, also die Coverage Mask des Polygons wird mit der Alpha-to-Coverage Mask AND-verknüpft.
Hab leider keine Screenshots und kann mangels Hardware auch keine machen, aber probier mal dieses (http://www.samx.de.vu/Multisample.exe). Ist schon recht alt, Einstellungen können über die Großbuchstaben in der Titelzeile und +/- geändert werden, sowie Maus.
grüße,
ich habe gerade ein nettes progrämmchen vor mir, in dem man linien glätten kann. ich vermute, dass dabei jedes pixel, das die linie durchläuft, daraufhin untersucht wird, wieviel anteile davon linien- und wieviel hintergrundfarbe darin vorhanden sind. das pixel bekommt in jedem fall die linienfarbe, nur hängt der alpha-wert vom anteil daran ab. beispiel: pixel enthält zur hälfte linie, zur hälfte hintergrund. pixel bekommt linienfarbe und alpha-wert von 0.50. ist das korrekt oder unsinn? wenn korrekt, wird sowas normalerweise in hard- oder software vorgenommen? danke für die antworten.
:wink:
Original geschrieben von AHF
grüße,
ich habe gerade ein nettes progrämmchen vor mir, in dem man linien glätten kann. ich vermute, dass dabei jedes pixel, das die linie durchläuft, daraufhin untersucht wird, wieviel anteile davon linien- und wieviel hintergrundfarbe darin vorhanden sind. das pixel bekommt in jedem fall die linienfarbe, nur hängt der alpha-wert vom anteil daran ab. beispiel: pixel enthält zur hälfte linie, zur hälfte hintergrund. pixel bekommt linienfarbe und alpha-wert von 0.50. ist das korrekt oder unsinn? wenn korrekt, wird sowas normalerweise in hard- oder software vorgenommen? danke für die antworten.
:wink:
Ist korrekt, und das gibt es sowohl in Hardware (Voodoo1 konnte das schon) als auch in Software. Bei Software-Realisierungen macht man aber üblicherweise nicht den Umweg über den Alpha-Wert.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.