Donner hat geschrieben:
Hmm... "die komponenten des Normalvektors"... was heißt das jetzt genau?
hm je im leben vektorrechnung in der schule gehabt?
man darf bei einem vektor eigentlich nicht "koordinaten" schreiben, weil mathematisch gesehen hat ein vektor keine position, die durch koordinaten bestimmbar wäre, er verschiebt lediglich einen punkt in einen anderen.
deswegen: komponenten (x, y, z (...) entsprechend den dimension des vektorraums)
was ein normalenvektor ist weißt du dann wahtscheinlich auch nicht: im drei-dimensionalen kann man eine ebene in verschiedenen weisen darstellen, eine ist die normalform, in der der normalvektor senkrecht auf der ebene steht (also eigentlich: senkrecht zur ebene ist).
(kurzer exkurs:
skalarprodukt... nein wirklich, ich sollte nicht ausschweifen, obwohl, wenn wer will??)
der normalvektor beschreibt also die ebene, in der der vertex liegt (also aich die fläche zu der er gehört -> das polygon)
Donner hat geschrieben:
Welchen Datentyp hat denn der Rückgabewert von getVertices()? virtual void * sagt mir nichts... Kannst du da mal ein kleines Beispiel geben, wie ich das mache? Also z.B. 4 Punkte erstellen und diese dann zu zwei Dreiecken zu verbinden?
virtual heißt nur dass die funktion virtuell ist. (suche
) aber da CMeshBuffer eine implementation ist, ist sie zum glück nicht rein virtuell, sonst gäbs einen fehler beim aufrufen..
void* ist ein beliebiger zeiger auf beliebigen speicher.. du musst ihn noch umwandeln in einen zeiger auf vertex-objekte, nach dem vertex-typ den der buffer verwendet (getVertexType).
ein beispiel kann ich dir leider nicht geben
da ich keine ahnung von sowas habe.. habe mich noch nie in meinem leben enger mit roher 3d-programmierung befasst.. (relativiert das meinen post? tja widerspruch macht 42
)
ich empfehl dir das erst mal zu machen (mir auch, langsam wirds ja peinlich als moderator in einem forum über eine 3d-engine..)