Was ist "Rendern" ?

Na Ja.. Es eignet sich jede neuere CPU, aber je mehr Kerne und mehr Takt, desto schneller renderst du :daumen:
Beim Rendern bringt auch Intels SMT meistens ordentlich was.
Mit deinem Phenom kommst du allerdings auch schon sehr weit, es dauert halt etwas länger als z.B. mit i7's.
 
Hi,

also, ich habe mich mal durchgelesen. Ich finde das sehr interessant:daumen: .

Ich habe mir erst einmal einen groben Überblick verschaffen, die Fachbegriffe werde ich mir später unter die Lupe nehmen :D.



Wie läuft so ein Render-Vorgang den ab? Wird das Bild durch einen Cord erzeugt? Oder steht am Anfang eine Grafik die bearbeitet wird (also wie mit Gimp? Ist Gimp ein Renderer?),... ?

Wenn ihr habt, könnt ihr gerne noch gerenderte Bilder reinstellen!


Vielen Dank und einen schönen Abend,


Tom

Naja, also es gibt keinen geordneten "Rendervorgang". Es kommt eben darauf an, welche Anforderungen du hast. Und nein, GIMP ist ansich kein renderer, außer du benutzt Filter oder Effekte, die vollständig vom PC berechnet werden.
Ein Renderer ist ein Programm, dass den Rendervorgang des PCs steuert. Da gibt es ganz verschiedene.
Jede Grafikengine ist beispielsweise ein Renderer. Das Hauptaugenmerk bei Grafikengines ist ein gutes Verhältnis aus Geschwindigkeit und Realitätsnähe, der Rendervorgang funktioniert mit Rasterisierung.
Rasterisierung ist ein Renderverfahren, das an und für sich erstmal nur die Objekte an deine Mattscheibe klatscht und die Verdeckung der Objekte berechnet. Nur Specularmaps, die "Lichtflecken" auf Objekten, die die Reflektion der Lichtquelle simulieren, sind standardisiert auch auf Rasterbasis möglich. Somit können zwar Bilder erzeugt werden, besonders spektakulär sieht das ganze aber nicht aus :)
Alle Effekte, die du beim Spielen siehst, sind eigendlich nur vorgegaukelt. Eine Spiegelung auf Rasterbasis ist nichts anderes als eine zweite Kamera, die mehrere Bilder in die Umgebung schießt und das daraus gewonnene Bild, die "Environment Map" oder "Cube Map" dann auf das Objekt "klebt" - Ende der Geschichte. Lichtbrechungen funktionieren übrigens genauso. Schatten funktionieren so, dass innerhalb der Lichtquelle wieder eine Kamera sitzt, die erneut ein Bild in die Szene schießt. Die Orte, an denen nur ein Objekt im Bild ist, bleiben weiß, dort, wo sich mehrere Objekte überlappen, wird schwarz dargestellt. Die entstehende Textur wird an die Lichtquelle geschickt, die dann die Szene mit den Schatten ins Bild wirft. (Stell dir das so vor wie einen Beamer oder eine Glühbirne, deren Schutzverglasung du vorher mit lichtdurchlässiger Farbe anmalst! Das Licht der Birne wird dann eben "bunt" - nichts anderes hier.) Sicher ist dir schon aufgefallen, dass Spiegelnde Objekte in Spielen manchmal einfach andere Objekte in der Spiegelung "verschlucken" (bsp: der Spieler sieht sich nicht selber im Spiegel). Das liegt daran, dass Environment Maps NICHT physikalisch korrekt sind. Shadowmaps können auch nur so scharf sein, wie die "Schattenkamera" Pixel hat. eine höhere "Shadowmap"-Auflösung bringt zwar schärfere Schatten, aber ganz perfekt werden sie nie.

Nun zu einer anderen Möglichkeit der Bildsynthese: dem Raytracing. Raytracing wird in Kinofilmen oder Werbespots verwendet, um nur 2 Beispiele zu nennen. Die Vorteile von Raytracing sind 100%ige Realitätsgenauigkeit. In Spielen ist raytracing heute noch nicht angekommen, weil es unglaublich rechenaufwändig ist.
Raytracing ist rückwärtige Strahlenverfolgung. Die Kamera schießt Lichtstrahlen in die Szene, die entweder umgelenkt oder absorbiert werden - so wie in der Realität eben auch. So sind Lichtspiegelungen und Lichtbrechungen sehr einfach realisierbar - die berechneten Lichtstrahlen werden einfach umgenkt und neu berechnet - aber auch Verdeckungen und Schatten sind sehr einfach und zuverlässig lösbar. Schatten ist einfach da, wo kein Licht hinfällt. Was ist einfacher als das?
Auch Kaustiken (die "Lichtflecken" im schatten eines lichtdurchlässigen Objektes, wenn Licht durchfällt, halte mal ne Taschenlampe an ein Glas Wasser...) und Globale Beleuchtung (Objekte strahlen sich gegenseitig an) sind problemlos möglich. Das ganze läuft für jeden Pixel. Da Raytracing rekursiv ist (d.h. ein neuer Sekundärstahl (Spiegelung/ Lichtbrechung/ GI) startet einen neuen Thread und das ganze geht von vorne los. Das ist sehr Arbeitsspeicherlastig, aber es lohnt sich.
Der Gipfel der Realität ist der Luxrender, ein Open Source Renderprogramm, das genau auf physikalische Korrektheit auslegelt ist. Der Overkill daran ist, dass es nicht mit Rot-Grün-Blau Farbwerten rechnet, sondern mit den Wellenlängen des einfallenden Lichts. DAS ist Realitätsgenauigkeit!

So, das waren mal so die Basics der Bilderzeugung, Rasterisierung und Raytracing :)
gRUß, cAPS
 
Zurück