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

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

[Video] Andrei Alexandrescu - Three Optimization Tips for C++. Tatsächlich weit mehr als drei, und mindestens so viel zu CPUs wie zu C++.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

Robust Image Denoising using a Virtual Flash Image for Monte Carlo Ray Tracing - Verbessertes Denoising von Monte-Carlo-Ray-Tracing-Ergebnissen durch Einfügen eines intermediären Kamera-Blitzlichtes, das beim Denoising hilft, aus dem Endergebnis aber wieder herausgerechnet wird. Die Ergebnisse sehen beeindruckend aus, insbesondere in den dunklen Bildbereichen, in denen Noise oftmals besonders schwer in den Griff zu bekommen ist, scheint dieser Ansatz zu glänzen. Die Grundidee ist, an Stelle von Farb- oder G-Buffer-Daten das Feedback des Lichtes (inklusive des zusätzlichen Blitzlichtes) zu nutzen, um Noise von Bildelementen unterscheiden zu können. Damit lassen sich beim Blurren auch Reflexionen und Refraktionen (Geometrie in mehreren Ebenen!) berücksichtigen, welche sich in einem G-Buffer schwerlich umfassend speichern lassen. Die Reaktion auf das Licht enthält gewissermaßen sowohl Farbgebung als auch Geometrie der sichtbaren Szene, ähnlich der Signalantwort auf ein Testsignal in der Systemtheorie.

Nachtrag: Projektseite inklusive Video, sogar mit nahezu noisefreier Animation bei 16 Path Tracing Samples. Allerdings scheinen bei den Fliesen etwas später beim Denoising auch etwas die hochfrequenten Details verloren zu gehen.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

Fixing cache issues, the lazy way und Frustum culling: turning the crank von ryg zeigen wunderbar deutlich, wie man bestehenden, objektorientierten Quelltext durch datenorientierte Optimierung um ein Vielfaches schneller macht.
we’re talking less than 10 lines of code changed for all the improvements in this post. Total.
… was zwar nicht heißt, dass der Text schöner wurde; aber wem der Schuh drückt …

(Die Beiträge stammen aus einer großen Serie über das Refactoring eines Intel-Beispielprojekts, aber man kann die beiden Beiträge ruhig isoliert lesen.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von antisteo »

Ein Torrent-Link

Code: Alles auswählen

magnet:?xt=urn:btih:fabf08e38d8c43ea88f5f51e26fb2139bc769491&dn=28c3-4722-de-dick_size_war_for_nerds_h264.mp4&tr=http%3A%2F%2Fexodus.1337x.org%2Fannounce
von einem Battle vim vs emacs vs sed, der typische Schwanzvergleich. Absolut genial.
Dateigröße: 700 MB
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Making it in Indie Games: Starter Guide, Derek Yu, Make Games, 27.02.2013
Praktische Tipps für angehende Indiespieleentwickler von einem, der es wissen muss.
[via Gamasutra]
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

In der Woche vom 25. bis 29. März 2013 gab's wieder die GDC. Ich habe mal den Schedule durchgearbeitet, bis dato die Twitter-Nachrichten und Autoren-Seiten ausgewertet, und ein paar interessante Talks herausgefunden. Als Disclaimer muss ich dazusagen, dass meine Auswahl natürlich sehr subjektiv ist; ich kann ja nicht ahnen, was die anderen interessant finden. Und so hat die folgende Liste einen starken Programmier- und Graphikentwicklungsschwerpunkt. Entschuldigung an jeden, der sich damit nicht anfreunden kann. ;)

Leider ist es so, dass es, wie in den letzten Jahren auch, erstmal mit den Veröffentlichungen der Präsentationen sehr, sehr schleppend vorangeht – dementsprechend ist die Quellenliste noch ziemlich leer. Die Erfahrung der letzten Jahre hat aber gezeigt, dass das Meiste in den nächsten drei Wochen verfügbar sein sollte. Die Liste wird dann von mir, sobald ich irgendetwas abschnorcheln kann, umgehend aktualisiert und ergänzt.

Zumindest bietet die Liste wohl einen ganz guten Anhaltspunkt, was es so interessantes gab, und nach welchen Präsentationen man überhaupt Nachforschungen anstellen könnte.

Monday:
  • Advanced Visual Effects with DirectX 11—schedulepresentation
    • DirectX 11 Performance Reloaded - Nick Thibieroz (AMD) and Holger Grun (NVIDIA)
      pagepresentation
    • Particle Shadows and Cache-Efficient Post-Processing - Louis Bavoil (NVIDIA)
      pagepresentation
    • DirectCompute for Gaming : Supercharge your engine with Compute Shaders - Stephan Hodes and Layla Mah (AMD)
      pagepresentation
    • A Survivor Reborn: Tomb Raider on DX11 - Jason Lacroix (Crystal Dynamics)
      pagepagepresentation (PPTX)presentation (PDF)
    • The Rendering Technologies of Crysis 3 - Tiago Sousa (Crytek)
      pagepagepresentation
    • Tiled Rendering Showdown: Forward++ vs. Deferred Rendering - Jason Stewart and Gareth Thomas (AMD)
      pagepresentation
    • D3D11 Deferred Contexts: Primer & Best Practices - Bryan Dudash (NVIDIA)
  • Math for Game Programmers—schedulepage
    • Interpolation and Splines - Squirrel Eiserloh (The Guildhall at SMU)
    • Matrix Transformations - Squirrel Eiserloh (The Guildhall at SMU)
    • Understanding Quaternions - Jim Van Verth (Google)
      presentation
    • Dual Numbers - Gino van den Bergen (Dtecta)
      presentation
    • Orthogonal Matching Pursuit and K-SVD for Sparse Encoding - Robin Green (Microsoft) and Manny Ko (Imaginations Technologies)
      presentation
    • Computational Geometry - Graham Rhodes (Applied Research Associates Inc.)
    • Interaction with 3D Geometry - Stan Melax (Intel)
Tuesday:Wednesday:Thursday:
  • NVIDIA Nsight Visual Studio Edition 3.0 - Catzilla Engine Development in DirectX 11 and OpenGL 4.2 (Presented by NVIDIA)
    schedulepagepresentation
  • LOD Techniques for Boosting Rendering Performance (Presented by Simplygon)
    schedule
  • Postmortem: GPU Accelerated Effects in Borderlands 2 (Presented by NVIDIA)
    schedulepagevideo
  • Sand Rendering in Journey
    schedule
  • Breaking the Rules on a GPU (Presented by Intel Corporation)
    schedulepagepresentation
  • Porting Source to Linux: Valve's Lessons Learned (Presented by NVIDIA)
    schedulepagepresentation
  • Cross-Platform Game Development: Best Practices Learned from Unreal, Unity, and Others (Presented by Intel Corporation)
    schedulepagepresentation
  • Enhancing Hawken and PlanetSide 2 Through Turbulence and Destruction (Presented by NVIDIA)
    schedulepage
  • GPU Rigid Body Simulation
    schedule
  • Powering up Destiny's Level Creation and Rendering with Umbra 3 (Presented by Umbra Soft)
    schedule
  • Rendering Tricks in Dead Space 3
    schedule
  • Low-Level Thinking in High-Level Shading Languages
    schedulepagepresentation (PPTX)presentation (PDF)
  • Relighting Forge in Halo 4: Just-In-Time Lighting of User Generated Content
    schedule
  • Why Render Hidden Objects? Cull Them With a Software Depth-Buffer Rasterizer! (Presented by Intel Corporation)
    schedulepagepresentation
  • Why Virtual Reality Is Hard (And Where It Might Be Going)
    schedulepresentation
  • What We Learned Porting Team Fortress 2 to Virtual Reality
    schedulepagepresentation
Friday:
  • Eliminating Texture Waste: Borderless Realtime Ptex
    schedulepagepresentation
  • LOD Techniques for Boosting Rendering Performance (Presented by Simplygon)
    schedule
  • Rendering Assassin's Creed III
    schedule
  • Practical Implementation of Light Scattering Effects Using Epipolar Sampling and 1D Min/Max Binary Trees
    schedulepagedemo+source
Sessions: Wie gesagt: Sobald hier mehr reinkommt, wird das umgehend erweitert. Ich bin um jeden Hinweis (am besten hier im Thread gepostet) dankbar!
Zuletzt geändert von eXile am 21.04.2013, 21:56, insgesamt 23-mal geändert.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Und noch unabhängig von der GDC ein paar Sachen, die ich heute gefunden habe:

Adaptive Volumetric Shadow Maps
Robert Svilpa

Rational BRDF
Romain Pacanowski, Oliver Salazar-Celis, Christophe Schlick, Xavier Granier, Poulin Pierre, Cuyt Annie
TVCG 2012

Adaptive Transparency
Aaron Lefohn
HPG 2011
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Schrompf »

Exzellente Zusammenstellung! Danke für Deine Arbeit! Allerdings besagt bei "Next Generation Character Rendering" sowohl Dateiname als auch die Webseite, dass das nur ein "Teaser" sei. Falls es unvollständig ist, wäre es damit wertlos.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Schrompf hat geschrieben:Allerdings besagt bei "Next Generation Character Rendering" sowohl Dateiname als auch die Webseite, dass das nur ein "Teaser" sei. Falls es unvollständig ist, wäre es damit wertlos.
Ja, das ist mir wohlbekannt. Vielleicht hätte ich das auch mal hinschreiben sollen. ;) Die obige Liste soll zu jedem Zeitpunkt die beste Näherung an eine vollständige Liste sein, damit kommen auch erstmal Previews mit rein.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Artificial Mind »

Auch wenn einige Links davon sicher schon gepostet wurden: DICE Publications (Entwickler von Battlefield und Mirror's Edge)
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Die Suche nach Präsentationen von der GDC 2013 ist von meiner Seite erst einmal beendet – auch wenn leider da oben noch einige Lücken klaffen (I'm looking at you, Bungie!). Jedoch ist in den letzten Tagen einfach nichts neues mehr gekommen. Vermutlich schau ich in einem Monat wieder vorbei, was sich so getan hat. An dieser Stelle möchte ich auch noch einmal ausdrücklich Javier Arévalo Baeza danken, welcher einige Artikel aufgestöbert hat, die ich vergessen habe; und auch umgekehrt (siehe dortige Blog-Kommentare) ;).

Selbst wenn ihr gar keine Zeit haben solltet: Auf jeden Fall die Präsentation Low-Level Thinking in High-Level Shading Languages anschauen; die ist sehr abgeschlossen und ein absolutes Highlight der GDC 2013. Los!
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Skyrim’s Modular Approach to Level Design, Joel Burgess, 19.04.2013
Lesenswerter Artikel über die Hindernisse und Vorteile, die ein modularer Ansatz beim Level Design mit sich bringt.
[via Gamasutra.com]
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

Virtuality - Uralt, mir bisher dennoch entgangen. Kurzzusammenfassung: Um öffentliche Schnittstelle und durch abgeleitete Klassen spezialisierbares Verhalten zu trennen, virtuelle Methoden private deklarieren; es sei denn, Wiederverwendung des Basisverhaltens durch abgeleitetes Verhalten explizit erwünscht, dann protected. öffentliche Schnittstelle hingegen non-virtual.
So lässt sich leicht fix spezifiziertes Verhalten in der Basisklasse erzwingen. Die geschützten virtuellen Methoden werden in der Basisimplementierung der öffentlichen Schnittstelle zum richtigen Zeitpunkt aufgerufen und ermöglichen so anpassbares Verhalten in strengem Rahmen. Dieses Muster ist keineswegs erstaunlich oder neu, die Vorzüge sind intuitiv ersichtlich. Dennoch war mir die Umsetzung über private virtual-Methoden bisher nicht geläufig.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

War für mich auch neu. Wenn ich noch virtuelle Funktionen hätte, würde ich sie nun anpassen.
Guideline #4: A base class destructor should be either public and virtual, or protected and nonvirtual.
Ebenfalls großartig!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
spobat
Beiträge: 86
Registriert: 13.09.2010, 00:20
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von spobat »

Natuerlich, das Event des Jahres (zumindest fuer mich *gg*): Die Google I/O.
Es gibt so viel von dem die "Newsseiten" nicht berichten... vielleicht bin ich auch einfach nur auf den Falschen..
D3DX
Beiträge: 36
Registriert: 17.10.2010, 14:06
Echter Name: Marco
Wohnort: 58119 Hagen (NRW)

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von D3DX »

Da ich mich gerade selber mit der Netzwerk/Multiplayer-Lib RakNet beschäftige
und auf der Suche nach guten Tutorials war, möchte ich meine Ergebnisse gerne teilen.

Es existiert auf YouTube ein Channel von Kendoge1234, in dem ausführlich RakNet erklärt wird.
Es bezieht sich in dem Fall auf die Leadwerks-Engine, ist aber allgemein anwendbar.

Wer also Lust auf diese Tutorial-Videos hat, der findet diese hier im Channel.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

Krompression von Sparse Voxel Octrees zu Sparse Voxel Directed Acyclic Graphs. Die Idee ist so naheliegend wie genial: SVOs werden bottom-up minimiert, indem Unterbäume mit gleicher Struktur zu einem verschmolzen werden. Die Struktur ist dabei einfach rekursiv durch die binären Voxelwerte aller enthaltenen Voxel definiert. Der jeweils beschriebene Raum lässt sich ganz normal aus der Baumstruktur rekonstruieren, d.h. gleiche Unterbäume werden beim Traversal quasi implizit an verschiedenen Stellen instantiiert. Das SVDAG-Traversal ist obendrein nicht bedeutend langsamer als bisherige SVO-Traversal-Implementierungen.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Schrompf »

Die Idee ist in der Tat naheliegend, aber mir war bisher keine Methode bekannt, wie man effizient identische Strukturen in den Datenmengen finden könnte. Meine Versuche in der Richtung liefen jedesmal darauf hinaus, dass ich schon für kleinste Teilbäume für die Indizierung mehr Speicher brauchte, als ich nachher eingespart habe. Mal schauen, was das Paper dazu sagt.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von kimmi »

Das klingt sehr nach der Substruktur-technik, die in der finiten Elemente Analyse benutzt werden Auch hier werden gleiche Bereiche von Steifigkeitsmatrizen einfach wiederverwendet.

Gruß Kimmi
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Global Illumination with Radiance Regression Functions
Peiran Ren, Jiaping Wang, Minmin Gong, Stephen Lin, Xin Tong, Baining Guo
SIGGRAPH 2013

Man fittet einfach ein (oder mehrere) neuronale Netze an die indirekte Beleuchtung.
Bild

Geht auf einem 200-Rechner-Cluster mit je 2×Quadcore-Xeon-Prozessoren und 16 GB RAM schon in dreieinhalb Stunden. Dafür hat man bei statischer Geometrie für beliebige Lichter und beliebige BRDFs die globale Illumination in Echtzeit sehr gut approximiert.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

Wow. Da habe ich mich gerade neulich noch mit Krishty darüber unterhalten, mit welch fantastischem Realismus manche Maler schon lange vor Aufkommen der Computergrafik in ihren Bildern Schattierung, indirekte Beleuchtung und Tonemapping umgesetzt haben; dann in all dem Chaos wieder das entscheidende Ordnungselement nicht gesehen. Zum Glück schaut die Welt mit vielen Augen, und nicht mit allen nur auf den Datenverkehr.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Ja, das finde ich auch ziemlich interessant. Wenn wir uns etwas bildlich vorstellen, wandert diese Vorstellung ja ziemlich weit den visuellen Cortex "hoch", ich meine man konnte vorgestellte Bilder sogar schon rudimentär aus MRI-Scans rekonstruieren. "Neuronales" Rendering oder zumindest eine Art Retusche, wie in diesem Fall, finde ich sehr erforschenswert. BTW neuronale Netze und das Gehirn haben natürlich eher wenig gemeinsam, aber das kann sich ja noch ändern :).
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von eXile »

Sorry, aber das ist doch vollkommener Pseudohumbug, welcher von der KI-Community schon in den 70er- und 80er-Jahren propagiert wurde, und direkt in die KI-Winter geführt hat. Neuronale Netze haben nichts mit solchen Dingen wie „Intelligenz“ oder „Geist“ zu tun. Es handelt sich nur um eine Berechnungsvorschrift einer Funktion. Wie immer bei irrationalen Überzeugungssystemen ist der beste Weg, dies zu zeigen, einfach das Problem zu erklären, und analytisch-rational zu untersuchen.

Wir haben also ein Problem, das gelöst werden muss: Es gibt eine hochgeradig nicht-lineare Funktion, an welche wir eine einfach zu berechnende Funktion fitten wollen. Namentlich ist die hochgeradig nicht-lineare Funktion hierbei zufälligerweise die indirekte Beleuchtung unserer Szene. Nun muss man die Funktion, die das Ergebnis unseres Fittings sein soll, irgendwie parametrisieren.

Dazu nehmen wir beispielsweise eine Funktion \($\Phi_{N}^{i}:\mathbb{R}^{n}\times\mathbb{R}^{m}\to\mathbb{R}^{3}$\) der Gestalt\($$\Phi_{N}^{i}(\mathbf{x},\mathbf{w})=w_{i0}^{3}+\sum_{j>0}w_{ij}^{3}\cdot\sigma\Big(w_{j0}^{2}+\sum_{k>0}w_{jk}^{2}\cdot\sigma\big(w_{k0}^{1}+\sum_{l=1}^{9}w_{kl}^{1}x_{l}\big)\Big)$$\)mit\($$\sigma(x)=(1+e^{-x})^{-1}\text{.}$$\)Dabei ist \($\mathbf{x}=(\mathbf{x_{p}},\mathbf{v},\mathbf{l},\mathbf{n},\mathbf{a})$\) ein Parameter-Tupel für eine bestimmte Position in der Welt \($\mathbf{x_{p}}$\), gesehen vom View-Vektor \($\mathbf{v}$\), beleuchtet aus Richtung \($\mathbf{l}$\) mit Normale \($\mathbf{n}$\) und BRDF-Parametern \($\mathbf{a}$\) (im Falle einer Blinn-Phong-BRDF wäre beispielsweise \($\mathbf{a}=(k_{d},k_{s},\alpha)$\) – nach meinem Dafürhalten wäre damit \($n=2+2+2+2+3=11$\), das Paper sagt, es wären mehr; sei es drum). Der zweite Parameter \($\mathbf{w}$\) ist ein Gewichtsvektor, der für das Fitting an die originale Funktion verwendet wird. Aus dem Paper kann man schätzen, dass es ca. 500 Gewichte gibt, d.h. \($m=500$\).

Man macht jetzt also einfach ein Least-Squares-Fitting für jeden Punkt \($\mathbf{x}$\) an die originale Funktion. Moment, was ist die originale Funktion? Genau, sie haben einfach die korrekte globale Illumination mit einem Pathtracer in hundert Jahren vorberechnet; grandios. Also gut, wir haben also Samples \($\mathbf{y}$\) für unsere Zielfunktion an der Stelle \($\mathbf{x}$\), und fitten die Gewichte \($\mathbf{w}$\) unserer Funktion daran: \($$E(\mathbf{w})=\sum_{i}\|\mathbf{y}^{i}-\Phi_{N}(\mathbf{x},\mathbf{w})\|$$\) Das Fitting geht einfach mit der dicken Bertha der nichtlinearen Ausgleichsrechnung, dem Levenberg-Marquardt-Algorithmus. Auch hier versteckt sich kein großer Geist: Das ist einfach das schon aus der Schule bekannte Newton-Verfahren on Steroids.

Jetzt haben wir unsere \($\mathbf{w}$\) gefunden. Diese speichern wir beispielsweise in einer Volumentextur oder einem kd-Tree (jeder kd-Tree-Knoten ist ein \($n$\)-dimensionaler Punkt . Dann können wir die Funktion \($\Phi_{N}^{i}(\mathbf{x},\mathbf{w})$\) oben im Pixel-Shader berechnen.

Nur einmal angenommen, es stecke ein größerer Geist dahinter: Dann wäre das auch bei anderen Funktionsvorschriften der Fall, denn eine Funktionsvorschrift ist einfach eine Berechnungsvorschrift; da drin kann keine von Menschenhand hineingedachte Intelligenz stecken. Also gut, nehmen wir einfach ein paar Gaußfunktionen: \($$\Phi_{N}^{i}(\mathbf{x},\mathbf{w})=\sum_{i=1}^{k}\exp(-\mathbf{x}^{\mathrm{T}}\cdot\mathbf{A}_{k}(\mathbf{w})\cdot\mathbf{x})$$\) Dabei ist \($\exp$\) das Exponential, und \($\mathbf{A}_{k}$\) eine Matrix, welche von den Gewichten abhängt. Als Parameter haben wir dann die Anzahl der Gewichte \($n$\) und den Cutoff \($k$\). Nun schmeißen wir genauso wie zuvor einfach Levenberg-Marquardt drauf, und kriegen unsere Gewichte, und können die abspeichern und die Sachen rendern.

Der Punkt ist doch der: Die Idee des Papers ist von der Wahl der Parametrisierung der zu fittenden Funktion unabhängig. Das ist hierbei etwas, was den Namen „neuronales Netz“ trägt (aber nur eine Berechnungsvorschrift darstellt); es kann aber auch eine Summe von Gaußfunktionen sein, oder etwas ganz anderes. Doch niemand würde einer Summe von Gaußfunktionen irgendwelche Attribute wie „Intelligenz“ zuweisen; so etwas ist einfach nicht für eine Funktion definiert. Dafür dürft ihr euch bei populärwissenschaftlichen Magazinen (mit Journalisten, die nur ihr Brot verdienen wollen, und von der Materie eher wenig Ahnung haben) und den ganzen KI-Heinis bedanken, die in ihren Projektanträge vollkommen unangemessene, hochtrabenden Begriffe verwendet haben, um Gelder einzustreichen (und dann in den
KI-Wintern zu verkacken).

Lasst es mich noch einmal krass sagen: Ihr denkt, da wäre etwas, wo in Wahrheit gar nichts ist.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Chromanoid »

Ich stimme Dir ja zu, dass KNNs nur entfernt mit biologischen neuronalen Netzen zu tun haben. Allerdings sind soweit ich weiß gerade die ersten Schichten des visuellen Cortex recht gut erforscht und es sind dort eben doch recht einfache mathematisch nachvollziehbare Mechanismen am Werk. Mit Intelligenz muss das ja nichts zu tun haben. Das Neocognitron ist so ein Beispiel für Mustererkennung. Warum sollte es nicht auch KNNs für's Rendering geben, deren Mechanismen sich an Vorgängen im Gehirn orientieren (sofern sich diesbezüglich Erkenntnisse ergeben)? Dort scheint grafische Darstellung jedenfalls recht gut zu klappen :)...
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von CodingCat »

eXile hat geschrieben:[...] Lasst es mich noch einmal krass sagen: Ihr denkt, da wäre etwas, wo in Wahrheit gar nichts ist.
Oder du denkst, da wäre etwas, wo in Wahrheit gar nichts ist? :P Dass Gehirn und neuronale Netze erstmal nicht allzu viel gemeinsam haben, ist klar. Ob im Gehirn nun tatsächlich ein Geist oder Intelligenz wohnt, oder ob das nur der unglaublich komplexen Zusammensetzung geschuldet ist, sei mal dahin gestellt. Auch dass das Vorgehen nicht an neuronale Netze gebunden ist, ist mir durchaus bewusst; das Paper trägt diese ja nicht mal in seinem unaufgeregt vorgehensbezogenen Titel. Unabhängig davon faszinierte mich eigentlich nur die Herangehensweise, auf dieser Ebene Training/Fitting zu betreiben, deren Maßstab mir ein wenig analog zu der Art und Weise erschien, mit der wir uns beim Malen das Aussehen neuer Kompositionen anhand unserer Erfahrung mit unzähligen bereits gesehenen Lichtverhältnissen und Objektkonstellationen rekonstruieren.

So wie so wieder mal schön, wie du die relevanten Grundlagen kompakt und mit der für den magiefreien Nachvollzug erforderlichen Mathematik in einen kurzen Post gepackt hast. :)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Beitrag von Krishty »

Falls ich das recht verstehe: Wir kennen die Render-Gleichung, die stets das korrekte Ergebnis liefert; können sie aber nicht in endlicher Zeit lösen.

Allgemein verbreitet ist, dass man von der Render-Gleichung ausgeht und sie in berechenbare Gefilde presst während sie physikalisch halbwegs nachvollziehbar bleibt.

Der Ansatz mit dem neuronalen Netz ist, eine Gleichung zu finden, die die Render-Gleichung für die bekannten Fälle möglichst gut annähert, ohne sich Wissen über die Physik zunutze zu machen. Dabei könnte was rauskommen, was der Render-Gleichung ähnlich sieht, oder aber auch komplett anders; Hauptsache, es liegt nah am Ergebnis der Render-Gleichung.

Liege ich da halbwegs richtig?
CodingCat hat geschrieben:So wie so wieder mal schön, wie du die relevanten Grundlagen kompakt und mit der für den magiefreien Nachvollzug erforderlichen Mathematik in einen kurzen Post gepackt hast. :)
seconded
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten