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

Aktuelle Zeit: Do Mär 28, 2024 18:22

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



Ein neues Thema erstellen Auf das Thema antworten  [ 107 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6 ... 8  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Di Apr 01, 2014 18:20 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
hobbyfrickler hat geschrieben:
Ich würde dann mein oben genanntes Template verwenden und somit folgendes Abhandeln, nur mal so als grobe Inhaltsangabe:
-Installation von SDL2 und der dglOpenGL.pas in Lazarus und Delphi unter Windows
-Das Erstellen des SDL-Fensters, des OpenGL 3.3 Kontext, die Initialisierung von OpenGL mithilfe
der dglOpenGL.pas sowie die Ereignisbehandlungsroutine von SDL
-VBO's & VAO's, wozu sind die da und wie krieg ich da meine Daten rein?
-Wie render ich den ganzen Kram denn nun?
-Shader, oder warum seh ich nun immer noch nix?


Ich würde die Installation von SDL weglassen und hinschreiben, dass wir SDL benötigen und benutzen. Infos findet ihr "hier" (link auf SDL). Du kannst gern auch einen kleinen Artikel der sich dem Thema, "Einrichten des Workspace" wittmet, schreiben und verlinken.

Der Rest klingt gut. Ansonsten als Tipp: Ließ dir nochmal die Tutorials 1 und 2 von Phobeus durch. Da bekommst du ein gefühl für Umfang und Schreibstil. (Lieber etwas lockerer als zu detailiert. Lieber etwas kürzer als zu umfangreich.)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Do Apr 03, 2014 10:39 
Offline
DGL Member

Registriert: Mi Sep 04, 2013 14:08
Beiträge: 34
Programmiersprache: FPC/Lazarus - Delphi
@mathias:
Zitat:
Hier habe ich die wichtigsten Funktionen für Matrixmanipulation. Link

Das habe ich schon gesehen und finde es wirklich toll das mal jemand sowas vorzeigt. Leider war das für mein Problem nicht brauchbar, da ich damit ja z.B. keine Projektionsmatrix erstellen kann. Also nicht falsch verstehen bitte, ich will deine Arbeit nicht schmälern, nur zur Erklärung warum ich erstmal die VectorGeometry.pas benutzt habe.
Was dabei nicht so schön war, ist, das diese noch 2 andere Units benutzt (VectorTypes.pas, GLCrossPlatform.pas) und ich in letzterer etwas entfernen musste, die benutzt dann nämlich wieder die LCL/VCL.
Übrigens ist eine Vorgängerversion (geometry.pas) davon im DGLSDK enthalten.

Und ich gebe Dir grundsätzlich Recht, daß das benutzen von Fremdbibliotheken nicht immer eine gute Wahl ist. Man muß halt abwägen ob es sich lohnt was eigenes zu schreiben, außerdem muss man natürlich überhaupt die Fähigkeit haben das Benötigte schreiben zu können. Da ich in Hinsicht auf Matrizen (und diesen ganzen Matheformalismus) überhaupt keine Ahnung habe bleibt mir bloß die Möglichkeit eine Library zu benutzen, die möglichst alles enthält was ich brauche.
Und das Problem mit den verzerrten Objekten habe ich mittlerweile gelöst, es lag an SDL, bzw. wie ich es benutzt habe, nicht an der Projektionsmatrix.


@Flash:
Soll denn garnichts zu SDL2 erklärt werden? Also auch nicht die Erstellung von Fenster/Kontext oder der Ereignisbehandlung?
Also rein auf OpenGL konzentrieren um den geneigten Leser nicht mit einem zu großen ersten Tutorial abzuschrecken?
Dann würde ich auch vorschlagen das ich das Quadrat entferne und nur das Dreieck zeichne.
Passt dann auch besser zum Titel des ersten Tutorials, den glAwesome vorgeschlagen hat - "Das erste Dreieck" :mrgreen:



@all:
1.) Kann mir jemand sagen wie ich einen Fehler beim linken des Programmobjektes erzeugen kann, nachdem die Shader gebunden wurden?
Ich würde gerne meine aktualisierte Funktion, um das InfoLog bei einem solchen Fehler auszulesen, testen. Also, ich habe das hier:
Code:
  1.   glLinkProgram(ProgramObject);
  2.   glGetProgramiv(ProgramObject, GL_LINK_STATUS, @iLinkStatus);
  3.   if (iLinkStatus = PGLint(GL_FALSE)) then
  4.   begin
  5.     raise Exception.Create('Fehler beim linken der Shader: ' + CheckForErrors(ProgramObject));
  6.   end;


Und hier die Funktion, um das InfoLog dann auszulesen:
Code:
  1. function CheckForErrors(glObject: GLHandle): string;
  2. var
  3.   bytelen, stringlen: GLInt;
  4. begin
  5.   Result:= '';
  6.   if glIsProgram(glObject) then
  7.   begin
  8.     glGetProgramiv(glObject, GL_INFO_LOG_LENGTH, @bytelen);
  9.     SetLength(Result, bytelen);
  10.     glGetProgramInfoLog(glObject, bytelen, stringlen, @Result[1]);
  11.   end
  12.   else if glIsShader(glObject) then
  13.   begin
  14.     glGetShaderiv(glObject, GL_INFO_LOG_LENGTH, @bytelen);
  15.     SetLength(Result, bytelen);
  16.     glGetShaderInfoLog(glObject, bytelen, stringlen, @Result[1]);
  17.   end;
  18. end;



2.) Gibt es jemanden der mit FreePascal/Lazarus unter Linux arbeitet? Ich habe mir jetzt einen abgebrochen und bekomme SDL2 nicht installiert.
Wenn es jemanden gäbe könnte ich mir weitere Fummelei ersparen und würde dann nochmal mein aktualisiertes Template zum testen bereitstellen.

_________________
Die Benutzung von Web 2.0+ mithilfe eines Brain 1.0 wird wegen unzureichender Security-Updates NICHT empfohlen.
Bitte upgraden Sie auf Brain 2.0, jetzt für Sie exklusiv noch lieferbar!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Do Apr 03, 2014 15:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 587
Programmiersprache: C++
Einen Linkerfehler zu erzeugen, ist einfach. Du musst nur einen Fragmentshader schreiben, der eine Variable vom Vertexshader erwartet, die er aber nicht bekommt.
Z.B. ein
Code:
  1. in vec4 vf_Color;
im Fragmentshader, aber kein
Code:
  1. out vec4 vf_Color;
im Vertexshader. Wichtig ist dabei, dass vf_Color auch eine Auswirkung auf das Ergebnis des Fragmentshader hat, sonst optimiert der Compiler das weg.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Do Apr 03, 2014 16:52 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Leider war das für mein Problem nicht brauchbar, da ich damit ja z.B. keine Projektionsmatrix erstellen kann.

Ein kleiner Tip dazu:
Matrix = FrustumMatrix * CameraMatrix * WorldMatrix * ObjectMatrix

Der Shader sieht etwa so aus:
Code:
  1.   Pos = vec3(WorldMatrix * vec4(inPos, 1.0));
  2.   Normal = normalize(mat3(WorldMatrix) * inNormal);
  3.  
  4.   gl_Position = Matrix * vec4(inPos, 1.0);

Die WorldMatrix wird nur für die Beleuchtung gebraucht.

Den Frustum berechne ich so:
Code:
  1.  
  2. var
  3.     FrustumWerte: record
  4.       left, right, bottom, top, znear, zfar: single;
  5.     end;  
  6.  
  7. procedure TCamera.FrustumCalculate;
  8. begin
  9.   FFrustumMatrix := MatrixModif.EinheitsMatrix;
  10.   with FrustumWerte do begin
  11.     FFrustumMatrix[0, 0] := 2 * znear / (right - left);
  12.     FFrustumMatrix[1, 1] := 2 * znear / (top - bottom);
  13.     FFrustumMatrix[2, 0] := (right + left) / (right - left);
  14.     FFrustumMatrix[2, 1] := (top + bottom) / (top - bottom);
  15.     FFrustumMatrix[2, 2] := -(zfar + znear) / (zfar - znear);
  16.     FFrustumMatrix[2, 3] := -1;
  17.     FFrustumMatrix[3, 2] := -2 * zfar * znear / (zfar - znear);
  18.     FFrustumMatrix[3, 3] := 0;
  19.   end;
  20. end;        
  21.  
  22. procedure TCamera.SetFrustum(left, right, bottom, top, znear, zfar: glFloat);
  23. begin
  24.   FifFrustum := True;
  25.   FrustumWerte.left := left;
  26.   FrustumWerte.right := right;
  27.   FrustumWerte.bottom := bottom;
  28.   FrustumWerte.top := top;
  29.   FrustumWerte.znear := znear;
  30.   FrustumWerte.zfar := zfar;
  31.   FrustumCalculate;
  32. end;    
  33.  
  34.  SetFrustum(-1.0, 1.0, -1.0, 1.0, 10, 70.0);  


Nicht vergessen die WorldMateix in den Frustum-Bereich zu verschieben:

Code:
  1.  MatrixModif.Translate(WorldMatrix, 0, 0, -15);


Ich hoffe dies hilft dir weiter.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Do Apr 03, 2014 18:26 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 587
Programmiersprache: C++
hobbyfrickler hat geschrieben:
@Flash:
Soll denn garnichts zu SDL2 erklärt werden? Also auch nicht die Erstellung von Fenster/Kontext oder der Ereignisbehandlung?
Ich glaube, da hast du dich verlesen: Flash schrieb "Installation", nicht "Initialisierung". Die Erstellung von Fenster und Kontext gehören auf jeden Fall ins Tutorial, finde ich.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Do Apr 03, 2014 20:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
glAwesome hat geschrieben:
hobbyfrickler hat geschrieben:
@Flash:
Soll denn garnichts zu SDL2 erklärt werden? Also auch nicht die Erstellung von Fenster/Kontext oder der Ereignisbehandlung?
Ich glaube, da hast du dich verlesen: Flash schrieb "Installation", nicht "Initialisierung". Die Erstellung von Fenster und Kontext gehören auf jeden Fall ins Tutorial, finde ich.


Ganz genau. Initialisierung und Fenster aufmachen gehört ins Start Tutorial. Alles was man halt braucht um ausgehend von einem fertig eingerichteten Workspace ein Farbiges Bild auf den Bildschirm zu bekommen. (Also z.B. das klassische Dreieck aus dem Tut#1)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Fr Apr 04, 2014 08:18 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Zitat:
2.) Gibt es jemanden der mit FreePascal/Lazarus unter Linux arbeitet? Ich habe mir jetzt einen abgebrochen und bekomme SDL2 nicht installiert.
Wenn es jemanden gäbe könnte ich mir weitere Fummelei ersparen und würde dann nochmal mein aktualisiertes Template zum testen bereitstellen.


<--- arbeitet damit unter Linux (Fedora). Sowohl Lazarus, als auch SDL 2 (ich hab schließlich die Header geschrieben ^_^).

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Fr Apr 04, 2014 16:55 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Ich würde für den Anfang ganz auf SDL verzichten, und nur auf OpenGL eingehen.
Als Anfänger würde mich SDL abschrecken, ich will möglichst einfach mit OpenGL beginnen.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Fr Apr 04, 2014 18:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 587
Programmiersprache: C++
Die Seite Tutorial GL3+ existiert nun, so dass fertige Tutorials dort eingetragen werden können. Die empfohlenen Links zum Erlernen von Programmiersprachen sollten überprüft und ggf. ergänzt werden (auch für andere Programmiersprachen).

Edit: Ich beginne nun mit einem kurzen Artikel zur Installation von SDL2. Sobald ich fertig bin, wird das hier gepostet.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Fr Apr 04, 2014 21:11 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 587
Programmiersprache: C++
Am Tutorial SDL2 Installation arbeite ich nun nicht mehr. Ich habe mich jedoch nur um den Part für C++-Entwickler unter Windows mit Code::Blocks gekümmert. Für andere Zielgruppen, insbesondere Pascaler, sollten noch weitere Abschnitte hinzugefügt werden.

Edit: Übrigens, hobbyfrickler, ich glaube du hast das SDL_Quit in deinem Code vergessen.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Sa Apr 05, 2014 13:31 
Offline
DGL Member

Registriert: Mi Sep 04, 2013 14:08
Beiträge: 34
Programmiersprache: FPC/Lazarus - Delphi
@glAwesome: Ich habe deinen Tipp befolgt, leider ohne Erfolg, bekam immer einen Compilerfehler.
Nochmal gesucht und dann ausgehend von dieser Seite
http://www.khronos.org/opengles/sdk/doc ... rogram.xml
ein paar der aufgeführten Fehlermöglichkeiten nachgestellt, leider immer nur Compilerfehler.
Bis mir dann die Idee kam, mal die Abfrage nach einem Compilerfehler zu deaktivieren - und dann geht es auch.
Compilerfehler = Programmende = *kopfklatsch*

Hat schon wieder gefühlt eine halbe Ewigkeit gedauert, langsam ahne ich worauf ich mich da eingelassen habe :mrgreen:
Dein neuer Artikel "Tutorial SDL2 Installation" hat sein übriges dazu getan - ich hätte da so gefühlt 6 Zeilen
zu geschrieben. Ich seh mich schon endlos mein Geschreibsel umschreiben/korrigieren/vervollständigen...
Dein Artikel gefällt mir aber sehr gut, auch die neue Seite für die GL3+ Tutorials.

Das vergessene SDL_Quit habe ich dann auch mal hinzugefügt, Danke für den Hinweis.

@all:
Ich möchte nochmal etwas richtigstellen: Ich habe geschrieben das ich für das Template den Migrationguide von SDL2 zu Rate gezogen habe,
dies ist falsch. Ich habe da etwas durcheinandergebracht - das Template basiert auf einem Sample der Pascal-Header von end.
Ich hatte angefangen ein vorhandes SDL1-Template mit dem Migrationguide umzuarbeiten, habe dann aber die Samples von end
in die Finger bekommen und das dann weiter verwendet. Ich habe das mal im Code vermerkt und hoffe das stellt kein Problem dar?
Nicht, daß das in 10 Jahren auffliegt und ich einen meiner nicht vorhandenen Doktortitel loswerde :mrgreen:


Zum Wiki: Ich bin nochmal meine Funktion zum Auslesen des Infologs durchgegangen und habe mir nochmal im Wiki den Artikel zu
glGetProgramInfoLog angesehen. Entgegen der Aussage des Artikels kann ich für den Parameter length nicht den Wert Nil verwenden
= Error: Incompatible types: got "Pointer" expected "LongInt". Keine Ahnung ob ich da was falsch mache oder bei den Parametern mal
etwas geändert wurde. Ist kein wirkliches Problem, ich übergebe einfach eine passende Variable, obwohl ich den Wert nicht wirklich benötige.



Wenn ich sehe wieviel Zeit da schon für draufgegangen ist (und ich hab mich bisher nur um den Programmcode gekümmert), läßt das meinen Respekt
für die Autoren der schon vorhandenen Artikel/Tutorial nochmal anwachsen.

Nun ja, dafür ist der Code jetzt fertig, habe ihn jetzt nochmal angehängt, könnte jetzt mal unter Linux getestet werden.
Natürlich könnt ihr euch den auch einfach mal angucken und mir Bescheid geben ob der jetzt so bleiben kann.
Würde ihn nämlich ungerne nochmal ändern, wenn ich mit dem Schreiben des Tutorials angefangen habe.

Zitat:
Ich würde für den Anfang ganz auf SDL verzichten, und nur auf OpenGL eingehen.
Als Anfänger würde mich SDL abschrecken, ich will möglichst einfach mit OpenGL beginnen.

Wenn wir kein SDL benutzen, müssten wir mehrere Templates erstellen, jeweils für LCL/VCL.
Und ich vermute mal, die meisten die mit OpenGL anfangen, wollen in die Spiele-Richtung, da ist SDL dann eindeutig die bessere Wahl, da man damit auch gleich Tastatur, Joystick/Pad, Sound und Texturen laden abdecken kann.


Dateianhänge:
OpenGL33_Tutorial1.zip [6.28 KiB]
305-mal heruntergeladen

_________________
Die Benutzung von Web 2.0+ mithilfe eines Brain 1.0 wird wegen unzureichender Security-Updates NICHT empfohlen.
Bitte upgraden Sie auf Brain 2.0, jetzt für Sie exklusiv noch lieferbar!
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: Sa Apr 05, 2014 15:32 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Code:
  1.   glDeleteShader(FShaderObject);       // Shaderobjekte werden nicht mehr benötigt,
  2.   glDeleteShader(FShaderObject);       // sind jetzt über Programmobjekt verfügbar

Hier hat sich ein kleiner Fehler eingschlichen, du gibst 2 mal FShaderObject frei.

Ich habe auch ein kleines Programm vorbereitet, welches ohne SDL arbeitet.

Der grösste Unterschied, ich arbeite mit ganzen Face(Dreiecken) in der VertexArray, ich finde dies viel übersichtlicher, aber dies ist wohl Geschmacksache.


Dateianhänge:
unit1.zip [1.83 KiB]
295-mal heruntergeladen

_________________
OpenGL
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: So Apr 06, 2014 12:27 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 587
Programmiersprache: C++
Ich bin den Tutorial-Code gerade mal durchgegangen. Insgesamt gefällt er mir sehr gut, anfängergerecht und ausführlich kommentiert.

Ein paar Kleinigkeiten (und bis auf ein, zwei Punkte sind es wirklich Kleinigkeiten) würde ich noch verbessern:
  • Zeile 6: Hier könnte man ruhig einen exakten Link platzieren, finde ich (http://www.delphigl.com/forum/viewtopic.php?f=13&t=10752).
  • Zeile 38: "Ein VAO's" ist grammatikalisch etwas unschön ;)
  • Zeile 47 enthält einen echten Fehler: SDL_Init gibt im Fehlerfall einen negativen Code zurück!
  • Zeile 139: Das @Result[1] sieht komisch aus, könnte aber richtig sein. Beginnt das Array/der String wirklich bei 1? (Das gleiche in Zeile 145)
  • Zeile 278: Ich würde das Wort "Menge" durch "Anzahl" austauschen. Umgangssprachlich ist das zwar das gleiche, aber für mich (und wahrscheinlich für alle, die was mathematisch-technisches studieren) nicht.
  • In der Funktion LoadShader hantierst du sehr umständlich mit Zeigern herum. Ich würde das folgendermaßen machen:
    Code:
    1. var
    2.   CompileStatus, LinkStatus: GLint;
    3. begin
    4.   // ...
    5.   // Kompilierstatus prüfen
    6.   glGetShaderiv(VShaderObject, GL_COMPILE_STATUS, @CompileStatus);
    7.   if (CompileStatus = GL_FALSE) then
    8.   // ...
    9.   // genau so mit dem Fragmentshader und LinkerStatus
    10.   // ...
    11. end
  • Es ist fraglich, ob die Variable exepath wirklich notwendig ist. Normalerweise kann man einfach eine Datei "shader.vert" laden, ohne das Verzeichnis anzugeben. Es wird dann automatisch das Verzeichnis genommen, in dem das Programm ausgeführt wird.
  • Schließlich wäre es ratsam, im Shaderquelltext eine konsequente Namenskonvention anzuwenden. Den Namen fragmentColor finde ich für eine Variable zwischen Vertex- und Fragmentshader unglücklich gewählt. Es besteht die Gefahr der Verwechslung mit outputColor. Bei meinen Shadern bin ich inzwischen zu folgendem Namensschema übergegangen (du kannst natürlich auch was anderes verwenden, aber es sollte ein System erkennbar sein, finde ich):
    • Variablen zwischen Vertex- und Fragmentshader beginnen mit "vf_", zwischen Vertex- und Geometryshader mit "vg_", usw.
    • uniform-Variablen beginnen mit "u_"
    • in-Variablen im Vertexshader beginnen mit "in" und out-Variablen des Fragmentshaders mit "out"

@glGetProgramInfoLog: nil übergeben müsste eigentlich klappen. Dass es nicht klappt, liegt offenbar am DGL-Header (die Parameter stimmen dort nicht). Hier habe ich eine korrigierte Version des Headers hochgeladen, die du erstmal verwenden kannst.

@SDL2: Ich denke, dass wir SDL2 verwenden, ist inzwischen entschieden (jedenfalls waren die Berfürworter in der Mehrheit). Ich will mich nicht mit dem ehemaligen Kanzleramtsminister auf eine Ebene stellen und die Diskussion für beendet erklären, aber die Diskussion wäre in einem anderen Thread besser aufgehoben, denke ich. Wir müssen aufpassen, dass wir hier nicht zu viele Themen gleichzeitig diskutieren. Der Sinn des Threads war ja schließlich Koordination statt Chaos. :)

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: So Apr 06, 2014 14:25 
Offline
DGL Member

Registriert: Mi Sep 04, 2013 14:08
Beiträge: 34
Programmiersprache: FPC/Lazarus - Delphi
Danke für das Feedback, ich werde mich dann nochmal um den Code kümmern.

Zu SDL2: Ich möchte auf jeden Fall SDL2 benutzen, es könnte ja alternativ einen entsprechenden Artikel zu LCL/VCL geben, vorausgesetzt jemand schreibt einen solchen.


Momentan bin ich grad am Artikel "Tutorial SDL2 Installation" dran und beschreibe die Schritte für Delphi/Lazarus unter Windows.
Ich erstelle das erstmal als Textfile und denke daß das jemand gegenlesen sollte. Soll ich das fertige Textfile hier als Anhang dranhängen?


Nachdem ich mir den Artikel durchgelesen habe, weiß ich auch garnicht mehr wie ich das in 6 Zeilen schaffen wollte :mrgreen:

_________________
Die Benutzung von Web 2.0+ mithilfe eines Brain 1.0 wird wegen unzureichender Security-Updates NICHT empfohlen.
Bitte upgraden Sie auf Brain 2.0, jetzt für Sie exklusiv noch lieferbar!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [WIKI] OpenGL3
BeitragVerfasst: So Apr 06, 2014 14:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 587
Programmiersprache: C++
Wenn du dich sicherer fühlst, wenn du das alles erst in ein Textfile schreibst, kannst du das gerne machen.

hobbyfrickler hat geschrieben:
Nachdem ich mir den Artikel durchgelesen habe, weiß ich auch garnicht mehr wie ich das in 6 Zeilen schaffen wollte
Es kommt halt drauf an, wie sehr man ins Detail geht. Für einen erfahrenen Entwickler würde bereits das, was du als Kommentar im Code stehen hast, mehr als ausreichen. Aber es geht hier ja um potenzielle 13jährige, die einen Taschenrechner programmieren können. Daher bin ich selbst auf das Entpacken des tar.gz-Archivs nochmal eingegangen.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 107 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6 ... 8  Nächste
Foren-Übersicht » Sonstiges » Community-Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 25 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.087s | 18 Queries | GZIP : On ]