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

Aktuelle Zeit: Di Mai 21, 2024 12:27

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tutorials makeover
BeitragVerfasst: Sa Aug 08, 2009 20:11 
Offline
DGL Member

Registriert: Fr Dez 26, 2008 05:18
Beiträge: 9
Flash hat geschrieben:
Außerdem sind wir bei der Tutorialreihe eh gerade am Überarbeiten.
[...].


wird das demnächst in angriff genommen ? :wink:

zb.

- man sollte im tut7 beim masking darauf hinweisen dass man das blending vorher aus macht dann das quad zeichnet und dann glBlendFunc(GL_ZERO,... anwendet ... ansonsten sieht man nämlich nichts

- beim überläufer hingegen sollte man das blending eher nicht ausmachen da das erste quad komplett sichtbar ist (siehe beispiel zum fadeover)

- meiner meinung nach sollte man nur eine lightmap benutzen denn sobald man mit der ersten lightmap die wand-textur and den dunklen stellen schwärzt kann die zweite lightmap die ursprüngliche wand-textur nich wieder herstellen sodass das "farbige licht" auf eine schwarze wand trifft und diese grün färbt (siehe beispiel lightmap)

so siehts im tut7 aus:

Bild

man erkennt deutlich dass die wand trotz des grünen lichtes schwarz ist... man sieht nur dort mauer wo die erste lightmap hell ist ... meine vorstellung von licht ist anders -.-

besser ist es vorher aus den 2 lightmaps ersteinmal eine zu machen

Bild

hier sieht man dass keinerlei lichtintensität verloren geht

und so sollte das ergebnis aussehen

Bild

im vergleich zu vorher "beleuchtet" das grün die wand jetzt richtig :wink:

dafür muss man nur die reihenfolge der quads ändern

im original:

Code:
  1. procedure glDraw;
  2. begin
  3.   glClearColor(01,01,01,0);
  4.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  5.   // Hier kommt der OpenGL Code rein
  6.  
  7.   glLoadIdentity;
  8.   glTranslatef(0,0,-5);
  9.  
  10.   //Blending aktivieren, Hintergrund belassen zum Pfaden Alpha-Wert nehmen
  11.   glDisable(GL_BLEND);
  12.  
  13.   glColor3f(1,1,1);
  14.   glBindTexture(GL_TEXTURE_2D,wall);
  15.   glBegin(gl_Quads);
  16.       glTexCoord2f(0,0);
  17.       glVertex3f(-1,-1,0);
  18.       glTexCoord2f(1,0);
  19.       glVertex3f(1,-1,0);
  20.       glTexCoord2f(1,1);
  21.       glvertex3f(1,1,0);
  22.       glTexCoord2f(0,1);
  23.       glvertex3f(-1,1,0);
  24.   glEnd;
  25.  
  26.   glEnable(GL_BLEND);
  27.   glColor3f(1,0.7,0.7); //Rot
  28.  
  29.   glBlendFunc(GL_SRC_COLOR,GL_SRC_COLOR);
  30.   glBindTexture(GL_TEXTURE_2D,light1);
  31.   glBegin(gl_Quads);
  32.     glTexCoord2f(0,0);
  33.     glVertex3f(-1,-1,0);
  34.     glTexCoord2f(1,0);
  35.     glVertex3f(1,-1,0);
  36.     glTexCoord2f(1,1);
  37.     glvertex3f(1,1,0);
  38.     glTexCoord2f(0,1);
  39.     glvertex3f(-1,1,0);
  40.   glEnd;
  41.  
  42.   glBlendFunc(GL_SRC_COLOR,GL_ONE);
  43.   glColor3f(0.3,1,0.3);
  44.   glBindTexture(GL_TEXTURE_2D,light2);
  45.   glBegin(gl_Quads);
  46.       glTexCoord2f(0,0);
  47.       glVertex3f(-1,-1,0);
  48.       glTexCoord2f(1,0);
  49.       glVertex3f(1,-1,0);
  50.       glTexCoord2f(1,1);
  51.       glvertex3f(1,1,0);
  52.       glTexCoord2f(0,1);
  53.       glvertex3f(-1,1,0);
  54.   glEnd;
  55. end;


und jetzt umgestellt:

Code:
  1. procedure glDraw;
  2. begin
  3.   glClearColor(01,01,01,0);
  4.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  5.   // Hier kommt der OpenGL Code rein
  6.  
  7.   glLoadIdentity;
  8.   glTranslatef(0,0,-5);
  9.  
  10.   //Blending aktivieren, Hintergrund belassen zum Pfaden Alpha-Wert nehmen
  11.   glDisable(GL_BLEND);
  12.  
  13.   glColor3f(0,1,0);
  14.   glBindTexture(GL_TEXTURE_2D,light2);
  15.   glBegin(gl_Quads);
  16.       glTexCoord2f(0,0);
  17.       glVertex3f(-1,-1,0);
  18.       glTexCoord2f(1,0);
  19.       glVertex3f(1,-1,0);
  20.       glTexCoord2f(1,1);
  21.       glvertex3f(1,1,0);
  22.       glTexCoord2f(0,1);
  23.       glvertex3f(-1,1,0);
  24.   glEnd;
  25.  
  26.   glEnable(GL_BLEND);
  27.   glColor3f(1,0,0); //Rot
  28.  
  29.   glBlendFunc(GL_ONE,GL_ONE);
  30.   glBindTexture(GL_TEXTURE_2D,light1);
  31.   glBegin(gl_Quads);
  32.     glTexCoord2f(0,0);
  33.     glVertex3f(-1,-1,0);
  34.     glTexCoord2f(1,0);
  35.     glVertex3f(1,-1,0);
  36.     glTexCoord2f(1,1);
  37.     glvertex3f(1,1,0);
  38.     glTexCoord2f(0,1);
  39.     glvertex3f(-1,1,0);
  40.   glEnd;
  41.  
  42.   glBlendFunc(GL_DST_COLOR,GL_DST_COLOR); //hier kann man auch glBlendFunc(GL_DST_COLOR,GL_ZERO);
  43.                                                                         //einsetzen um realistischeres licht zu erhalten
  44.   glColor3f(1,1,1);
  45.   glBindTexture(GL_TEXTURE_2D,wall);
  46.   glBegin(gl_Quads);
  47.       glTexCoord2f(0,0);
  48.       glVertex3f(-1,-1,0);
  49.       glTexCoord2f(1,0);
  50.       glVertex3f(1,-1,0);
  51.       glTexCoord2f(1,1);
  52.       glvertex3f(1,1,0);
  53.       glTexCoord2f(0,1);
  54.       glvertex3f(-1,1,0);
  55.   glEnd;
  56. end;


hier die lightmap mit glBlendFunc(GL_DST_COLOR,GL_ZERO); das meiner meinung nach wesentlich besser und realistischer aussieht
das hab ich für den vergleich nicht genommen um einen besseren vergleich zu erzielen...

Bild


ich hab das gefühl dass ich nich wirklich ne ahnung davon hab wovon ich da rede ... deswegen hoffe ich dass mich jemand erleuchten kann

diese glBlendFunc ist sau verwirrend und deswegen müsste das bestmöglich erläutert werden

weirdo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 09, 2009 20:26 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also danke erstmal für deine Mühen.

Deine Bilder sehen auf alle Fälle recht gut verständlich aus und die könnten wir, falls du das erlaubst, auch in unserem Tut mit einfügen.

Bezüglich Tutorialüberarbeitung. Ja das wollte immer mal jemand machen, aber konkrete beispiele, wie man es machen sollte kommen eher nicht bzw. entsprechen nicht dem allgemeinen Vorstellungen.

Hast du bereits eine wiki freischaltung?

Wenn ja, dann leg doch einfach einen ARtikel an namens: Tutorial_Lektion_7/mod und schreib mal eine Version (mit deinen schönen Bildern) wie du denkst.
Du kannst dazu einfach das orginal komplett kopieren, und dann die Teile verbessern die du unverständlich findest.

Nicht gewollt ist ein komplettes neu schreiben.


PS: Ich seh gerade, dass man da nochmehr überarbeiten sollte. Der Abschnitt "Claim for the World Order" z.B. erklärt nicht wirklich gut, dass durchsichtige Objekte spuren im Tiefenpuffer hinterlassen und man deshalb nicht "hinter" durchsichtige Objekte rendern kann.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 10, 2009 13:05 
Offline
DGL Member

Registriert: Fr Dez 26, 2008 05:18
Beiträge: 9
ja danke für die antwort ... ich dachte hier wär keiner mehr aktiv :P

also ne wiki freischaltung hatt ich glaub ich mal beantragt aber bisher kann ich mich dort nich anmelden

die bilder sind natürlich alle free ...

bevor ich aber ein eigenes tut schreibe sollte jemand der ahnung hat drüberguckn was ich da verzapfe ob es so annehmbar ist...

theorethisch bedarf es auch keines komplett neuen tutorials ... es müssen nur geringfügige veränderungen am original vorgenommen werden sofern diese annehmbar sind...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 10, 2009 14:56 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ja so mein ich das auch. Kein neues Tut, sondern nur "modernisieren".

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 10, 2009 15:41 
Offline
DGL Member

Registriert: Fr Dez 26, 2008 05:18
Beiträge: 9
theorethisch sind da ja noch mehr sachen zu korrigieren also sollte man vllt vorher alle änderungen zusammentragen und dann das tut ändern ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 10, 2009 21:36 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
Äh nein, wenn sich jemand an etwas stört soll er sich einfach melden und seinen Teil beitragen.
So bewegt sich wenigstens etwas. Ansonsten werden Änderungen meistens so lange diskutiert bis keiner mehr Lust hat.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 10, 2009 23:09 
Offline
DGL Member

Registriert: Fr Dez 26, 2008 05:18
Beiträge: 9
dann möchte ich gerne eine wiki-freischaltung bitte :wink:


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 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.031s | 19 Queries | GZIP : On ]