An glVertex einen Vektor übergeben, geht das???
-
Hallo,
ich möchte ganz gern an glVertex die Werte eines Vektors übergeben.
So sieht das ungefähr aus:void field(vector<C_Koordinaten> *m_xyzWerte) { glVertex3d(m_xyzWerte[0],m_xyzWerte[1],m_xyzWerte[2]); }So wie ich es mache, geht es anscheinend nicht, denn ich kriege folgende Fehlermeldung:
cpp(27): error C2664: 'glVertex3d': Konvertierung des Parameters 1 von 'std::vector<_Ty>' in 'GLfloat' nicht möglich
with
[
_Ty=C_Koordinaten
]Gibt es für glVertex überhaupt die Möglichkeit Vektoren zu übergeben, oder gibt es eine schöne und einfache Alternative.
Danke euch für die zahlreichen Antworten

-
Wenn Du eine Koordinate uebergeben willst:
class Vector { float x,y,z; }; Vector v; glVertex3fv( (GLfloat*)&v );Wenn Du den ganzen vector<> uebergeben willst, brauchst Du Vertex-Arrays oder -Buffer.
-
Du dereferenzierst den vector nicht richtig:
glVertex3d((*m_xyzWerte)[0],(*m_xyzWerte)[1],(*m_xyzWerte)[2]);