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

Aktuelle Zeit: Di Mai 28, 2024 21:40

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



Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
BeitragVerfasst: Di Mai 07, 2013 15:24 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
Zur Noisefunktion: Ist vielleicht schneller, sieht aber nicht sehr geschmeidig aus.
Dynamic Branching: wollt ich mir auch was dazu überlegen.
Octrees hab ich mir auch angeschaut, dachte dann aber, dass es nicht geht, weil die Geometrie vom Shader verändert wird.
Also ich dachte, dass die Geometie irgendwie im Hauptspeicher sein muss, um Octrees anzuwenden,
hab aber keine Ahnung.
Der Vertexshader hat doch von den anderen Vertices keine Ahnung, weis also nicht ob was im Weg ist, und um die komplette Geometrie zu überprüfen, müsste ja schon jeder Vertex durch den Shader gelaufen sein, oder hab ich da was falsch verstanden?

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Mai 07, 2013 15:51 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
zum code:
An der entsprechenden Stelle heisst es einach:
...
V.y += texture2D(Texture1,tc1).x + texture2D(Texture2,tc2).x ...
...
wobei die texcoords von Ort und Zeit abhängen.
Da fällt mir auf:
Ich fetche immer nur einen Wert der Graustufen-Textur.
Kann man den Texturfetch in glsl irgendwie optimieren, so dass der Shader weiß, dass die Textur nur einen Wert pro Koordinate hat, oder geht das automatisch, wenn ich im Hauptprogram mit glTexImage2D das richtige Format festlege.

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Mai 07, 2013 17:19 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Gibt es die möglichkeit, die Texturen zu einer Textur zu kombinieren, und zwar so, dass du nur einen Read brauchst?

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  
BeitragVerfasst: Di Mai 07, 2013 21:52 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
Hab ich mir auch überlegt, aber da die verschiedenen Texturen mit unterschiedlichen Geschwindigkeiten und Skalierungen gegeneinander laufen sollen, müsste die Textur sehr groß sein, um seamless zu sein, glaub ich.

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Mai 07, 2013 21:56 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
Und die Textur müsste natürlich für jeden Frame neu zusammengefasst werden.

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Mai 08, 2013 09:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Mit einem FBO dürfte das aber nicht so lange dauern -> eigentlich würde das Zeichnen eines Quads mit Multitexturing genügen. Wenn es letztendlich sowieso nur zu einer Heightmap hinauslaufen soll, kann dein FBO dann auch nur in Graustufen sein. Und das mit dem Octtree, wenn es sich um eine Wasseroberfläche handelt, dann wird ja wahrscheinlich nur in Y-Richtung (oben und unten) verändert, das kann zwar reintheoretisch Probleme verursachen, die werden sich allerdings gering halten und zur Not zeichnest du halt den Teil vom Octree auch, wenn er nur fast drin liegt, z.B. auch bei einem Abstand von 1, dann dürften garkeine Probleme mehr auftreten. Und du brauchst beim Octree nicht deine gesamte Geometrie im RAM, es reicht lediglich zu wissen welche VBOs, Displaylisten (allgemein Objekte) sich innerhalb eines Teilparts aufhalten. Bei Terrainen schneidet man am Anfang das Terrain halt so in VBOs auf, das jedes in einem Teil des Octtrees sitzt, nur in diesem Teil brauchst die Geometrie im RAM, aber nicht dauerhaft.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Mai 29, 2013 23:57 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
Ich muss diesen Thread mal auffrischen, da ich mich gefragt hab, ob es nicht schneller sein könnte, das VBO im Hauptprogramm zu updaten.
Habe bisher nur mit statischen VBOs gearbeitet, hab daher keine Vorstellung, wie schnell das ginge.
Wenn ich meine fertige H-Map als Textur vorliegen habe, kann ich dann damit irgendwie direkt das VBO updaten oder müssen die Daten erst in den Hauptspeicher?
Ich habe auch überlegt, statt mehreren vorberechneten H-Maps eine FFT auf der GK zu implementieren, das würde ich in einem Fragmentshader realisieren.
Um die Vertices dann aktualisieren zu können, fällt mir allerdings auch nur der Weg über texturfetch ein.

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Mai 30, 2013 19:12 
Offline
DGL Member
Benutzeravatar

Registriert: So Sep 26, 2010 12:54
Beiträge: 238
Wohnort: wieder in Berlin
Programmiersprache: Englisch
FFT im Fragmentshader? wieso nicht im ComputeShader?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Mai 30, 2013 21:25 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
ComputeShader gibts erst ab OpenGL 4.3.
Falls jemand eine FFT mit glsl implementiert hat, würd ich mich sehr über den Code freuen.

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 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.056s | 15 Queries | GZIP : On ]