Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 19:19

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tutorial 4 :)
BeitragVerfasst: Do Nov 16, 2006 21:38 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Hi,

ja das zweite mal das ich etwas über das Tutorial 4 schreibe, diesmal ist es aber zur Abwechslung mal nicht fragend oder kritisierend sondern absolut positiv!

Ich erinnere mich dadran das dadrum gebeten wurde das "Ergebnis" zu präsentieren, undda ich gerade so tierisch stolz bin meinen tollen Terrain-creator ohne größere Probleme fertig zu haben werde ich dies nun tun. Ach, bevor ichs vergesse, das Tutorial war Spitze! Super leicht zu verstehen.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 16, 2006 22:05 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Sieht doch schon ganz gut aus. Mir fehlt die Navigation im Raum ;)
Vielleicht kannst du sowas ja noch einbauen.

Ansonsten noch den Tipp, licht einzubauen, dann wird das ganze noch ne Ecke plastischer


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 16, 2006 22:38 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Zu dem Lich fällt mir spontan Phoebeus Satz "Viele wollten ein Licht-Tutorial aber da habe ich gerade keine Lust" ein :D

Navigation? Hm

Also fliegen war mir auf die schnelle zu kompliziert (ist ja eigentlich nur ne Aufgabe aus nem Tutorial ;)) aber ich hab ne simple Mausnavigation eingebaut.

Features:
Mousedrag up/down = x / y
Mousewheel turn = z
Mouswheel drag = angel x/z

So das reicht nun erstmal, und mir fällt gerade auf das das ja quasi schon rüberfliegen ist^^

EDIT: Es flickert ziemlich wenn man es bewegt und teilweise scheint der Hintergrund durch, wodran liegt das und was kann man dagegen tun?


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 16, 2006 22:52 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Lighttuts gibbte doch. is noch eins der Grundlagen tuts, nummer 7 oder so glaub ich


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 16, 2006 22:56 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Ich bin gerade bei 5 und wollte eigentlich der Reihe nach gehen ;) Und mal nebenbei, das ist eine Umsetzung der Aufgabe aus TUTORIAL 4! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 21, 2006 01:27 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Es ist mir langsam schon peinlich das ich sooft nachfragen muss..


Ich will gerade ein wenig rumexperimentieren aber mit besten Willen finde ich in Lektion Nummer 4 keine Möglichkeit eine andere Textur zu benutzen...


Code:
  1.  
  2. procedure TForm1.LoadTexture(name : string; id : gluInt);
  3. var
  4.   tex : PSDL_Surface;
  5. begin
  6.   tex := IMG_Load(PChar(ExtractFileDir(paramStr(0))+'/'+name));
  7.   if assigned(tex) then
  8.   begin
  9.   glGenTextures(1, @ID);
  10.   glBindTexture(GL_TEXTURE_2D, ID);
  11.   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  12.   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  13.   glTexImage2D(GL_TEXTURE_2D, 0, 3, tex^.w, tex^.h,0, GL_RGB, GL_UNSIGNED_BYTE, tex^.pixels);
  14.   SDL_FreeSurface(tex);
  15.   end;
  16. end;
  17.  


Durch ein wenig rumexperimentieren habe ich gemerkt das ich durch das Aufrufen dieser Procedure im Rendervorgang die Textur ändern kann, leider kostet das soviel Performence als würde ich in der Hauptroutine nebenbei noch die Lottozahl für Morgen berechnen...

Phoebeus hat auch ausdrücklich davon abgeraten diese Procedure ständig aufzurufen.. wie änder ich die Texturen dann?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 21, 2006 02:43 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
ID ist ein "Zeiger" auf deine Texture.
Mit glBindTexture(GL_TEXTURE_2D, ID) kannst du deine aktuelle Textur auf ID laden.

Wenn du die Ladefunktion etwas abänderst:
Code:
  1. procedure TForm1.LoadTexture(name : string; var id : gluInt);

bekommst du die ID der geladenen Textur zurück. Jetzt musst du für jede Textur halt das ganze managen und so entstehen dann Texturmanager ;)

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 21, 2006 11:49 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Hm danke erstmal, aber wie lade ich die Textur damit? Bei dem Programm welches aus dem Tutorial hervorgegangen ist gibt es dafür nirgens ne Routine..

Code:
  1.  
  2.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  3.  
  4.   glMatrixMode(GL_PROJECTION);
  5.   glLoadIdentity;
  6.   gluPerspective(45, ClientWidth/ClientHeight, NearClipping, FarClipping);
  7.  
  8.   glMatrixMode(GL_MODELVIEW);
  9.   glLoadIdentity;
  10.  
  11.   glTranslatef(-25-movex,-10+movey , -35+h);
  12.   glRotatef(-70+angelx+tmpangelx,1,0,0);
  13.   glTranslatef(+20,0,0);
  14.   glRotatef(angely+tmpangely,0,0,1);
  15.   glTranslatef(-20,0,0);
  16.   glpushmatrix;
  17.   glEnable(GL_TEXTURE_2D);
  18.  //render map
  19.   for i := 0 to 59 do
  20.    begin
  21.    for e := 0 to 59 do
  22.     begin
  23.     glBegin(GL_QUADS);
  24.     gltexcoord2f((1/60)*i,(1/60)*e); glVertex3f(0, 0, corner[i][e]);
  25.     gltexcoord2f((1/60)*i,(1/60)*(e+1)); glVertex3f( 1, 0, corner[i][e+1]);
  26.     gltexcoord2f((1/60)*(i+1),(1/60)*(e+1)); glVertex3f( 1,  1, corner[i+1][e+1]);
  27.     gltexcoord2f((1/60)*(i+1),(1/60)*e); glVertex3f(0,  1, corner[i+1][e]);
  28.     glEnd;
  29.     glTranslatef(1, 0, 0);
  30.     end;
  31.  //  LoadTexture('texture2.jpg',TexID);
  32.    glTranslatef(-60, 1, 0);
  33.    end;
  34.   glpopmatrix;
  35.   SwapBuffers(DC);
  36.  


EDIT: Hab mir gerade das Tutorial zu dem TextureLoader durchgelesen und ich glaube ich habs nun verstanden, ich rufe die Textur Einfach mit glBindTexture(GL_TEXTURE_2D, ID); auf.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 21, 2006 14:52 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
gucky hat geschrieben:
EDIT: Hab mir gerade das Tutorial zu dem TextureLoader durchgelesen und ich glaube ich habs nun verstanden, ich rufe die Textur Einfach mit glBindTexture(GL_TEXTURE_2D, ID); auf.

Sieht doch sehr danach aus als ob du es verstanden hättest ;)

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » DGL » Feedback


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 16 Queries | GZIP : On ]