Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-10-2005, 22:20   #1 (permalink)
Knopfmaler
 
Benutzerbild von Aerks
 
Registriert seit: Nov 2004
Ort: Essen
Beiträge: 227
Unhappy Flächen malen: Einzeln oder in Reihe

Ich hab da ein ziemlich fieses Gebastel...

Ich zeichne mit den beginFill oder beginBitmapFill eine Reihe von Dreiecken in einen MC. Im nächsten Frame rendert der Flash-Player das auch alles brav und sauber wie immer auf den Bildschirm.

Jetzt möchte ich aber in meiner DisplayList für die Dreiecke, auch z.B. den Blendmode oder eine ColorTransformation angeben können. OK. Malen wir halt erst ein Dreieck und rastern es dann mit draw() in eine Bitmap rein. Und jetzt geht die Sauerei los. An den antialiasten Kanten habe ich Lücken und Rechenungenauigkeiten. Die sauberen Übergänge sind weg und man kann die einzelnen Dreiecke sehen. (siehe anliegendes Bild)

Hatte das einer schon mal gehabt und weiss woran das liegt?

Mir fallen da nur 2 Sachen ein.

A.) Der FlashPlayer scheint eine Reihe von Polygonen in einem Clip irgendwie anders zu malen als nach dem Paintersalgorithmus. (Irgend eine Scanlinegeschichte vielleicht, keine Ahnung)

b.) Bei der draw()-Funktion wird aus Speedgründen gerundet und man hat keine subpixelkorrekten Kanten mehr.

Kennt einer einen Workaraound oder weiss, wie man das vermeiden kann?

Man könnte das Dreieck ja auch leicht vergrössen. Das ist aber auch nur so eine fiese Bastellösung, außerdem wird dann alles noch langsamer.

Viele Gruesse
=:] Aerks
Angehängte Grafiken
Dateityp: gif draw_artefacts.gif (30,3 KB, 80x aufgerufen)
__________________
______________________________________________
www.rgblaster.de
Aerks ist offline   Mit Zitat antworten
Alt 11-10-2005, 22:41   #2 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
Zitat:
Zitat von flashhilfe
public draw(source:Object, [matrix:Matrix], [colorTransform:ColorTransform], [blendMode:Object], [clipRect:Rectangle], [smooth:Boolean]) : Void
schonmal den smooth-parameter auf true gestellt?
michael ist offline   Mit Zitat antworten
Alt 11-10-2005, 22:48   #3 (permalink)
Knopfmaler
 
Benutzerbild von Aerks
 
Registriert seit: Nov 2004
Ort: Essen
Beiträge: 227
Zitat:
schonmal den smooth-parameter auf true gestellt?
Ja. Hilft leider nix. Die Lücken bleiben.

Viele Gruesse
=:] Aerks

PS: Wo bleibt der Displacement-WackelHintern?
__________________
______________________________________________
www.rgblaster.de
Aerks ist offline   Mit Zitat antworten
Alt 11-10-2005, 22:52   #4 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
hmm schade wär ja auch zu einfach gewesen,
dann hab ich keine idee mehr

hast zufällig ne simple-fla parat zum ausprobieren?

micha

wen mein aktuelles projekt durch ist,
hab ich vieleicht auch mal wieder luft für flash8.
dann lass ichs wackeln.
michael ist offline   Mit Zitat antworten
Alt 11-10-2005, 23:01   #5 (permalink)
Knopfmaler
 
Benutzerbild von Aerks
 
Registriert seit: Nov 2004
Ort: Essen
Beiträge: 227
>hast zufällig ne simple-fla parat zum ausprobieren?

Ne simple, leider nicht. Ich hab mal angefangen meine olle 3D-Engine aufzumöbeln und die ist Teil eines ganzen Zweiges in meiner Lib. Außerdem ist mittlerweile fast alles geMTASCt. Meine Verachtung für die Original-IDE wächst mit jedem Tag mehr ;D

>dann lass ichs wackeln.

Na hoffentlich. Dann will ich aber ne Mail, wenn das Teil fertig ist.

Viele Gruesse
=:] Aerks
__________________
______________________________________________
www.rgblaster.de
Aerks ist offline   Mit Zitat antworten
Alt 12-10-2005, 09:58   #6 (permalink)
Neuer User
 
Benutzerbild von Quasimondo
 
Registriert seit: Nov 2003
Ort: München
Beiträge: 114
Kann jetzt auch keine Hilfe anbieten, aber daß Flash bei den geantialiasten Kanten ziemlich schlampt, ist mir auch schon öfter aufgefallen. Ich tippe da auch auf Rechenfehler.

Schön häßlich ist z.B. der Effekt einen clip mit draw() und multiply mode mehrfach übereinanderzustempeln.

Anstatt zu smoothen würde ich eher versuchen, die weichen Kanten ganz wegzubekommen, vielleicht mit einem threshold filter auf den alphakanal?
__________________
[Quasimondo | incubator | talks
Quasimondo ist offline   Mit Zitat antworten
Alt 12-10-2005, 17:56   #7 (permalink)
Knopfmaler
 
Benutzerbild von Aerks
 
Registriert seit: Nov 2004
Ort: Essen
Beiträge: 227
Zitat:
vielleicht mit einem threshold filter auf den alphakanal?
Keine schlechte Idee. Ich fürchte nur, daß das Perfomancemässig nicht gut ausgehen wird. Ich müsste ja jedes Triangle in ein 32Bit-Bitmap malen, den Alpha mit threshold runden und dann das Zeug wieder in das finale Bitmap blitten.

Das Turboluder Flash kommt ja schon bei einer zweistelligen Anzahl an Dreiecken ins Schwitzen. Aber mal sehen wieviel man ab 8.5 von Script-Seite her wieder Spielraum hat.

Viele Gruesse
=:] Aerks
__________________
______________________________________________
www.rgblaster.de
Aerks ist offline   Mit Zitat antworten
Alt 12-10-2005, 18:24   #8 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
Die Probleme hat Photoshop auch.

Ich hatte das Problem auch schon und KEINE Lösung gefunden.
Es fehlt ganz klar noch ein Parameter beim Zeichen.

sowas wie:

Code:
beginFill( 0xff );
useBlendMode( 'add' );
moveTo( x, y );
lineTo x, y );
lineTo( x, y );
lineTo( x, y );
useBlendMode( 'lighten' );
moveTo( x, y );
lineTo x, y );
lineTo( x, y );
lineTo( x, y );
endFill();
Dann wäre es perfekt. Ich hätte da auch eine Menge an Workarounds, die mir dann noch einfallen :)
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele