Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Bsp. 5] Fehler im Screenshot der Musterlösung

1 view
Skip to first unread message

Philip Kügler

unread,
Dec 14, 2003, 3:31:56 PM12/14/03
to
Ist eigendlich wem der Stern am Boden des Teapots aufgefallen?
http://www.cg.tuwien.ac.at/courses/CG/LU/screenshots/result_task5_1.png

Nach meiner Auffassung und der daraus folgenden Implementierung des
backfaceCulling ist dieser Stern definitiv "backface" und sollte doch
nicht gezeichnet werden.

lg,
Philip


Maria Vill

unread,
Dec 15, 2003, 1:48:00 AM12/15/03
to
Wenn ich das richtig verstanden habe, zeichnet backface-culling einfach
die flächen nicht, die vom Betrachter "wegschauen". wenn flächen zum
betrachter "hinschauen", dann werden sie gezeichnet, auch wenn sie
eigentlich von einer anderen Fläche verdeckt werden.

lg maria

Chris Chiu

unread,
Dec 15, 2003, 2:09:44 AM12/15/03
to
> Wenn ich das richtig verstanden habe, zeichnet backface-culling einfach
> die flächen nicht, die vom Betrachter "wegschauen". wenn flächen zum
> betrachter "hinschauen", dann werden sie gezeichnet, auch wenn sie
> eigentlich von einer anderen Fläche verdeckt werden.
>
> lg maria

Genau. Wenn der "Stern" nicht "wegschaut", dann ist es schon korrekt, wenn
er sichtbar ist.

Ciao,
Christoph
ch...@cg.tuwien.ac.at

Martin Grödl

unread,
Dec 15, 2003, 5:10:02 AM12/15/03
to
Chris Chiu schrieb:

> Genau. Wenn der "Stern" nicht "wegschaut", dann ist es schon
korrekt, wenn
> er sichtbar ist.

der stern im screenshot schaut doch weg.. das soll ja die unterseite des
teapots sein, oder nicht?

oder wird der "stern" einfach vom backface-culling ausgenommen, weil es
sich nicht um ein echtes polygon handelt, sondern nur um 8 linien??
das würde erklären wieso dieser ominöse stern immer gezeichnet wird,
egal ob ich den teapot von oben betrachte (deckel) oder von unten (boden).

kann aber nicht sein, weil der boden beim flat-shading ja nicht
durchsichtig ist....

und warum wird der stern nicht mehr gezeichnet wenn ich den normalvektor
beim backface-culling nicht normalisiere...???

Chris Chiu

unread,
Dec 15, 2003, 5:13:47 AM12/15/03
to
Ich werd mir das heute später mal genauer anschauen. Was seltsam ist, ist
ja, dass es ein Stern ist (und keine echten Polygone). Gibt es sonst keine
Anomalien in deinem Programm (bei anderen Testobjekten oder so)?

Ciao,
Christoph
ch...@cg.tuwien.ac.at

"Martin Grödl" <e022...@student.tuwien.ac.at> schrieb im Newsbeitrag
news:3fdd887d$0$29350$3b21...@tunews.univie.ac.at...

Martin Grödl

unread,
Dec 15, 2003, 9:01:55 AM12/15/03
to
Chris Chiu schrieb:

> Ich werd mir das heute später mal genauer anschauen. Was seltsam ist, ist
> ja, dass es ein Stern ist (und keine echten Polygone). Gibt es sonst keine
> Anomalien in deinem Programm (bei anderen Testobjekten oder so)?

ich hab schon alle testobjekte durchprobiert... nur diese stern-sache
kann ich mir nicht erklären...

mir ist noch was aufgefallen:
mein programm erzeugt einen teapot wie auf den muster-screenshots:
http://stud4.tuwien.ac.at/~e0226538/stern01.jpg

der stern gehört ja eigentlich zum boden des teapot und ist in dieser
ansicht eigentlich ein backface... ich find es auch seltsam das es kein
echtes polygon ist, deshalb hab ich auch gedacht, dass es nur linien
sind und deshalb vom backface culling nicht entfernt werden
(funktioniert ja nur ab 3 vertices)

und jetzt kommts:
http://stud4.tuwien.ac.at/~e0226538/stern02.jpg

der teapot hat ja um den deckel herum einen zwischenraum, wo man
hineinsehen kann. im flat-shaded modus sieht man aber nix von dem
ominösen stern obwohl er im wire-frame mode dargestellt wird.

das bestätigt die vermutung dass es sich nur um linien handelt, weil von
denen bleibt beim scanfilling ja nichts über...
nur: warum hat der teapot von unten betrachtet dann kein loch, wenn es
linien sind?

auch seltsam:
http://stud4.tuwien.ac.at/~e0226538/stern03.jpg

wenn ich beim backface-culling den berechneten polygon-normalvektor
nicht normalisiere, dann wird der stern vom backface culling eliminiert,
so wie ich das eigentlich erwarten würde. sonst ändert das aber nix an
der darstellung, auch nicht bei anderen testobjekten.

mfg,
martin

Chris Chiu

unread,
Dec 15, 2003, 10:54:21 AM12/15/03
to
Das einzige, was ich mir vorstellen kann, ist dass einfach am Boden einige
Linien "doppelt" sind, also zusätzlich zur Bodenfläche irgendwo zusätzliche
Linien drin sind, die zufällig genau die vom Mittelpunkt der Grundfläche
wegführenden Linien übereinstimmen... eventuell ein Fehler in der
ATOFF-Datei. In der Musterlösung die ich hab tritt das jedenfalls auch so
auf.

Ich schau mir das ATOFF noch genauer an, das ist allerdings eine ziemliche
Zahlenwüste, werd mir was überlegen müssen, um das gscheit zu überprüfen...

Ciao,
Christoph
ch...@cg.tuwien.ac.at

"Martin Grödl" <e022...@student.tuwien.ac.at> schrieb im Newsbeitrag

news:3fddbead$0$18044$3b21...@tunews.univie.ac.at...

robert

unread,
Dec 13, 2003, 1:25:03 PM12/13/03
to
also bei mir ist dieser stern nicht zu sehen!
was stimmt jetzt??

lg Robert

"Chris Chiu" <ch...@cg.tuwien.ac.at> schrieb im Newsbeitrag
news:3fddd91f$0$18702$3b21...@tunews.univie.ac.at...

Chris Chiu

unread,
Dec 16, 2003, 3:54:49 AM12/16/03
to
OK, ich hab den Grund gefunden.

http://www.chrischiu.com/uni/cg1lu/teapot-lowres_test.atoff
http://www.chrischiu.com/uni/cg1lu/teapot-lowres_test2.atoff

Es liegt tatsächlich am ATOFF-File (ich gehe hier mal vom teapot-lowres
aus), und zwar hab ich folgendes gemacht:

Die Mitte vom Stern ist genau (0, 0, 0), wie man, wenn man das
Koordinaten-Kreuz aktiviert, sehen kann. Ich hab also den Vertex im
ATOFF-File gesucht, der 0 0 0 als Koordinaten hat, das war jener Vertex mit
Index 211.

Also hab ich jene Faces isoliert, die 211 als Vertex-Index besitzen. Damit
sind 32 Faces übriggeblieben (sh. teapot-lowres_test.atoff).

Wenn man sich den Teapot von unten anschaut, hat die Grundfläche aber nur 16
Faces, irgendwas ist also doppelt hier.

Wenn man sich die 32 Faces im ATOFF-File genauer anschaut:

3 210 214 211 216 0 393 0
3 211 211 210 393 393 216 0 <- !!
3 214 217 211 0 512 393 0
3 211 211 214 393 393 0 0 <- !!
usw.

kommt man drauf dass jedes zweite Face den Vertex-Index 211 _zweimal_ hat.
D.h. es ist ein Dreieck, bei dem zwei Eckpunkte gleich sind, also folglich
wie eine Linie aussieht. Damit wäre geklärt, warum es nur Linien und keine
Triangles sind.

Wenn man sich das mit dem backface-culling weiterdenkt, dann kommt man
drauf, dass backface-culling nicht wirklich funktionieren kann, wenn zwei
der Vertizes (0, 0, 0) sind (Rechnet das mal durch). Es sollte beim
Kreuzprodukt am Ende (0, 0, 0) rauskommen.

Ich glaube hier liegt dann auch der Grund, warum beim Robert der Stern nicht
auftritt und bei anderen schon, denn Robert hat wahrscheinlich auf Z <= 0
getestet während die anderen auf Z < 0 getestet haben. Beim Robert wird der
Stern weggecullt, weil die Z-Koordinate vom Kreuzprodukt der
Backface-Culling-Berechnung 0 ist.

Ciao,
Christoph
ch...@cg.tuwien.ac.at

"robert" <a970...@hotmail.com> schrieb im Newsbeitrag
news:3fddfcde$0$30786$3b21...@tunews.univie.ac.at...

Chris Chiu

unread,
Dec 16, 2003, 3:58:17 AM12/16/03
to
Ach ja, in teapot-lowres_test2.atoff hab ich dann jene Faces auskommentiert,
die eben den Eckpunkt doppelt haben, wenn man das macht, ist der Stern
tatsächlich nicht mehr da.

Ciao,
Christoph

0 new messages