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

Aktuelle Zeit: Di Mai 14, 2024 18:29

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tutorial-Kritik
BeitragVerfasst: Do Jul 23, 2009 21:11 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 23, 2009 04:33
Beiträge: 157
Programmiersprache: Turbo Delphi Pro
Hallo Leute!
Erstmal großes Lob, die Tuts sind im großen und ganzen soweit ich sie bisher genossen habe richtig gut. Sie gehen nicht immer genug ins Detail, aber zum Glück werden die einzelnen Befehle ja im Wiki meist recht gut besprochen, so dass man dann trotzdem weiter kommt. Trotzdem ein paar Punkte die in meinen Augen verbessert werden könnten:

Tutorial 1 und VCL-Tut: Diese sind die wichtigsten überhaupt. Sie stellen die Zentrale Anlaufstelle für Neulinge dar. Und ich muss leider ehrlich sagen - gerade diese beiden gehören eher zu den Schwächeren. Zuerst mal sollten beide Tuts zu einem Zusammengefasst werden finde ich, nun aber zu den zentralen Punkten:
- OnIdle und OnTimer: diese Prozeduren könnten meiner Meinung nach weggelassen werden. Es sind wichtige Techniken, keine Frage - aber die stellen sich für einen Anfänger, der noch gar nicht weiß wie openGL arbeitet, noch lange nicht. Besser wäre nur eine kurze Prozedur "render" und ein kleines Beispielprojekt mit ein paar Scrollbars, über die man dann die Objekte zur Laufzeit manipulieren kann - Vorteil: es ist im nu gemacht, und der Anfänger kapiert gleich wie die einzelnen Parameter zusammenspielen. Ich selbst bin jedenfalls erst auf diese Weise durchgestiegen ^^
- Backface-Culling: auch dies hat meiner Ansicht nach im 1. Tut noch nix zu suchen, es schadet mehr als dass es bringt. Mir hat es mehrere Stunden wertvoller Zeit genommen, weil ich nicht geblickt habe warum mein eigenes Dreieck nicht gemalt wird, das Dreieck welches ich im Wiki gefunden habe dagegen Problemlos arbeitet.

Lange rede kurzer Sinn, wenn Interesse besteht wäre ich bereit ein solches Anfängergerechtes Tutorial zu schreiben.

Die anderen Tutorials haben mir bisher sehr viel Beigebracht und geholfen, einzige Ausnahme derzeit Tutorial 8: mit der Beleuchtung komme ich Trotz Tutorial überhaupt nicht zurecht. In dem Zusammenhang wäre evtl. ein kleines Beispielprojekt sinnvoll!

Also so weit, trotz allem ein fantastisches Wiki das mir schon jetzt viel geholfen hat und sicher noch viel helfen wird :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 23, 2009 23:30 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das mit deinen Scrollbars verstehe ich gerade gar nicht. Im übrigen haben wir die Erfahrung gemacht, dass man gerade den Anfänger erklären muss wo der OpenGL Code eingebunden werden muss. Viele haben halt nicht schon 2 Jahre Delphi programmiert wenn sie mit OGL anfangen.

Der Quickstart stammt von mir und nebenbei aus meiner damaligen Anfänger Zeit.

Die Sache mit dem Backfaceculling ... hmm ich hab gerade eben mal ins Tutorial geguckt. Und dort ist eine große blaue Hinweisbox mit diesem Text:
Zitat:
Backface Culling ist eine simple, aber effektive Methode eure Anwendung zu beschleunigen. Allerdings muss man bei der Ausgabe auf die Reihenfolge der Vertices achten. Lest euch deshalb kurz den Artikel zu Backface Culling durch oder kommentiert die obige Zeile einfach ganz aus. Sonst könnte es passieren, dass Teile eurer Szene plötzlich "verschwinden".

:roll:

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 24, 2009 08:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 23, 2009 04:33
Beiträge: 157
Programmiersprache: Turbo Delphi Pro
Stimmt schon, der Kasten steht da. Ich hab mir sogar den Artikel zum Thema Backface Culling kurz durchgelesen. Das Problem an der Sache war dass Begriffe wie "Reihenfolge der Vertices" für mich damals noch Böhmische Dörfer waren. Dass dies bedeutet, dass ein Objekt nur sichtbar ist wenn seine Punkte gegen den Uhrzeigersinn gemalt werden hab ich nicht begriffen, und als sich (sehr viel Später) mein Proble mit dem Dreieck einstellte hatte ich dies natürlich längst vergessen. Okay, man muss halt immer mit dem DAU rechnen, und in diesem Fall war ich das :P


Hier mal ein leicht geänderter Quelltext wie ich ihn bevorzugen würde. Dazu noch ein paar Erklärungen, etwa wie bei dir, und schon hat der Neuling einen guten Ansatz zum rumspielen und Probieren und bekommt leichter ein Gefühl fürs arbeiten im Raum (finde das nämlich nicht ganz so einfach wenn man Jahrelang nur im 2D gearbeitet hat^^)

Bild

Code:
  1.  
  2. uses DGLOpenGL;// Im Tut steht übrigens
  3.                          //DGLOpenGL.pas, was für Neulinge
  4.                         // evtl eine Fehlerquelle sein könnte!
  5.  
  6. const
  7.   NearClipping = 1;
  8.   FarClipping  = 1000;
  9. var
  10.   DC,RC: HWND;
  11.  
  12. procedure TForm1.FormCreate(Sender: TObject);
  13. begin
  14.   DC:= GetDC(panel1.Handle);
  15.   if not InitOpenGL then Application.Terminate;
  16.   RC:= CreateRenderingContext( DC,
  17.                                [opDoubleBuffered],
  18.                                32,
  19.                                24,
  20.                                0,0,0,
  21.                                0);
  22.   ActivateRenderingContext(DC, RC);
  23.  
  24.   glClearColor(0.3, 0.4, 0.7, 0.0); //Hintergrundfarbe: Hier ein leichtes Blau
  25.   glEnable(GL_DEPTH_TEST);          //Tiefentest aktivieren
  26. end;
  27.  
  28. procedure TForm1.FormDestroy(Sender: TObject);
  29. begin
  30.   DeactivateRenderingContext;
  31.   DestroyRenderingContext(RC);
  32.   ReleaseDC(Handle, DC);
  33. end;
  34.  
  35. procedure Render;
  36. begin
  37.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  38.  
  39.   glMatrixMode(GL_PROJECTION);
  40.   glLoadIdentity;
  41.   gluPerspective(45.0, form1.panel1.width/form1.panel1.Height,
  42.                                         NearClipping, FarClipping);
  43.  
  44.   glMatrixMode(GL_MODELVIEW);
  45.   glLoadIdentity;
  46.  
  47.   glTranslatef(0, 0, -5);
  48.   // Rotieren
  49.   glRotatef(form1.scrollbar1.position,1,0,0);
  50.   glRotatef(form1.scrollbar2.position,0,1,0);
  51.   glRotatef(form1.scrollbar3.position,0,0,1);
  52.  
  53.   // Zeichnen der Primitive
  54.   glBegin(GL_QUADS);
  55.     glColor3f(1, 0, 0); glVertex3f(0, 0, 0);
  56.     glColor3f(0, 1, 0); glVertex3f(1, 0, 0);
  57.     glColor3f(0, 0, 1); glVertex3f(1, 1, 0);
  58.     glColor3f(1, 1, 0); glVertex3f(0, 1, 0);
  59.   glEnd;
  60.  
  61.   SwapBuffers(DC);
  62. end;
  63.  
  64. procedure TForm1.Timer1Timer(Sender: TObject);
  65. begin
  66.   render;
  67. end;
  68.  
  69. end.
  70.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 24, 2009 12:23 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Beschrifte deine Scrollbars mal ordentlich und schreib in die GUI einen kurzen Text was die SW so kann.
Dann bündel das alles (inkl. Source Code und Bin) und wir stellen das als File ins Wiki. Wer es nehmen will kanns nehmen. Aber das Tutorial um dieses beispiel herum zu Ändern finde ich nicht zielführend.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 24, 2009 12:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 23, 2009 04:33
Beiträge: 157
Programmiersprache: Turbo Delphi Pro
Flash hat geschrieben:
Dann bündel das alles (inkl. Source Code und Bin) und wir stellen das als File ins Wiki. Wer es nehmen will kanns nehmen. Aber das Tutorial um dieses beispiel herum zu Ändern finde ich nicht zielführend.


Schon okay, war nur eine Idee. Das mit dem File halte ich wiederum für überflüssig, die wird kaum jemand holen und da lohnt sich das kaum. Ich wollte nur ne Rückmeldung geben. Alles in allem gehts auch so wie's jetzt ist,

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.028s | 17 Queries | GZIP : On ]