 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
pebisoft gesperrt
Anmeldungsdatum: 28.11.2004 Beiträge: 131
|
Verfasst am: 24.09.2006, 18:11 Titel: glrotatef und gltranslatef |
|
|
ich stelle eine körper da, den ich mit milkshape angefertigt habe.
das unten ist die routine. erst rotiere ich dann translate.
soweit so gut. der körper geht immer in die richtung , wo er hinrotiert ist.
bloss der drehradius wird immer grösser, dies möchte ich verhindern.
wie kann man rotationspunkt immer wieder auf 0 setzen.
ich möchte diese vorwärtsbewegung beibehalten, weil die sich schön nach den drehwinkle richtet. bloss ich muss immer wieder den mittleren drehpunkt haben, damit der körper wieder um sich selber dreht im nullpunkt des körpers.
glRotatef s,0, 1, 0
glTranslatef x,0,0
Model_Draw (@MilkShapeModel)
mfg
pebisoft |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
Verfasst am: 24.09.2006, 18:31 Titel: |
|
|
Mach das wie folgt:
Code: |
glPushMatrix ' Matrix auf dem Stack speichern
' Hier kommen die ganzen Befehle von dir hin, die die aktuelle Matrix ändern.
' zB.: gltranslate, glrotatef
glPopMatrix ' Matrix vom Stack wieder laden
|
Im Vergleich zu glLoadIdentity wird somit nicht der absolute Ausgangszustand wiederherstellt, sondern nur der eben zuletzt genutzte Zustand. _________________ +++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial |
|
Nach oben |
|
 |
pebisoft gesperrt
Anmeldungsdatum: 28.11.2004 Beiträge: 131
|
Verfasst am: 24.09.2006, 19:47 Titel: |
|
|
das unten ist der steurcode für den körper.
"a" und "s" ist dür das drehen und "e" und "d" für vorwärts und rückwärts.
es funktioniert alles soweit. nur der mittelpunkt(drehpunkt) wandert bei vorwärts oder rückwärts immer weiter raus.
oder kann man es mittels sinus und cosinus lösen. wer hat den davon kenntnis?
ich habe dein code(danke nochmals) schon reingesetzt, funktioniert nicht, der körper bleibt dann stehen.
Code: |
do
glClear GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT
glLoadIdentity
gluLookAt 75, 75, 75, 0, 0, 0, 0, 1, 0
IF MULTIKEY(SC_A) THEN
d+=1
if d>360 then d=0
end if
IF MULTIKEY(SC_S) THEN
d-=1
if d<0 then d=360
end if
IF MULTIKEY(SC_E) THEN
x+=1
end if
IF MULTIKEY(SC_D) THEN
x-=1
end if
IF MULTIKEY(SC_Y) THEN
x=0: d=0
end if
glRotatef d,0, 1, 0
glTranslatef x,0,0
Model_Draw (@MilkShapeModel)
glLoadIdentity
flip
WindowTitle "x="+str$(d)+" z="+str$(x)
loop while MULTIKEY(SC_ESCAPE) = 0
end
|
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|