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

Aktuelle Zeit: Fr Nov 27, 2020 06:34

Foren-Übersicht » Sonstiges » Community-Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Anfänger-Tutorial über Shader
BeitragVerfasst: Sa Nov 24, 2012 09:55 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
// Verschoben aus Shader nach Community-Projekte durch Horazont

Hallo, irgendwie bin ich hier verkehrt und doch wieder richtig. Es geht um Shader, und es geht um Anfänger, das passt nicht ganz zum Titel dieses Forums. Sei's drum.

Vor nicht langer Zeit habe ich im Feedback-Forum etwas vorsichtig Kritik an der Aktualität der Tutorials auf DelphiGL geäußert, weniger aus Lust zum Meckern, sondern vielmehr, weil ich möchte, dass DGL lebendig bleibt. Das geht auf Dauer aber nur mit Aktualität. Nun zweifelt niemand daran, dass die Leser stets über die neuesten Entwicklungen informiert werden. Aber das meinte ich nicht. Ich meinte speziell die Anfängertutorials, die immer noch auf herkömmliche Weise (ihr wisst: glBegin ... glEnd ... glRotate ...) an OpenGL heranführen, während Shader z.B. nur in zwei (genau genommen einem) Tutorial behandelt werden. Und dieses Tutorial wendet sich explizit an Fortgeschrittene.

Inzwischen geht aber kein Weg mehr daran vorbei, dass schon Anfänger mit diesen Techniken vertraut gemacht werden. Es kommt nicht nur darauf an, Sachen wie Shader oder VBOs anfängergerecht vorzustellen, sondern die ganzen Einstiegskonzepte in OpenGL sollten darauf auszurichtet sein. Der langen Rede kurzer Sinn: Wir brauchen Tutorials über Shader usw. für Anfänger. Es gibt zwar eine Reihe von englischsprachigen Tutorials im Netz, aber alle, die ich gefunden habe, sind eher oberflächliche Rezepte, ohne dass die Wirkungen und Zusammenhänge plausibel erklärt werden.

Zugegeben, das ist nicht einfach. Aber ich hab's trotzdem versucht. Das Tutorial befindet sich vorläufig auf meiner Webseite (ohne verlinkt zu sein) und kann dort schon mal begutachtet werden.

http://www.txhome.de/tux/public/shader_einfuehrung.html

Falls Interesse daran besteht, kann es nach DelphiGL verschoben werden. Von meiner Webseite werde ich es in Kürze auf jeden Fall löschen. Ich möchte allerdings einige dringende Bitten damit verknüpfen:

1. Ich bin irgendwie selber noch Shader-Anfänger, und deshalb müsste alles auf sachliche Richtigkeit geprüft werden. Auf DelphiGL gibt's ja genügend Sachverstand.

2. Ich möchte vehement dafür eintreten, dass DelphiGL mehrsprachig geführt wird, auf jeden Fall aber Pascal und C/C++ parallel pflegt. Ich selber habe etliche Jahre mit Delphi programmiert und finde, dass Pascal eine tolle, leistungsfähige Sprache ist. Inzwischen bin ich aber ganz auf C/C++ fixiert, und deshalb bitte ich darum, dass jemand den Quelltext nach Pascal übersetzt und unter Delphi testet. Dann wäre das Tut schon so etwas wie ein Teamwork, was ich sehr mag.

3. Vielleicht, na ja, ich treibe mich nicht täglich schreibend in Wikis herum, müsste mich da wieder einarbeiten. Also, vielleicht hat jemand anders Lust ... Ich denke, nach meiner Vorleistung? ...

Um es zum Abschluss zu bringen: Bitte Feedback! Wenn's nichts taugt, sagt es, ich kann's ab, wenn es sachlich begründet ist.

Grüße
Reinhard


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Sa Nov 24, 2012 13:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Erstmal ein dickes Dankeschön für das Tutorial, vom kurzen Drüberscrollen her sieht das nach guter Arbeit aus. Da ich gerade nicht so viel Zeit habe, hoffe ich, dass sich andere Lektoren finden (das muss ja nicht am DGL-Team hängenbleiben, sondern jeder kann sich irgendeinen Abschnitt vorlesen und anmerkungen posten). Im ersten Abschnitt ist mir folgendes aufgefallen, vermutlich nur eine Formulierungskleinigkeit:
Zitat:
Wer eine ältere Grafikkarte im Rechner stecken hat, kann auch ohne diesen Modus noch mit "glBegin ... glVertex ... glEnd ... glRotate ..." arbeiten. Sollte es aber nicht, wie gesagt.
Bin mir bei diesem Absatz nicht so recht sicher. Wer eine ältere Grafikkarte hat, hat höchstens garkeine wahl, aber einen OpenGL 2 Kontext bekommt man doch immer, oder? Schon allein, weil man einen braucht, um herauszufinden, ob GL ≥ 3 unterstützt wird…

Zitat:
Ich hoffe, dass ich das richtige Gespür für diese Stolpersteine aufbringe.
„aufbringen“ ist hier finde ich das falsche Wort. Du kannst das Gespür sicherlich aufbringen, aber du möchtest, dass der Leser das Gespür… „erhält“?

grüße

ps.: Ich hab das mal rumgeschoben, hier passt es finde ich besser.

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Sa Nov 24, 2012 19:46 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Zwei sachen hab ich gefunden, wo ich nicht so ganz einverstanden mit bin:

Zitat:
Darunter ist das dargestellt, was sich in der Grafikkarte abspielt (Server-Bereich).
Als Analogie ist das geeignet, wäre aber vielleicht besser, das auch so hinzuschreiben. (Das tut richtet sich schließlich an Anfänger. Nicht dass dann noch jemand glaubt, du musst dich dazu ins Internet verbinden).

Zitat:
Zum einen werden Texturen durch Koordinaten beschrieben, und das ist Sache des Vertex-Shaders. Wenn ein Objekt, auf das wir eine Textur legen wollen, z.B. kleiner skaliert oder gedreht wird, muss auch die Textur entsprechend angepasst, d.h. skaliert oder entsprechend der Drehung verzerrt werden.
Nein. Die Textur selbst wird nicht verändert. Höchstens die Texturkoordinaten (aber auch die nicht notwendigerweise — außerdem haben die rein technisch betrachtet mit der Textur nix zu tun).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Sa Nov 24, 2012 21:59 
Offline
DGL Member

Registriert: Di Aug 21, 2012 19:31
Beiträge: 173
Programmiersprache: C#
Moin.

Für mich kommt ein solches Tutorial zur besten Zeit. Shader stehen für mich gerade auf dem Program sodass ich hoffe mit deiner Arbeit etwas schneller voranzukommen.

Vielen Dank also für eben jene!

Mein Wort noch zu deiner Kritik an der Einsteigerfreundlichkeit für Shadertutorials:
Im Allgemeinen scheint der Gedanke vorzuherrschen, jemand der sich in die Grundlagen von OpenGL eingearbeitet hat sei kein Anfänger mehr! ;)
Das ist, so denke ich, ein Trugschluss.
Zumindest für Anfänger sind Shader, soweit ich das aus meiner Anfängersicht eben beurteilen kann, ein weitaus komplexeres Thema, als es "von der anderen Seite" aussieht. Natürlich, wenn man es erst mal kann sieht alles leicht aus ;)

In diesem Sinne sei dir noch mal gedankt!
Grüße!

_________________
ack nack nack nack nack


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: So Nov 25, 2012 11:33 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
Die Fehler (teilweise auch nur ungeschickten Formulierungen) müssten soweit ausgeräumt sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: So Nov 25, 2012 12:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
sharkman hat geschrieben:
Zitat:
Darunter ist das dargestellt, was sich in der Grafikkarte abspielt (Server-Bereich).
Als Analogie ist das geeignet, wäre aber vielleicht besser, das auch so hinzuschreiben. (Das tut richtet sich schließlich an Anfänger. Nicht dass dann noch jemand glaubt, du musst dich dazu ins Internet verbinden).

Das lustige an der Sache ist, dass OpenGL aber genau so funktioniert (siehe die ganzen glClient* Befehle). Dennoch hat das nicht unbedingt etwas in einem Anfängertutorial zu suchen, da stimme ich zu. Vorallem hat das heute nicht mehr viel Relevanz.

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: So Nov 25, 2012 19:52 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
Zitat:
Das lustige an der Sache ist, dass OpenGL aber genau so funktioniert (siehe die ganzen glClient* Befehle). Dennoch hat das nicht unbedingt etwas in einem Anfängertutorial zu suchen, da stimme ich zu
.

Das Problem ist doch, verständlich zu machen, welche Aufgaben die Shader im Gesamtprozess haben. Ohne zu erkennen, welchen Beitrag ein Shader am Renderprozess leistet, bleibt das Wissen darüber doch isoliert und oberflächlich.

Wie auch immer, ich kann ja mal versuchen, die Aufgaben der Shader ohne die Darstellung der Pipeline zu beschreiben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Mo Nov 26, 2012 14:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Pipeline ist doch nicht der Punkt, der Punkt war lediglich der Begriff „Server“. Die Pipeline finde ich wichtig zu erwähnen und darzustellen.

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Mo Nov 26, 2012 15:02 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
Trotzdem haben mich die Feedbacks darauf gebracht, dass ich an einigen Stellen noch nicht so anfängergerecht gedacht und geschrieben habe wie gewollt. Ich werde einiges noch einmal überarbeiten und das Ganze vielleicht noch etwas konkreter machen. Auch die Pipeline lässt sich noch stringenter und überschaubarer darstellen. Auf den Begriff "Server" kann man locker verzichten, ich bin auch nur drauf gekommen, weil die OpenGL-Standardwerke (Redbook, Bible usw.) immer wieder davon sprechen. Wie gesagt, muss nicht sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Überarbeiteter Text online
BeitragVerfasst: Sa Dez 01, 2012 10:58 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
Ich habe wie angekündigt einige Teile neu geschrieben. Der überarbeitete Text kann unter der o.a. Adresse gelesen werden und wartet auf Feedback.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Sa Dez 01, 2012 16:06 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2023
Programmiersprache: C++
Gib mir ein paar Tage bis die Prüfung vorbei ist. Danach kann ich es mir genau anschauen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Mi Dez 12, 2012 18:38 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7772
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Habs nur kurz überflogen und finde es vom Umfang und Stil her gut geeignet.
Danke erin!

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Do Dez 13, 2012 01:11 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2023
Programmiersprache: C++
Ich muss dem leider etwas widersprechen. Erstmal sorry, dass es so lange gedauert hat, aber ich wollte mir auch die Zeit nehmen das Tutorial durch zu arbeiten.

Das Tutorial hat Potential, ist in der aktuellen Form eher ein Umsteigertutorial. Zumindest wirkt es für mich so. Und wir sollten uns vielleicht mal schauen an wen sich das Tutorial wenden soll:
Die Leser sollten eine Sprache beherrschen. Sie können somit z.B. eine Textdatei in den Speicher laden. Dafür haben sie keinerlei Ahnung von OpenGL-Programmierung.
Somit sollte man am Anfang vielleicht erstmal zeigen wie man Dreiecke und ähnliche Gebilde untexturiert auf den Schirm bekommt. Das Ganze ohne Initialisierung von OpenGL etc, einfach nur der Inhalt des Renderloops. Hierzu stellt man ihnen dann schon passende(n) Quellcode(s) zur Verfügung.
Das hat noch nichts mit Shadern zu tun, braucht sie aber auch nicht. Beim Einstieg in OpenGL 3.0 muss man auch erst lernen wie man Objekte zeichnet.

Der nächste Schritt oder auch das nächste Tutorial beschäftigt sich dann ausführlicher mit Shadern. Hier kann man dann deine Abschnitte größtenteils übernehmen und die Leser dürfen mit Shadern spielen. Man liefert ihnen hier dann ein Programm was Shader aus Textdateien einliest und diese nutzt. So kann man sich nur auf die Shader fokussieren.

Es wäre sehr schön, wenn du versuchen könntest dein Tutorial entsprechend umzuarbeiten.

An der Stelle füge ich auch mal einen Link ein, auf den mich Frase hingewiesen hat:
http://blog.peeja.com/blog/2012/11/14/lets-not-teach-the-fundamentals-first/

Natürlich ist mir klar, dass meine Auflistung auch konträr zu den aktuellen Tutorials läuft. Aber es ist eben wirklich so, dass man lieber erst bunte Bilder schaffen will bevor man sich mit der Initialisierung von OpenGL beschäftigen möchte ;)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Do Dez 13, 2012 20:38 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
Danke für die klare Ansage. Ich muss dir Recht geben, im Grunde ist der Versuch, Anfänger über Shader an OpenGL heranzuführen, nicht überzeugend gelungen. Aber das bekommt man erst heraus, wenn es ein anderer liest. Das war ja auch der Grund, warum ich das Tutorial erst mal zur Diskussion gestellt habe. Jedenfalls war's einen Versuch wert. Ich werde den Text vorerst wieder zurücknehmen, überdenken und versuchen, ihn zu überarbeiten.

Ich melde mich wieder, wenn ich glaube, eine Lösung gefunden zu haben.

Bis dann


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anfänger-Tutorial über Shader
BeitragVerfasst: Fr Dez 14, 2012 03:07 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2023
Programmiersprache: C++
Viel Erfolg :)

_________________
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  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Sonstiges » Community-Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.058s | 15 Queries | GZIP : On ]