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

Aktuelle Zeit: So Dez 22, 2024 05:17

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Okt 23, 2012 10:13 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Hallöchen,

ich hab da mal wieder eine exotische Frage :roll:
Gäbe es irgendwie die Möglichkeit im Shader partiell zu sagen, dass sich Pointsprites nicht zur Kamera ausrichten sollen?
Problem ist, das ich alle meine Partikel in einem Rutsch rendere, doch bei einigen möchte ich nicht das diese sich zur Kamera ausrichten. Diese nun komplett separat zu behandeln, und diese vielleicht mit eigenen Quads zu rendern, würde einen extremen Aufwand bedeuten..

Grüße
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 23, 2012 11:43 
Offline
DGL Member

Registriert: Sa Mär 31, 2012 23:14
Beiträge: 26
Programmiersprache: PASCAL
Ich würd sagen nein. Wie soll sich ein Pointsprite überhaupt [nicht zur Kamera ausrichten]? Das ist doch der Sinn der ganzen Aktion. Wenn du nicht 2 Draw-Calls machen willst musst du wahrscheinlich 'nen Geometry-Shader bemühen um dir selbst ein Quad zurechtzubasteln oder eine andere Lösung finden...
Würde mich freuen wenn mir der nächste sagen würde dass ich hier grad Mist geschrieben hab, rotierte Sprites wären nämlich echt mal was tolles.

MfG Yoda

_________________
The force, strong it is in OpenGL.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 23, 2012 18:16 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
mhh hätte ja sein können das man irgendwie übern Vertex Shader die Camera-Position "faken" kann...Ich versteh auch nicht so ganz wo und wann die Graka die Billboard transformation macht.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Okt 24, 2012 16:56 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
..Ich versteh auch nicht so ganz wo und wann die Graka die Billboard transformation macht.

Ich würde sagen im Primitve-Assembly-Schritt. Quasi direkt nach Vertex bzw. Geometryshader. Aus einem Punkt wird einfach ein Quad der angegebenen Größe das in der XY-Ebene liegt (= zur Kamera ausgerichtet).

Du kannst diesen Schritt im Geometryshader selbst implementieren indem du einfach einen Triangle-Strip mit zwei Dreiecken (=Quad) rausschreibst. Die vier Vertices musst du dir dann natürlich selbst berechnen...ist ja der Sinn der Sache ;)

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Okt 24, 2012 18:09 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Ja katze, aber meinst ich bekomm das Billboardgedönst genauso schnell hin wie er das bei Pointsprites macht? Denn für 99% der Partikel brauch ich ja die billboard funktionalität.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Okt 24, 2012 19:33 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Es wird natürlich etwas langsamer sein denke ich. Aber ich würde vermuten, dass du das kaum merken wirst. Normalerweise ist eher die Füllrate (also Pixel) das Problem. Vertexbound auf der Grafikkarte ist man eher selten, sofern die Partikel zumindest, wenn die Partikel deutlich größer als 1px sind. Meine Erfahrungswerte beziehen sich hier auf ein System wo die Partikel so ca. 16-32px groß waren. Aber um sicher zu sein wie sich das auswirkt wirst du es wohl ausprobieren müssen, hinterher ist man immer schauer ;)

Lässt sich das Partikelsystem den nicht irgendwie zweiteilen? Also erst den vordern Teil des Buffers mit den normalen Partikel rendern und dann in einem zweiten Call den hinten Teil mit einem anderen Shader? Sollte funktionieren solange du nicht irgendwie sowas wie Z-Sortierung brauchst, wo dann wegen der geringen Partikelzahl aber die erste Lösung eh besser wäre.

_________________
Yeah! :mrgreen:


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


Wer ist online?

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