Partikle engine - teilchen ausrichtung



  • TGGC schrieb:

    b7f7 schrieb:

    wenn man wirklich immer Quadrate sehn will muss man die Normalen auf die Camera ausrichten.

    Was bitte hat die Form (quadratisch) mit den Normalen zu tun?

    Ganz einfach: Wenn du einen Partikel hast, der mit einer auf die Camera ausgerichteten Normale nach der Transformation quadratisch erscheint, dann erscheint dieser nicht mehr quadratisch sobald die normale von der Camera-Achse abweicht.
    Vorrausgesetzt natürlich man hat keine dynmischen Vertexdaten und Normale und Posdaten sind konstant.

    Hoffe geholfen zu haben.



  • illuminator schrieb:

    Wenn du einen Partikel hast, der mit einer auf die Camera ausgerichteten Normale nach der Transformation quadratisch erscheint, dann erscheint dieser nicht mehr quadratisch sobald die normale von der Camera-Achse abweicht.

    Das ist Unsinn, die Normalen sind doch nicht für die Form sondern nur für die Beleuchtung zuständig. Ausserdem gibt es nicht "die Normale", denn ein Quadrat besteht aus 4 Vertizen, macht also 0 oder 4 Normalen.

    Bye, TGGC \-/



  • Aber eine Fläche ( und ein Partikel stellt für gewöhnlich eine aufgespannte Fläche mit Textur dar) hat nur "eine" Normale. Und um diese geht es. Siehe (hess'sche) Normalenform der Ebene.



  • Kann nicht sein. Richtet man nähmlich die Normalen auf die Kamera aus, hat man 4 verschiedene Normalen. Und die Form der Polygone ist trotzdem unabhängig von diesen Normalen. Probier es aus.

    Bye, TGGC \-/



  • TGGC schrieb:

    Kann nicht sein. Richtet man nähmlich die Normalen auf die Kamera aus, hat man 4 verschiedene Normalen. Und die Form der Polygone ist trotzdem unabhängig von diesen Normalen. Probier es aus.

    Bye, TGGC \-/

    Ich glaube wir reden aneinander vorbei.
    Ich rede davon die gesamte Geometrie des Partikels so zu rotieren, das die Normale seiner Flächen-Ebene auf der Kamera-Achse liegt.



  • Tjoar kann sein. Dann lies doch nochmal was b7f7 und ich gesagt haben.

    Bye, TGGC \-/



  • TGGC schrieb:

    Sgt. Nukem schrieb:

    hat Wolfenstein3D schon so gemacht.

    Nein, denn dort konnte man nicht auf/ab schauen.

    Was völlig unerheblich ist.
    Lies doch nochmal was der Poster sagte:

    xroads42 schrieb:

    Wenn ich mich nun um die y achse drehe, wird der winkel zw. particle-normale und "bildschirm" natürlich immer kleiner.



  • Wie es in Wolfenstein gemacht wurde, ist heutzutage tatsächlich unerheblich, da nicht hardwareunterstützt.

    Bye, TGGC \-/


  • Mod

    TGGC schrieb:

    Wie es in Wolfenstein gemacht wurde, ist heutzutage tatsächlich unerheblich, da nicht hardwareunterstützt.

    Bye, TGGC \-/

    Mit pixelshadern wäre das heutzutage eventuell wieder möglich 😉

    rapso->greets();



  • TGGC schrieb:

    b7f7 schrieb:

    wenn man wirklich immer Quadrate sehn will muss man die Normalen auf die Camera ausrichten.

    Was bitte hat die Form (quadratisch) mit den Normalen zu tun?

    TGGC schrieb:

    Das ist Unsinn, die Normalen sind doch nicht für die Form sondern nur für die Beleuchtung zuständig. Ausserdem gibt es nicht "die Normale", denn ein Quadrat besteht aus 4 Vertizen, macht also 0 oder 4 Normalen.

    lol.
    da merkt man mal wieder das hinter deinen worten nur heiße luft ist. Die normale ist mathematisch so definiert das sie senkrecht auf 2 Vektoren steht, und somit einen ebene definiert. diese normale wird für belichtungsrechnung benutzt, und steht dabei nach einer abbildung nicht mehr senkrecht auf der ebene(und ist somit streng genommen keine normale mehr).

    google brachte folgendes ergebins:
    http://www.galileodesign.de/glossar/gp/anzeige-8127



  • @rapso:
    Wenn man schon die Vertizen hat, braucht man ja ehh nur noch normales Texturemapping nehmen. 😎

    Bye, TGGC \-/

    rapso: ICH HAB HIER ETWAS GELÖSCHT, MEIN OPERA IST GERADE ABGESTÜRZT, DANN HAT ER DIE LETZTE SEITE WIEDER ANGEZEIGT AUF DER ICH WAR VOR DEM ABSTURZ, DA WOLLTE ICH DEINEN TEXT ZITTIEREN, WAR ABER IRGENDWIE AUF "editieren" STATT AUF "zittieren", ICH WEIß NICHT WIE DAS KOMMT, WAR IRGENDWIE OPERA, SORRY! 😞



  • TGGC schrieb:

    @xroads:
    Falsch. Die Normale ist als orthogonal zur Tangentialebene definiert. Daher waren meine Aussagen korrekt.

    Bye, TGGC \-/

    sagen wir es so:
    beides richtig:
    da 2 vektoren eine ebene aufspannen, und diese ist tangentialebene von sich selbst.
    (wenn die 2 vektoten nicht paralell sind)

    und du sagtest, dass man die normale _nur_ für die beleuchtung her nimmt. das das ist flasch.
    Man kann mit der normale noch orientierungen, abstand Punkt/ebene ect. berechenen.



  • Muss ich meine partikel jetzt immer ausrichten, so dass sie immer richtung bildscirm zeigen, oder gibt es da einen anderen trick?

    Ein anderer "Trick" wäre die Verwendung von Point Sprites 😉 Die bestehen aus nur einem Vertex und ner Größe natürlich.. So kann man sich den Ausrichtungskram sparen.



  • edit:
    mumpitz



  • TGGC schrieb:

    Wie es in Wolfenstein gemacht wurde, ist heutzutage tatsächlich unerheblich, da nicht hardwareunterstützt.

    Wolfenstein gibt es nicht.
    Es gibt "Wolfenstein 3D" und "Return To Castle Wolfenstein". Letzteres nutzt durchaus tiefergehende Hardwareunterstützung zur Visualisierung.



  • @Sgt. Nukem:
    'Tschuldigung, ich meinte das zitierte Wolfenstein 3D. Das verwendet die Raycasting Technik, ist ja sicher bekannt.

    @xroads:
    Allein der Sonderfall der kollinearen Vektoren reicht, damit deine Aussage flasch ist. Da jeder Vektor senkrecht auf 2 Vektoren steht, wäre diese Eigenschaft ohnehin trivial.

    Lies bitte im Zusammenhang. Es ging um die Erscheinung eines Partikels, der als Quadrat gerendert wird. Das schliesst weitere Anwendungen für eine Normale nicht aus.

    Bye, TGGC \-/



  • TGGC schrieb:

    @xroads:
    Allein der Sonderfall der kollinearen Vektoren reicht, damit deine Aussage flasch ist. Da jeder Vektor senkrecht auf 2 Vektoren steht, wäre diese Eigenschaft ohnehin trivial.

    Lies bitte im Zusammenhang. Es ging um die Erscheinung eines Partikels, der als Quadrat gerendert wird. Das schliesst weitere Anwendungen für eine Normale nicht aus.

    Bye, TGGC \-/

    den zusammen hang kenn ich, ich bin ersteller dieses threads. Und ich nehme die normale(die sekrecht auf der ebene des quadrates steht) um den winkel zur kamera zu bestimmen, um dann festzustellen wie weit ich mein quadrat zu drehen hab, damit es wieder zur kammera ausgerichtet ist.
    und ich wollte wissen ob man das so, oder anders macht.

    Und du hast weitere anwenugen ausgeschlossen. ließ mal deine eigene aussagen.

    Übrigens meine aussage ist nicht flasch. da ich die paralellen vektoren raus genommen hab. Wenn man sowas nicht in der mathematik machen dürfte... dann sähe unsere welt gaaanz anders aus 😃



  • Ich würde es anders machen, wie oben beschrieben.

    Du hast den Zusammenhang nicht erkannt. Dafür ist es ohnehin irrelevant, wer den Thread eröffnet hat. In dem in meinem Post zu findenden Zitat war von der Erscheinung des Partikels die Rede. Darauf habe ich mich bezogen.

    xroads42 schrieb:

    Die normale ist mathematisch so definiert das sie senkrecht auf 2 Vektoren steht, und somit einen ebene definiert.

    Nein, hast du nicht. Verdrehe bitte nicht die Tatsachen.

    Bye, TGGC \-/



  • was ich da früher schrib, ist für das normale Lochkamera Model unrichtig,
    Damit ein Quadrat auch als Quadrat abgebildet wird muss man nur dafür sorgen das die Bildebene parallel zur Objectebene ist, bei grösseren Öffnungswinkel der Kamera werden die "Partikel" nur kleiner abgebildet.

    \[ x_{bild} = m*X_{welt}/Z_{welt}\] \[ y_{bild} = m*Y_{welt}/Z_{welt}\] d.h. wenn \[m/Z_{welt}=konst.\] dann haben wir eine Winkeltreue abbildung

    die Normale zu einer Ebene ist:
    Die Vielfachheit aller Vektoren n für welche gild:
    für zwei beiebige Vektoren a,b mit a!=b , a und b != {0} in der Ebene
    ist a*n=b*n=0;

    dies gild auch für -n

    \[a*-n=b*-n=0;\] \[-a_{x}\*n_{x}-a_{y}\*n_{y}-a_{z}*n_{z}=0\] \[-1*(a_{x}\*n_{x}+a_{y}\*n_{y}+a_{z}*n_{z})=0\] alles durch -1 teilen und wir haben \[a*n=0;\]

    und auch für n*faktor

    \[a\*fac\*n=b*facn=0;\] \[fac\*a_{x}\*n_{x}+fac\*a_{y}\*n_{y}+fac\*a_{z}\*n_{z}=0\] \[fac*(a_{x}\*n_{x}+a_{y}\*n_{y}+a_{z}*n_{z})=0\] alles durch fac teilen und wir haben \[a*n=0;\]

    das zeigt unter anderem das es unendlich viele Vektoren gibt welche man als Normale einer ebene bezeichnen kann.

    btw nicht "alle" Vektoren stehen zu zwei parallelel Vektoren senkrecht.
    richtig ist "unendlich viele"



  • TGGC schrieb:

    @Sgt. Nukem:
    'Tschuldigung, ich meinte das zitierte Wolfenstein 3D. Das verwendet die Raycasting Technik, ist ja sicher bekannt.

    Aber sicher. Mein DX Port ist leider nie fertig geworden... 😞 😡 🙄


Anmelden zum Antworten