Artikelempfehlungen, interessante Publikationen o.Ä.

Hier können Artikel, Tutorials, Bücherrezensionen, Dokumente aller Art, Texturen, Sprites, Sounds, Musik und Modelle zur Verfügung gestellt bzw. verlinkt werden.
Forumsregeln
Möglichst sinnvolle Präfixe oder die Themensymbole nutzen.
Alexander Kornrumpf
Moderator
Beiträge: 2110
Registriert: 25.02.2009, 13:37

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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?
Benutzeravatar
Krishty
Establishment
Beiträge: 8237
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

Genau. Ist es aber nicht.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4256
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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 ^^
Benutzeravatar
Krishty
Establishment
Beiträge: 8237
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4256
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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 ^^
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Platform Abstraction with C++ Templates
Ist jetzt absolut nichts weltbewegendes, aber einmal durchlesen schadet nun auch nicht.
Jaw
Beiträge: 54
Registriert: 14.07.2004, 01:00
Wohnort: Raum Düsseldorf

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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
Benutzeravatar
Krishty
Establishment
Beiträge: 8237
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
joggel

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
Benutzeravatar
Krishty
Establishment
Beiträge: 8237
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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).
Zuletzt geändert von Krishty am 28.06.2011, 17:29, insgesamt 1-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
joggel

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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:
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4256
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
Seraph
Site Admin
Beiträge: 1174
Registriert: 18.04.2002, 21:53
Echter Name: Steffen Engel

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4256
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von dot »

Nur zur Info: Der Link zum Artikel Deferred Rendering Demystified is broken ;)
Seraph
Site Admin
Beiträge: 1174
Registriert: 18.04.2002, 21:53
Echter Name: Steffen Engel

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Seraph »

Danke, habe ihn korrigiert.
Benutzeravatar
Krishty
Establishment
Beiträge: 8237
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.)
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von IlikeMyLife »

bin per Zufall bei Google nach dem Stichwort "Shader" drauf gestoßen :-)

http://www.online-tutorials.net/directx ... -7-77.html
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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.
Benutzeravatar
Krishty
Establishment
Beiträge: 8237
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

Zumindest ist es vom Implementierungsaufwand her einfacher als sowas.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

What does C++ do better than D? - u.a. mit Antworten von Andrei Alexandrescu, D-Mitentwickler und Autor von Modern C++ Design.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

eXile hat geschrieben:Aber leider gibts noch kein ganzes Paper.
Nun schon.
Tejio
Establishment
Beiträge: 107
Registriert: 11.11.2010, 11:33

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag 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 ;)
Zuletzt geändert von Tejio am 22.08.2011, 10:32, insgesamt 1-mal geändert.
joggel

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von joggel »

Ich mach heute mal einen auf Streber:
Bei der Adresse ist zwei mal "http:" vorhanden...
Tejio
Establishment
Beiträge: 107
Registriert: 11.11.2010, 11:33

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Tejio »

Danke für den Hinweis! Ich hab den Fehler auch gleich korrigiert.
Antworten