[solved] OpenGL: 3D Grafik einbinden (.mtl / .obj)
-
rapso schrieb:
erlaube die frage, kannst du ueberhaupt schon die grundlagen von
in privat bereich deiner klasse mit dem richtigen typen kannst du deine variable deklarieren
class CSonstwas { priavte: MeinDatentyp Variable; };zur not vor der klasse ein include zur typendeklaration, pass auch drauf auf ob's nicht zufaellig ein pointer ist

hehe..war wohl zu überfächig formuliert.
meine frage zielt auf den Datentyp, weil ich als Datentyp von -GLMmodel- ausgegangen bin, welches es aber nicht laufen lässt!
-
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