Seite 3 von 17

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 18:28
von Alexander Kornrumpf
Weil auch nicht-Moderatoren eigene Beitäge ändern können. Ändern müsste von der Logik her nur bei fremden Beiträgen grau sein, oder?

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 18:29
von Krishty
Genau. Ist es aber nicht.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 18:29
von Chromanoid
Boah ich glaube ich muss diesen Thread mal aufräumen oder wir brauchen ne ZFX Link Liste. Meine ursprüngl. Intention einer schnell überfliegbaren Liste mit interessanten Links, die in einem gut lesbaren Format vorliegen, ist ja echt ziemlich schnell unter gegangen ^^

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 18:32
von Krishty
Link-Liste. Durch die Benutzerbilder, Signaturen *hust* und ähnlichen Overhead ist das Link-zu-Platz-Verhältnis imho eh nicht in einem effizienten Bereich.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 18:52
von Chromanoid
Hat nicht irgendwer Lust sowas mal mit GWT zu bauen? :) Die Integration in phpBB könnte via Webservice funktionieren. Das wäre doch mal ein schönes Übungsprojekt für GWT ^^

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 27.06.2011, 17:09
von eXile
Platform Abstraction with C++ Templates
Ist jetzt absolut nichts weltbewegendes, aber einmal durchlesen schadet nun auch nicht.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.06.2011, 15:03
von Jaw
Für eine Linkliste im Form wäre es wohl dann eher praktisch, alle guten Links in den ersten Beitrag aufzunehmen und den immer zu ändern, und die Diskussion dahinter einfach laufen zu lassen. Zur Sicherheit kann man ja noch zwei weitere Posts direkt am Anfang als Platzhalter anlegen, falls der erste zu groß wird. Aber für solche Sammeleien und Stickies sollten wirklich die Resultate dann am Anfang stehen, damit man eben nicht x Seiten durchgrasen muss.

-JAW

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.06.2011, 15:11
von Krishty
eXile hat geschrieben:Platform Abstraction with C++ Templates
Ist jetzt absolut nichts weltbewegendes, aber einmal durchlesen schadet nun auch nicht.
Verstehe ich nicht. Wenn man sowieso uniforme Schnittstellen anlegen und nur die „richtigen“ Dateien kompilieren muss, warum nicht per #include die richtigen einbinden und des ganzen Template-Kram sparen? Zumal die „nice error messages“ des Linkers bei Templates doch nicht ganz so nice sind wie die des Präprozessors oder des Compilers. Bei Endianness und Byte-Größe würde ich das ja noch akzeptieren, aber bei der Wahl zwischen OutputDebugStringA() und __android_log_print() definitiv nicht.

Dass die korrekten Umgebungsbibliotheken paratliegen ist das Problem des Programmierers und seiner Programmierumgebung, nicht des Compilers und Linkers, nur, damit einer zeigen kann, dass er weiß, was Templates sind.

Und Jaw hat recht.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.06.2011, 16:43
von joggel
Naja, also für mich macht das schon Sinn mit diesen Templates.
Wenn ich nun auf einer anderen Platform kompiliere, muss ich nichts an der Klasse "Debug" ändern...
Kann sein, dass ich da jetzt falsch liege.. oder den Link oder Krishty's Post falsch verstanden habe.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.06.2011, 17:08
von Krishty
Ich meine (42 Zeilen):

Code: Alles auswählen

#include <cstdio> 

namespace Private
{
	// generic declaration (the base interface class)
 	template <int PlatformID>
	class Debug
	{
	public:
		static void print(const char *str);
	};

	// specialization for Windows platform (the derived class for Windows)
	template<>
	class Debug<PLATFORM_WINDOWS>
	{
	public:
		static void print(const char *str);
	};

	// specialization for Android platform (the derived class for Android)
	template<>
	class Debug<PLATFORM_ANDROID>
	{
	public:
		static void print(const char *str);
	};

	// generic platform (base interface class) implementation
	template <int PlatformID>
	void Debug<PlatformID>::print(const char *str)
	{
		::puts(str);
	}
}

// … .cpp …

#if (PLATFORM_ID == PLATFORM_WINDOWS)

	#include <windows.h>

	// implementation for Windows
	void Debug::print(const char *str)
	{
		::OutputDebugStringA(str);
		::OutputDebugStringA("\n");
	}

#elif (PLATFORM_ID == PLATFORM_ANDROID)

	#include <android/log.h>

	// implementation for Android
	void Debug::print(const char *str)
	{
		::__android_log_print(ANDROID_LOG_INFO, "MyApp", str);
	}

#endif
Warum nicht einfach den ganzen Template-Kram fallen lassen (25 Zeilen):

Code: Alles auswählen

namespace Debug {

	void print(char const * str);

}

// … .cpp …

namespace Debug {
#if defined(PLATFORM_WINDOWS)

	#include <windows.h>

	// implementation for Windows
	void print(const char *str)
	{
		::OutputDebugStringA(str);
		::OutputDebugStringA("\n");
	}

#elif defined(PLATFORM_ANDROID)

	#include <android/log.h>

	// implementation for Android
	void print(const char *str)
	{
		::__android_log_print(ANDROID_LOG_INFO, "MyApp", str);
	}

#else

	#include <cstdio>

	// default
	void print(const char *str)
	{
		::puts(str);
	}

#endif
} // namespace Debug
Dann habe ich dasselbe plattformunabhängige Debug::print(), aber mit halb so viel Quelltext zum Deklarieren der ganzen Templates, die
  • … eh nie mit mehr als einem Parameter instanziert werden und damit den Sinn von generischer Programmierung so ziemlich ad abhirntot führen
  • … ich vom Präprozessor über den ersten Compiler-Pass schleppe, damit sie im 2. Pass und im Linker aufgelöst werden statt … sofort
  • … mich am Ende der Kompilierung mit Template- und Link-Time-Fehlermeldungen beglücken statt einfach mit „nicht definiert“ direkt am Anfang
  • … ich im Debugger und in Fehlermeldungen nicht wiederfinde, weil sie __QZYWprint@@Debug@4CW1337 heißen und nicht einfach _print@Debug (und nebenbei auch schwerer für den Compiler zu handhaben sind).
Sieht für mich nach vollendeter Sinnlosigkeit aus – aber kann ja sein, dass ich in meinem Schlafentzug den ganz genialen Geistesblitz übersehen habe (zumal ich bei eXiles Links immer ein wenig brauche, um das volle Potenzial zu begreifen).

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.06.2011, 17:29
von joggel
Mh... irgendwie macht das Sinn was Du schreibst!
Joar, stimmt... erschliest sich mir jetzt auch nicht mehr der Vorteil der Templates in dem Fall ... :oops:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.06.2011, 22:21
von eXile
Ich gebe Krishty uneingeschränkt recht. Je mehr ich darüber nachdenke, desto mehr ist der Link ein Griff ins Klo.

Die hier zu implementierende Verzweigung sollte schon vor der Kompilieren (d.h. mit dem Präprozessor) und nicht erst bei der Kompilierung (d.h. mit Templates) ausgelöst werden. Auch hier gilt (wie eigentlich immer) „je früher desto besser“. Etwas, was zur Kompilierzeit feststeht, implementiert ja auch niemand mittels Polymorphie zur Laufzeit; ebenso sollte man etwas, was vor der Kompilierzeit feststeht (wie nun einmal Build-Settings) auch nicht mittels Templates, sondern mit dem Präprozessor lösen. Eine Ausnahme davon mag nun einmal dadurch gegeben sein, dass der Präprozessor nicht alles kann, Templates (wenn auch mit Verkrampfungen) schon; diese Ausnahme ist hier jedoch nicht gegeben. Da gibt es nicht mehr Potenzial, Krishty ;)

Allerdings hat mir der dortige Kommentar von Garett Bass sehr gut gefallen - mir war natürlich das Konkatenieren mit dem Präprozessor wohlbekannt, aber das auch im #include zu verwenden, ist mir bisher nicht eingefallen. Bei wenigen Dateien natürlich Overkill.

Ich bin übrigens auch dafür, die Links im ersten Post zu sammeln; diese Links werden aufgenommen, sobald die Diskussion oder allgemeines Nicht-Diskutieren zur Annahme geführt haben (d.h. fast immer). Beispielsweise hat sich der von mir gepostete Link wohl bereits disqualifiziert.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.06.2011, 23:52
von Chromanoid
So hab die Links mal gesammelt. Irgendwie brauchen wir, so glaube ich, dennoch auf lange Sicht eine Art durchsuchbares Directory System... Links werden ab jetzt nur noch aufgenommen, wenn sie das Format vom ersten post einhalten. Wenn ich was vergessen habe, einfach nochmal posten oder mir ne PM schreiben, aber bitte im richtigen Format... Alle die sonst auch Moderator-Rechte haben, können gerne in meinem Post rumeditieren.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 29.06.2011, 00:32
von Seraph
Die aktuelle Linkliste ist imho viel zu sehr mit unnoetigem Kram aufgeblaeht. Die Beschreibungen kann man doch fast immer auch schon am Link-Text selbst ablesen. Evtl. koennte man noch das Datum und den Autor hinzufuegen, wobei ich das nun nicht unbedingt als so wichtig empfinde. Wenn ich selbst nach einem bestimmten Thema suche dann gehe ich nach dem Text und der Autor und das Datum kommen erst spaeter. Suche ich nach etwas von einem bestimmten Autor hilft mir Google oder jede beliebige andere Suchmaschine da sicher auch weiter.

Warum nicht einfach

Kategorie 1
  • interessanter Artikel hier
  • toller Artikel da
  • bombastischer Artikel
  • bla bla bla
Kategorie 2
  • interessanter Artikel hier
  • toller Artikel da
  • bombastischer Artikel
  • bla bla bla
Eigentlich ist es eine doofe Idee in diesem Thema eine Diskussion anzufangen, aber Du kannst meinen Post ja ggf. wieder loeschen. :P

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 29.06.2011, 00:38
von Chromanoid
Chromanoid hat geschrieben:Alle die sonst auch Moderator-Rechte haben, können gerne in meinem Post rumeditieren.
;)
Mir ist es recht egal. Ich habe nur keine Lust das Zeug immer zu sortieren etc.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 29.06.2011, 02:47
von dot
Nur zur Info: Der Link zum Artikel Deferred Rendering Demystified is broken ;)

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 29.06.2011, 02:50
von Seraph
Danke, habe ihn korrigiert.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 02.07.2011, 13:36
von Krishty
A trip through the Graphics Pipeline 2011, part 1
Eine Erklärung, wie die Draw-Calls zur GPU rieseln.

part 2
Wie sie den Command-Buffer erreichen und wie mit der CPU interagiert wird.

part 3
Welche Shader-Einheiten durchlaufen werden und wie sie aufgebaut sind.

part 4
Wie Texturen gesamplet werden.

part 5
Input Assembly und Viewport Clipping.

part 6
Rasterisierung.

part 7
Depth/Stencil Buffering.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.07.2011, 15:00
von eXile
Physically-Based Real-Time Lens Flare Rendering.
Matthias B. Hullin, Elmar Eisemann, Hans-Peter Seidel and Sungkil Lee.
To appear at SIGGRAPH 2011. Patent pending.

Die beim Hans-Peter Seidel haben mal wieder was schönes gebastelt. Das mit der Patentierung kann ich schon rein wissenschaftlich nicht verstehen, es ist mir aber egal, da es ja nur ein gewerbliches Schutzrecht ist.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 23.07.2011, 10:56
von CodingCat
I’d have thought that most people in game development know how percentages work, but it seems to happen all the time when people look over my shoulder at the profiler graph: “Hey, physics is using 30% of your frame time – it was only using 10% when I looked a few hours ago. Did you break something?”
Nicht wirklich weltbewegend, aber unterhaltsam geschrieben, und man kann nie oft genug klar machen, dass die Bildwiederholrate kein geeignetes Messinstrument für Performance ist:
When they said “numbers don’t lie,” they were lying

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 23.07.2011, 11:49
von eXile
CodingCat hat geschrieben:Nicht wirklich weltbewegend, aber unterhaltsam geschrieben, und man kann nie oft genug klar machen, dass die Bildwiederholrate kein geeignetes Messinstrument für Performance ist:
When they said “numbers don’t lie,” they were lying
Absolut. Lustigerweise haben die in dem von mir zuvor geposteten Paper auch falsch gemacht. Und zwar:
eXile hat geschrieben:Figure 17 aus dem Paper: Auf „normal quality“ schafft das 20.6 fps. Ich will mich jetzt gar nicht darüber aufregen, dass die das in fps angeben, und in ms (und zwar nur die Rechenzeit für das Verfahren, nicht den Rest). Und auch nicht, dass das in der Siggraph unter „Real-Time Rendering Hardware“ läuft (hey, man kann auch Daumenkino auf „Real-Time Rendering Hardware“ machen!). Sondern, dass die „hundreds of fps“ versprechen, und nur wieder Schall und Rauch liefern. […]
Das in ms anzugeben ist so grundlegend, dass man das eigentlich vom Prof. schon nach dem ersten Draft um die Ohren gehauen bekommen müsste. Und zwar die Rechenzeit für das Verfahren pro Frame selber, und nicht die Gesamtrechenzeit pro Frame, oder Gesamtbildwiederholrate. Aber was will man machen. Ich sehe ja immer noch fps statt Hz, und MB wenn eigentlich MiB gemeint ist.

(Damit erübrigen sich auch so unsinnige Aussagen wie „hundreds of fps“, was alles zwischen 10 ms und 0 ms sein kann. Welche dann doch auch nicht in den meisten Fällen erreicht werden.)

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 26.07.2011, 13:46
von eXile
Deferred Screen Space Directional Occlusion.
Yuriy O'Donnell, graphics programmer at Creative Assembly UK.
Published online.

Precision & Performance: Floating Point and IEEE 754 Compliance for NVIDIA GPUs.
Nathan Whitehead and Alex Fit-Florea, NVIDIA Corporation.
Published online.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.07.2011, 13:39
von IlikeMyLife
bin per Zufall bei Google nach dem Stichwort "Shader" drauf gestoßen :-)

http://www.online-tutorials.net/directx ... -7-77.html

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.07.2011, 14:27
von Aramis
Bisschen veraltet, was? :-) Zum Glow-Effekt:
Eine andere Hardcoremethode, die aber schöner ist und eine "Aura" bietet, wäre, das Objekt in eine Textur zu zeichnen und dann die Textur nachzubearbeiten indem ausgewählte Farbbereiche "verschmiert" werden. Diese Methode würde aber für die aktuelle Rechenleistung zu viel werden.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 28.07.2011, 14:35
von Krishty
Zumindest ist es vom Implementierungsaufwand her einfacher als sowas.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 31.07.2011, 11:55
von CodingCat
What does C++ do better than D? - u.a. mit Antworten von Andrei Alexandrescu, D-Mitentwickler und Autor von Modern C++ Design.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 04.08.2011, 18:22
von eXile
eXile hat geschrieben:Aber leider gibts noch kein ganzes Paper.
Nun schon.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 21.08.2011, 11:09
von Tejio
Realisierung verschiedener KI-Techniken in einem Computerspiel, Alexander Rudolph, Webseite, Fund am 20.08.2011
Implementierung verschiedener KI-Techniken, wie sie häufig für Spiele eingesetzt werden. Auf jeden Fall ein Blick wert ;)

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.08.2011, 09:08
von joggel
Ich mach heute mal einen auf Streber:
Bei der Adresse ist zwei mal "http:" vorhanden...

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.08.2011, 10:33
von Tejio
Danke für den Hinweis! Ich hab den Fehler auch gleich korrigiert.