Discussion:
Bsp. 5 Anzeigeproblem
(zu alt für eine Antwort)
Harry
2003-12-14 12:11:48 UTC
Permalink
Hallo,

Ich habe jetzt alle Methoden für das 5. Bsp soweit implementiert.

Jedoch ist die Anzeige irgendwie komisch (Beispiel, Teapot):

1. Teapot mit Backface Culling + z-Buffer:
Loading Image...

2. Teapot ohne Bachface Culling + z-Buffer:
Loading Image...

3. Teapot mit BC, ohne z-Buffer:
Loading Image...

4. Teapot ohne BC, ohne z-Buffer:
Loading Image...

Kann irgendjemand anhand dieser fehlerhaften Darstellungen erkennen, wo der
Fehler liegen könnte?

danke,

Harald
Baal
2003-12-14 14:27:47 UTC
Permalink
vermutung
vermutlich falsche berechnung der zsteps bzw falsche z intersectionpoints im
fillscanalgorithmus....
lg
andreas
Post by Harry
Hallo,
Ich habe jetzt alle Methoden für das 5. Bsp soweit implementiert.
http://members.kabsi.at/devp/cg/teapot1.jpg
http://members.kabsi.at/devp/cg/teapot2.jpg
http://members.kabsi.at/devp/cg/teapot3.jpg
http://members.kabsi.at/devp/cg/teapot4.jpg
Kann irgendjemand anhand dieser fehlerhaften Darstellungen erkennen, wo der
Fehler liegen könnte?
danke,
Harald
Harry
2003-12-14 15:11:38 UTC
Permalink
ok.

die intersect points habe ich einfach um z erweitert:
also (.,.,.,v1[Z],(double)(v2[Z] - v1[Z])/(double)(v2[Y] - v1[Y]));
und für das 2. intersect einfach v1 und v2 vertauscht.
Die werte für v1[Z] und v2[Z] hohle ich aus dem depth[] array:
v1[Z] = (int)depth[numVertex - 1];
v2[Z] = (int)depth[i];

wobei am ende v1[Z] = v2[Z];

in fillscan berechne ich z so:
z = (pStop.zIntersect - pStart.zIntersect) / (pStop.xIntersect -
pStart.xIntersect);
und übergebe an canvas.setPixel (i, scan, color,z);

müsste doch so passen, oder?
Post by Baal
vermutung
vermutlich falsche berechnung der zsteps bzw falsche z intersectionpoints im
fillscanalgorithmus....
lg
andreas
Post by Harry
Hallo,
Ich habe jetzt alle Methoden für das 5. Bsp soweit implementiert.
http://members.kabsi.at/devp/cg/teapot1.jpg
http://members.kabsi.at/devp/cg/teapot2.jpg
http://members.kabsi.at/devp/cg/teapot3.jpg
http://members.kabsi.at/devp/cg/teapot4.jpg
Kann irgendjemand anhand dieser fehlerhaften Darstellungen erkennen, wo
der
Post by Harry
Fehler liegen könnte?
danke,
Harald
Harry
2003-12-14 15:22:09 UTC
Permalink
ich habe es übrigens auch mit ungecasteten z-koordinaten versucht (also
double v2Z = depth[i]).
Das ergebnis sieht jetzt etwas anders aus (nämlich ca. ab der hälfte von
links gesehen treten darstellungsfehler auf).

cu
Post by Harry
ok.
also (.,.,.,v1[Z],(double)(v2[Z] - v1[Z])/(double)(v2[Y] - v1[Y]));
und für das 2. intersect einfach v1 und v2 vertauscht.
v1[Z] = (int)depth[numVertex - 1];
v2[Z] = (int)depth[i];
wobei am ende v1[Z] = v2[Z];
z = (pStop.zIntersect - pStart.zIntersect) / (pStop.xIntersect -
pStart.xIntersect);
und übergebe an canvas.setPixel (i, scan, color,z);
müsste doch so passen, oder?
Post by Baal
vermutung
vermutlich falsche berechnung der zsteps bzw falsche z
intersectionpoints im
fillscanalgorithmus....
lg
andreas
Post by Harry
Hallo,
Ich habe jetzt alle Methoden für das 5. Bsp soweit implementiert.
http://members.kabsi.at/devp/cg/teapot1.jpg
http://members.kabsi.at/devp/cg/teapot2.jpg
http://members.kabsi.at/devp/cg/teapot3.jpg
http://members.kabsi.at/devp/cg/teapot4.jpg
Kann irgendjemand anhand dieser fehlerhaften Darstellungen erkennen, wo
der
Post by Harry
Fehler liegen könnte?
danke,
Harald
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Harry
2003-12-14 18:08:40 UTC
Permalink
Ich habe das problem mittlerweile selber lösen können :)
Post by Harry
ich habe es übrigens auch mit ungecasteten z-koordinaten versucht (also
double v2Z = depth[i]).
Das ergebnis sieht jetzt etwas anders aus (nämlich ca. ab der hälfte von
links gesehen treten darstellungsfehler auf).
cu
Post by Harry
ok.
also (.,.,.,v1[Z],(double)(v2[Z] - v1[Z])/(double)(v2[Y] - v1[Y]));
und für das 2. intersect einfach v1 und v2 vertauscht.
v1[Z] = (int)depth[numVertex - 1];
v2[Z] = (int)depth[i];
wobei am ende v1[Z] = v2[Z];
z = (pStop.zIntersect - pStart.zIntersect) / (pStop.xIntersect -
pStart.xIntersect);
und übergebe an canvas.setPixel (i, scan, color,z);
müsste doch so passen, oder?
Post by Baal
vermutung
vermutlich falsche berechnung der zsteps bzw falsche z
intersectionpoints im
fillscanalgorithmus....
lg
andreas
Post by Harry
Hallo,
Ich habe jetzt alle Methoden für das 5. Bsp soweit implementiert.
http://members.kabsi.at/devp/cg/teapot1.jpg
http://members.kabsi.at/devp/cg/teapot2.jpg
http://members.kabsi.at/devp/cg/teapot3.jpg
http://members.kabsi.at/devp/cg/teapot4.jpg
Kann irgendjemand anhand dieser fehlerhaften Darstellungen erkennen, wo
der
Post by Harry
Fehler liegen könnte?
danke,
Harald
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
pixel1
2003-12-14 19:43:25 UTC
Permalink
kannst du (oder irgendjemand anderer) vielleicht nur kurz erklären wie
habe nämlich das selbe Problem

danke
Post by Harry
Ich habe das problem mittlerweile selber lösen können :)
Post by Harry
ich habe es übrigens auch mit ungecasteten z-koordinaten versucht
(also double v2Z = depth[i]).
Das ergebnis sieht jetzt etwas anders aus (nämlich ca. ab der hälfte
von links gesehen treten darstellungsfehler auf).
cu
Post by Harry
ok.
also (.,.,.,v1[Z],(double)(v2[Z] - v1[Z])/(double)(v2[Y] - v1[Y]));
und für das 2. intersect einfach v1 und v2 vertauscht.
v1[Z] = (int)depth[numVertex - 1];
v2[Z] = (int)depth[i];
wobei am ende v1[Z] = v2[Z];
z = (pStop.zIntersect - pStart.zIntersect) / (pStop.xIntersect -
pStart.xIntersect);
und übergebe an canvas.setPixel (i, scan, color,z);
müsste doch so passen, oder?
Post by Baal
vermutung
vermutlich falsche berechnung der zsteps bzw falsche z
intersectionpoints im
fillscanalgorithmus....
lg
andreas
Post by Harry
Hallo,
Ich habe jetzt alle Methoden für das 5. Bsp soweit implementiert.
http://members.kabsi.at/devp/cg/teapot1.jpg
http://members.kabsi.at/devp/cg/teapot2.jpg
http://members.kabsi.at/devp/cg/teapot3.jpg
http://members.kabsi.at/devp/cg/teapot4.jpg
Kann irgendjemand anhand dieser fehlerhaften Darstellungen
erkennen, wo
der
Post by Harry
Fehler liegen könnte?
danke,
Harald
Lesen Sie weiter auf narkive:
Loading...