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

Aktuelle Zeit: Fr Jul 18, 2025 00:01

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 36 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 03, 2009 23:09 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Multiplikation und Division von 2 Vektoren ist in meinem Tafelwerk nicht definiert also kann man davon ausgehen, dass es auch so ist.
Ich habe diese Funktion eingebaut, damit man komponentenweise multiplizieren kann, was bei der Parallelisierung gerne verwendet wird.
Statt 4 bzw. n Komponenten einzeln zu multiplizieren wird dies in ein vektor zusammen gepackt und mit 4 Komponenten gleichzeitig multipliziert.
Optimierungsroutine, also gehört es zum Ende des Artikels.
Es gibt die Multiplikation von Vektor und einem Skalar(einzelne Komponente), welches Vielfachbildung genannt wird.
Dann gibt es ein Skalarprodukt, welches durch ein Punkt gekennzeichnet ist, meine Multiplikation durch ein Stern und Kreuzprodukt durch ein x für 2 Vektoren.
Danke für den Hinweis und werde das heute Mittag dann ändern.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 04, 2009 08:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
TAK2004 hat geschrieben:
Nein ich will das in mehrere Artikel verpacken jede Nummer wäre ein Artikel, so dass man es schön in ruhe über längere zeit lernen kann und nicht immer in einen hin und her springt.

Okay. Das beruhigt mich, denn in dem oben verlinkten OpenGL 3 Tutorial sind bereits Überschriften für Instancing, Oclussion Query, Conditional Rendering, Transform Feedback etc enthalten. Alleine das Inhaltsverzeichniss geht über eine Bildschirmseite.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 04, 2009 22:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Hab die Liste um 1 Punkt Geometry Shader geupdated, da die OpenGL3.2 Specs diese noch in den Core übernommen haben.
Man muss gucken, wie schnell ich vor ran komme aber ich hoffe noch den GLSL Artikel mit Version 1.5 schreiben zu können.
Nicht dass ich jetzt noch weitere 6Monate brauche und dann 3.3 da ist.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 05, 2009 12:51 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Solange das ganze nicht am Ende eine Belastung für dich wird. Mach dir also nicht zuviel Druck.

Auch bei einem Update auf die nächste GL Version, wird nicht alles Falsch sein, was du geschrieben hast.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 05, 2009 16:28 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich bin auf Dauerbelastung, da ich am Google Lunar XPrize mit mache, an meiner Engine arbeite und noch ein Reallife habe. Ob ich nun noch eine Tutorialreihe schreibe fällt da nicht mehr auf xD

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 05, 2009 22:15 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich hab gerade die Skalarprodukt funktion überarbeitet und da man dort auch noch informationen über Gradmaß und Bogenmaß benötigt, ist nun meine Frage, soll ich dazu auch noch was schreiben oder kann man hier schon von ausgehen, dass man weiß, was Gradmaß und Bogenmaß ist ? Ich tendiere dazu es hinzu zu fügen aber man muss ja auch nicht alles schreiben, was einen einfällt.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 05, 2009 22:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
Hm, wer nicht weiß, was das ist, findet es bei der Suchmaschiene seiner Wahl bei der Suche nach "Gradmaß Bogenmaß", aber jeder, der sich anschickt mit OpenGL ernsthaft was machen zu wollen - und OpenGL 3 suggeriert das - sollte schon die beiden und vielleicht noch Neugrad/Gon kennen, wobei letztere eher in der Landschaftsvermessung/Kartographie eine Rolle spielen.

_________________
Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut.
Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’.
Und du schaust mich an und fragst ob ich das kann.
Und ich denk, ich werd' mich ändern irgendwann.

_________________Farin Urlaub - Bewegungslos


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 06, 2009 05:54 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Die Frage ist, was ist ein gutes Abgrenzungskriterium. Ich habe mich dabei immer an die Regel gehalten: alles, was Stoff des normalen Gymnasiums ist, gehört zur Allgemeinbildung und wird daher vorausgesetzt. Was darüber hinausgeht, ist spezieller Stoff. Nimm z.B. Bezierkurven: (weil mir gerade Julia einfällt :wink:). So etwas ist erklärungsbedürftig. Bogenmaß/Gradmaß find ich kann vorausgesetzt werden. Man braucht nicht bei Adam und Eva anzufangen, ist ja auch so schon umfangreich genug.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 06, 2009 09:16 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Als kleine Anmerkung: Du hast in jeder for-Schleife ein Komma statt einem Semikolon gemacht.

Code:
  1. for (unsigned int i=0;i<DIMENSION  ,   i++)
  2.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 07, 2009 23:47 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
So, der Inhalt des Linearen Algebra Artikels ist zusammen geschrieben, nun würde ich euch bitten, euch durch zu kämpfen und zu schreiben, was rein/raus sollte, damit dann Anschließend eine Rechtschreibung, Grammatik und eventuelle Neubildung von Sätzen statt finden kann.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 08, 2009 00:03 
Offline
DGL Member

Registriert: Sa Mär 14, 2009 17:48
Beiträge: 99
Programmiersprache: D, Java, C++
TAK2004 hat geschrieben:
So, der Inhalt des Linearen Algebra Artikels ist zusammen geschrieben, nun würde ich euch bitten, euch durch zu kämpfen und zu schreiben, was rein/raus sollte, damit dann Anschließend eine Rechtschreibung, Grammatik und eventuelle Neubildung von Sätzen statt finden kann.


Ich find den Artikel gut, allerdings stellt sich mir die Frage, warum dieser mit "OpenGL 3" in Verbindung gebracht werden muss. Klar, zur deutlicheren Führung durch den gesamt Workshop "OpenGL 3", allerdings bezieht sich alles dort genannte genauso auf ältere OpenGL Versionen.

Außerdem finde ich sollte der letzte Absatz: "Exkurs in die Optimierung" rausgenommen werden.

Meiner Meinung nach geht es in dem Artikel um Lineare Algebra, nicht um die Optimierung von Sourcecode, wie man eine Vektor implementation auf Performance trimmt gehört eher in einen weiteren Artikel ("Performancetuning" oder sowas), und wo wir gerade beim Thema sind:

Wenn du schon C++ Beispiele anbringst (was mir persönlich nichts ausmacht, da ich in D Programmiere ;-)), dann halte diese doch wenigstens Syntaktisch leichter, warum musst du Templates benutzen nur um zu zeigen wie eine Implementierung eines Vektors aussehen könnte? Das könnte den ein oder anderen Pascaler verwirren, da C++ doch syntaktisch was völlig anderes ist.

Natürlich spiegeln die obigen Aussagen meine Meinung wieder, ich find' es auf jedenfall lobenswert das du dir so eine Arbeit machst, danke dafür!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 08, 2009 01:06 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Nach einer kleinen DIskusion mit Tak im IRC mach ich mal folgende Vorschläge:

Kein Leser will zu Anfang die lineare Algebra lernen nur um weiter zu lesen. Daher verzichtet zu anfang vollständig darauf. Schreibt ein minimales Programm. Nach Möglichkeit verwendet für das erste Beispiel SDL (gepatcht oder aus dem SVN) Es müss folgendes enthalten:

Ein OpenGL3.x fenster mit forward compatible context erstellen.

Hintergrund löschen

VBO mit geometriedaten für ein einzelnes 3eck erstellen. Koordinaten in screenspace (-1...1,-1....1) dazu für jede ecke eine Farbe: Damit hier keine falschen ideen aufkommen gleich der inhalt des float arrays:
0,1, 0,1, //position 1
1,0,0, 0, //red
0.8,-0.5,0,1, //position 2
0,1,0,0, //green
-0.8,-0.5,0,1 //position 3
0,0,1,0 //blue

Der Vertexshader sollte nichts machen, als die position zu setzten. Der Fragmentshader soll nur die Farbe übernehmen.

Das zusätzliche drum herum, reicht vollkommen aus um jemanden der neu ist vollständig zu verwirren. Also anschließen jede codezeile ausführlich erklären.

=======================================================

Für schnelle erfolge ignoriert weiterhin die lineare algebra und führt 2D texturen ein. Das macht all diejenigen glücklich, die ein 2D game schreiben wollen. EIn wenig texturen addieren oder so zeigt den sinn von shaderen
Anschließend das tutorial noch mit den Blendfunktionen und transparenz beenden.

========================================================
Ein wenig 3D: Benutz die parallel projektion. Ab hier kann man auch die lineare algebra so zeigen das auch auf dem Bildschirm etwas sichbar beliet. W der Position bleibt rst mal noch 1

=========================================
Erklärung der perspektive und vollständiger ersatz für den Opengl1 Matrixstack

_________________
Lumina plattform unabhängige GLSL IDE


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 08, 2009 09:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
@oc2k1: ich stimme Dir zu. Aber ich möchte eines anregen: In das erste Tutorial sollte vorneweg ein erklärender Vierzeiler kommen. Es ist eine Wohltat, wenn man erstmal ganz kurz und prägnant darüber informiert wird,
1. Worum es sich genau handelt (Computergrafik ganz kurz anreißen)
2. Was vom Leser in weiterer Folge geleistet werden muss bzw. erwartet wird (nötige Kenntnisse bzw. die Bereitschaft zu lernen)

Wir ersparen damit sowohl uns als auch den interessierten Lesern eine Menge Zeit. Erfahrungsgemäß kommen hier Leute an, die die nötigen Kenntnisse noch nicht haben - darum kommen sie ja eben her. Denen sollte man fairerweise die Chance geben, selbst zu beurteilen, ob sie so etwas anfangen wollen oder nicht. Schönfärberei wäre hier fehl am Platz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 08, 2009 12:51 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich habe hier nun das Algebra ausgegliedert und als Grundlage Kategorisiert.
Wer nicht fit ist kann hier anfangen, wer einigermaßen fit ist, kann es überspringen und rein gucken, wenn er mal etwas nicht weiß(Nachschlagewerk).
Aufgrund der Empfehlungen, dass man vieleicht erstmal zeigen sollte, wie OpenGL später aussehen kann.
Habe ich einen Artikel "Vorschau auf das kommende" am Anfang eingefügt.
In diesen Tutorial wird dann einfach ein komplexeres OpenGL Programm gezeigt(binary,Screenshots/video what ever) und auch garnicht erläutert(nicht auf den code eingegangen), damit man einfach sehen kann, ist es das was ich will.
Dazu sollte dann auch ein bischen Text rein, was der Entwickler zu erwarten hat.

Oc2k1 übte Kritik über die Verwendung von Windows und Linux Code, für die Erstellung des Grafikcontext. Es sei doch einfacher SDL zu nehmen und die Erstellung von einem Kontext lässt man eh von einer Bibliothek machen. Natürlich ist das richtig allerdings ist dies eine OpenGL3 Tutorialreihe und kein OpenGL3 mit SDL. OpenGL3 hat genau 2 Möglichkeiten einen Grafikkontext zu erstellen und der eine ist für das Linux und Mac OS zur verfügung stehende X11 Desktopfenster System und der andere ist für das Windows Fenster System. Darum sollen auch diese beiden Funktionalitäten von der OpenGL API vorgestellt werden. Mir ist es auch nur wichtig, dass die Erstellung des GC erläutert wird und nicht ein ganzes Funktionfähiges Windows und Linux Beispiel durch exerziert wird.
Sollte er diesen Weg einschlagen, dann kann er sich durch den beiligenden und vollständigen Programmcode arbeiten oder mit SDL wählen. Das muss jeder für sich entscheiden.
Die Verwendung eines Frameworks hat auf die weiteren Artikel keinen Einfluss, da man nie wieder mit dem Fenstersystem in berührung kommt.

Zum Thema Beispielcode, ich kann es natürlich auf einfaches c runter brechen, ich hatte code gewählt, weil ich so nur copy/paste aus meinen Bibliotheken machen brauchte und die Typnamen geändert habe.

Zum Thema Exkurs zur Optimierung, ich habe es 2 Leuten zum rein schauen gegeben und der eine von beiden war ein Anfänger und war sehr glücklich über diesen Bereich.
Der andere hatte mit OpenGL nichts zu tun und meinte, dass er einfach den Schluss übersprungen hat, es heisst ja auch Exkurs.

Meinungen sind erwünscht!

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 08, 2009 13:15 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn die Optimierungen zusammen mit dem gesamten Matheteil als Grundlagen ausgelagert werden, so wie jetzt, dann ist das OK. Denn der Ausgelagerte Teil ist dann Thematisch eine Einheit. Bestehend aus den Grundlagen und Hinweisen zur Optimierung am Ende. So ist das Ok.

Wenn das alles in einem Größeren Tutorial mit einem anderen Thema, nämlich OGL3, eingebaut wäre, würde das dann nichtmehr so passen. Das wäre quasi dann eine Ergänzung zu einer Ergänzung.

Ich sehe es im Allgemeinen so wie oc2k1:
Unsere Tutorials wurden deshalb so gut angenommen, weil Anfänger schnell zu Ergebnissen kamen. Erst im weiteren Verlauf mussten sie feststellen, dass das Erreichte nur der Anfang war und es jetzt erst richtig losgeht. Auf die Art hält man die Motivation hoch. Wenn man alles vom Urschleim her erklärt und dabei am Ende noch nichtmal was "zum rumspielen" bei rauskommt, dann verliert man schnell die Lust.

Bei den Alten Tutorials haben wir durch den Quickstart und dem Sonnensystem-Beispiel innerhalb von 2 Tutorials einen recht großen Fortschritt gemacht. Dabei wurde nicht alles Haarklein erklärt, sondern nur soweit, dass ein grundlegendes Verständnis dafür da war. Die Anfänger hatten nach 2 Tuts das Gefühl mit OpenGL was machen zu können. Das ist das aller Wichtigste: Den Leuten das Gefühl zu vermitteln, dass Sie mit OpenGL3 ihre Ideen umsetzen können. Und zwar ohne Computergraphik zu studieren.

Ich wäre deshalb dafür die detailierten Erklärungen und Optimierungen erst später zu bringen. Quasi so ein Stufenmodell:
Stufe 1: Dem Leser etwas OpenGL3.0iges geben damit er sieht es läuft auf seinem Rechner und er hat das gerade selber gemacht. Toll!
Stufe 2: Dem Leser die Basissachen beibringen. Wie z.B. Rotationen, Texturen, Blending, Selektion.
Stufe 3: Dem Leser erklären, dass die gelernten Sachen in großen Projekten so nicht gehen werden, sondern dass man optimieren muss --> Optimierungen für das gelernte.
Stufe 4: Komplexe Sachen und Effekte die man einem Anfänger nicht zumuten würde.
Stufe 5: Shaderpower!

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


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 36 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.010s | 14 Queries | GZIP : On ]