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

Aktuelle Zeit: Sa Jun 08, 2024 06:02

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Jan 04, 2010 20:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 15, 2009 20:48
Beiträge: 111
Wohnort: Berlin
Programmiersprache: Delphi,JS,PHP,AS3,C#
Moin moin,

leider musste ich nach erfolgreicher Implementation der Hardwarelichter festsellen, dass diese wirklich in der Anzahl auf 8 begrenzt sind auf meiner Grafikkarte, einer Radeon HD-4870. Der entsprechende Hinweis im Tutorial ist meiner Meinung nach ungenügend;

Zitat:
(Zur Information: OpenGL Implementationen müssen 8 Lichter unterstützen. Es gibt aber Implementationen, die hier mehr zu bieten haben. Um Zugriff auf alle vorhandenen Lichter zu erhalten, genügt es zu GL_LIGHT0 einen entsprechenden Wert zu addieren. GL_LIGHT0+8 wäre dann z.B. das 9. Licht)


Ich finde, es sollte klargestellt werden, dass es wahrscheinlich auch nur diese 8 Lichter gibt, und dass das ein Hardcap ist, das oft(?) nicht mit dieser Art der Beleuchtung überschritten werden kann, auch bei sehr modernen Grafikkarten (2009, Top Spiele auf hoher oder höchster Qulität). Ich persönlich habe eher herrausgelesen, dass nur die Spezifikationen (Wort? Also GL_LIGHT0-7) begrenzt sind. Diese harte Begrenzung halte ich für absolut essenziell! Grade die Dynamik dieser Licht-Art ist großartig und alles ist sehr einsteigerfreundlich, schade also dass es Gründe für eine Begrenzung zu geben scheint. Ich hatte mir mehr erhofft.

Ansonsten hat mir das Tutorial wie alle bisher gut bis sehr gut gefallen... darum ist dies auch meine erste Kritik :) Das Tutorial kann für diese Begrenzung nichts.^^

Also, ich geh mir jetzt was neues überlegen um mein Spiel in günstigen Effekten zu ersaufen...

Danke an alle Tutorialschreiber, ihr seit großartig und eine echte Bereicherung für jeden Programmier-Interessierten! Es ist zwar nur eine persönliche Preferenz, aber diese Seite gefällt mir einfach besser als alle die ich zum Thema Delphi und OpenGL finden konnte, und die Tutorials sind besonders(!) im Vergleich absolute Spitze.

Gruß, sirrk aka Robin

_________________
thanks to the internet we have rule 34, wich states that if something exists, theres a pornographic version of it,


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Jan 04, 2010 20:31 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 16, 2008 13:18
Beiträge: 252
Du musst nicht auf Lichter verzichten, mit einem entsprechendem glsl (oder einem anderen)-Shader kannst du theoretisch unendlich viele Lichter erzeugen. (Das man mit glsl mehr Lichter haben kann sollte, wenn das Tutorial geändert wird, vielleicht auch angemerkt werden)

_________________
You even trying ...

Website: http://rise-of-light.de/


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Jan 04, 2010 22:17 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
Es ging sirrk um Anfängerfreundlichkeit, da muss man nicht wieder die Shaderkeule schwingen. Mit denen ist ja bekanntlich ALLES möglich. ;-)

_________________
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  
BeitragVerfasst: Fr Jan 29, 2010 15:16 
Offline
DGL Member

Registriert: Mo Nov 06, 2006 19:15
Beiträge: 172
Hmm, so langsam müssen wir glaube ich Neueinsteigern auch vermitteln, dass die 'fixed function pipeline' im Grunde Tod ist. Sie wird nicht mehr verbessert. Die Hardwarehersteller interessiert nicht mehr wie viele Lichter da unterstützt werden, weil alles von Shadern übernommen werden soll.
Versteht mich bitte nicht falsch. Ich finde diese Lichter, die man 'in die Hand nehmen' und mit eigenen Funktionen bearbeiten kann intuitiv und einsteigerfreundlich. Aber so ein Hinweis im Tutorial könnte dem Missverständnis vorbeugen, das sei noch state-of-the-art. Es muss ja nicht auf Shader gedrängt werden, aber man kann darauf hinweisen, dass seit etwa 8 Jahren Pixel Shader die Aufgabe der Beleuchtung übernehmen, diese mehr Möglichkeiten bieten aber Voraussetzen, dass man einen Beleuchtungsalgorithmus selber schreibt.
Davon ab ist glLight ab OpenGL 3 veraltet. Ich kann mir aber vorstellen, dass die Unterstützung dafür in zehn Jahren noch nicht gelöscht ist. Insofern meine ich kann das Tutorial so bleiben.

@sirrk: Man kann also nicht davon ausgehen, dass neue Grafikkarten(treiber) bald mehr Lichter unterstützen. Außerdem nimmt normalerweise die Geschwindigkeit mit jedem zusätzlichen Licht ab. Daran ändern auch Shader nichts. Vielleicht hast du aber schon mal Spiele mit etlichen kleinen Lichtern gesehen, so wie du es vorhast. Zum Beispiel eine mittelalterliche Stadt mit Fackeln. Dort wird meist ein Trick mit dem Namen 'Deffered Shading' (oder 'Deferred Renderer') verwendet. Wenn du den Unterschied mal Live mitbekommen möchtest schau die mal die Engine GAEL von Mitglied littleDave an. Die findest du unter Projekte im Forum. Dort kannst du beim Start zwischen dem herkömmlichen 'Forward Renderer' und dem 'Deffered Renderer' wechseln. Wenn du dann in der Demo viele Lichter einschaltest sollte der Forward Renderer sehr viel langsamer laufen als der Deferred Renderer.
Mit 'viele dynamische Lichter' hast du dir aber auch wirklich gerade eines der unmöglichsten Themen herausgesucht :lol: . Direkt hinter Lichtbrechung/Spiegelung und volumetrischen Wolken/Shatten/Licht (persönliche Meinung).


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Jan 29, 2010 17:26 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Man muss noch erwähnen, dass Lichter in OpenGL nicht "Fest Verbaut" sind.
Man kann ein Licht an eine bestimmte Stelle setzten, dann die Umgebung rendern, dann das Licht an eine andere Stelle Setzen und dort die Umgebung rendern.

Man hat also nur 8Licht pro Szene zur Verfügung. Aber man kann die 8 Lichter beliebig oft umpositionieren.
Noch präziser: Eine Fläche/Vertex, kann mit der Std. Beleuchtung nur von maximal 8Lichtquellen beleuchtet werden.

Das heißt, dass man die 8 Lichter z.B. in mehrere Räumen immer wieder verwenden kann, da sie ja üblicherweise eh nicht durch die Wände scheinen sollen.

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


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Jan 29, 2010 17:55 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
Vielleicht hast du aber schon mal Spiele mit etlichen kleinen Lichtern gesehen, so wie du es vorhast. Zum Beispiel eine mittelalterliche Stadt mit Fackeln. Dort wird meist ein Trick mit dem Namen 'Deffered Shading' (oder 'Deferred Renderer') verwendet.

Ähm, der "Trick" liegt darin wie Flash schon andeutet darin das all die kleinen Lichter nur in einem gewissen Radius eine Wirkung haben. Die feste Pipeline erlaubt 8 aktive Lichter. Wenn für ein Objekt wirklich 8 Lichter relevant sind gibt das in der Regel sowieso einen derartigen Licht-Matsch, dass man keinen Unterschied bemerkt wenn da irgendwo Lichter zusammengefasst wurden.

However, wenn wirklich viele Lichter aktiv sind empfehle ich (frisch von der Siggraph 2009) das "Inferred lighting", was eine Erweiterung des "Deferred shading" darstellt. Das Paper dazu gibt es in der ACM Library, wozu man aber einen Zugang über eine Uni o.ä. braucht: http://doi.acm.org/10.1145/1581073.1581080

Edit: Hier kommt man auch so dran: http://graphics.cs.uiuc.edu/~kircher/publications.html

_________________
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 » DGL » Feedback


Wer ist online?

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