[solved] OpenGL: 3D Grafik einbinden (.mtl / .obj)
-
laut source:
GLMmodel* pmodel = NULL;was meinst du mit
welches es aber nicht laufen lässt
? compiliert nicht? linkt nicht? stuerzt ab? fehlermeldung?
-
rapso schrieb:
laut source:
GLMmodel* pmodel = NULL;dies führt zur fehlermeldung
´pmodel´was not declared in this scope
-
auf welche zeile bezieht sich der compilefehler?
sicher dass du die member in der richtigen klasse deklariert hast?[cpp]void CSonstwasKlasse::
drawmodel(void)[/cpp]
-
rapso schrieb:
auf welche zeile bezieht sich der compilefehler?
sicher dass du die member in der richtigen klasse deklariert hast?[cpp]void CSonstwasKlasse::
drawmodel(void)[/cpp]sicher bin ich mir nicht.
void GLWidget::drawmodel()voidder Fehler bezieht is auf
if (!pmodel) {und der gleiche fehler meldet sich auch zu
glmDraw(pmodel, GLM_SMOOTH | CLM_MATERIAL);deklariert ist es mit
GLMmodel* pmodel = NULL;in glwidget.h
-
mit
GLMmodel* pmodel;bleibt der Fehler aus sprich es lässt sich Deklarieren.
jetzt hat sich jedoch eine neue unbekannte fehlerquelle gemeldet welche je eine ´undefinied reference to`:
* glmReadOBJ
* glmUnitize
* glmFacetNormals
* glmVertexNormals
* glmDrawausspuckt. Wie löseich dieses Problem?
-
glm.c deinem projekt hinzufuegen?
-
hellihjb schrieb:
glm.c deinem projekt hinzufuegen?
ist drin

-
extern "C" { #include "glm.h" }
-
AndiLatte schrieb:
void drawmodel(void) { if (!pmodel) { pmodel = glmReadOBJ("data/al.obj"); if (!pmodel) exit(0); glmUnitize(pmodel); glmFacetNormals(pmodel); glmVertexNormals(pmodel, 90.0); } glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL); }folgende fhlerausgabe habe ich erhalten:
´pmodel´was not declaredWie trage ich pmodel in meine header datei ein !!?
Die Fehlermeldung ist hier wohl eindeutig: 'pmodel' ist nicht deklariert.
Du ermittelst (if) ob 'pmodel' einen Wert (true, false, 0, 1, äpfel, birnen, bananen) hat, obwohl 'pmodel' eben an dem Punkt, wo du es zu ermitteln versuchst, gar nicht existiert. Ich gehe mal davon aus, das 'pmodel' keine globale Variable ist.
Lösung:
Entweder du definierst/deklarierst pmodel in der Funktion wo du es verwenden willst, in einem höheren Scope oder (lass es!) global.
Grüße... Heiko
-
hellihjb schrieb:
extern "C" { #include "glm.h" }den Kniff kannte ich noch nicht !! Danke für die Hilfe - es funktioniert
Hab grad ein paar Glückshormone ausschütten dürfen