Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

rootnode

Frischling

  • »rootnode« ist der Autor dieses Themas

Beiträge: 92

Wohnort: Aachen, Pontstraße

Beruf: Student

  • Private Nachricht senden

1

08.01.2008, 16:33

HRTP - Hyperion Ray Tracing Project

So, ich schmeiß mich mit meinem Hauptprojekt auch mal in die illustre Runde der Projekt-Präsentationen.

Also, HRTP soll mal ein Raytracerwerden, befindet sich aber noch in Entwicklung, daher kann ich hier leider (noch) keine Screens zeigen.

Der ganze Raytracer ist sehr Modular aufgebaut und durch Plugins beliebig erweiterbar. Jede Material-Art ist ein Plugin, selbst grundlegende Formen wie Spheres oder Cones sind Plugins.

Zu finden ist das Projekt unter https://sourceforge.net/projects/hrtp/

Wenns was zu sehen gibt melde ich mich wieder ^^

rootnode

Frischling

  • »rootnode« ist der Autor dieses Themas

Beiträge: 92

Wohnort: Aachen, Pontstraße

Beruf: Student

  • Private Nachricht senden

2

09.01.2008, 11:44

Ah, vollkommen vergessen, es gibt natürlich auch eine Dokumentation zu dem ganzen Projekt. Die ist zu finden unter http://rootnode.de/hrtp_doc/index.html

rootnode

Frischling

  • »rootnode« ist der Autor dieses Themas

Beiträge: 92

Wohnort: Aachen, Pontstraße

Beruf: Student

  • Private Nachricht senden

3

15.01.2008, 17:10

Wie David im Chat schon bemerkte ist das ganze Projekt ein Rewrite von pbrt mit offizieller Erlaubnis von Matt Pharr.
Dieser Rewrite wird eine andere, organisiertere Struktur erhalten sowie weitere Features.

Solche wären z.B. Parallelisierung (für Multi-Cores), ein Script-Plugin um eigene Plugins auch ohne das Erstellen einer Dll zu ermöglichen, und weitere.

Wer Vorschläge hat, bitte einfach hier reinposten.

Es gibt auch Statistiken zum Projekt, die hierzu finden sind.

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

15.01.2008, 19:56

Zu sehen gibt es ja noch nicht so viel, klingt aber interessant. Kannst du egtl bei einem Raytracer was aus deiner Graka rausholen, vielleicht mal abgesehen von Shadern die Funktionen ersetzen, oder musst du echt alles per Hand zeichnen?

PS Dein Avatar gefällt mir :)

rootnode

Frischling

  • »rootnode« ist der Autor dieses Themas

Beiträge: 92

Wohnort: Aachen, Pontstraße

Beruf: Student

  • Private Nachricht senden

5

15.01.2008, 19:59

Es läuft alles pur über software, als nichts über OpenGL oder DirectX.
Es sind aber ein paar Plugins geplant die die Parallelität der Shader nutzen um die ganzen Vektor- und Matrizenrechnungen zu machen um während der Berechnung des Bildes die CPU zu entlasten.

Das Projekt an sich ist soweit Standalone und hat als Dependencies später nur:

- libEXR (oder bis dahin evtl eine andere Image-Library)
- OpenMP (für die Parallelisierung)
- libCpuDetect (eigens erstellte Library um zu überprüfen wie viele Cores zur Verfügung stehen und ob Hyperthreading von der CPU supported wird um den Raytracer auf maximale Performance einstellen zu können)

Zitat

PS Dein Avatar gefällt mir Smile
Thx

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

6

15.01.2008, 21:01

Zitat von »"rootnode"«

Es sind aber ein paar Plugins geplant die die Parallelität der Shader nutzen um die ganzen Vektor- und Matrizenrechnungen zu machen um während der Berechnung des Bildes die CPU zu entlasten.


was meinst du denn mit 'parallelität von shadern'?
und überhaupt würe ich vermuten, dass es recht umständlich ist, die rechenrelevanten daten überhaupt den shadern zugänglich zu machen.
zudem müsstest du die szene mehrmals rendern, da bei jedem durchlauf immer wieder strahlen erzeugt werden, die die shader verarbeiten müssten.
auch wenn die shader speziell für vektor/matrixberechnungen optimiert sind, würde ich doch lieber die simd funktionen der cpu voll ausreizen anstatt auf shader zu setzen.
prinzipiell habe ich aber keine ahnung, deshalb lasse ich mich gerne eines besseren belehren =)
"Don't trust your eyes: They are a hell of a lot smarter than you are"

rootnode

Frischling

  • »rootnode« ist der Autor dieses Themas

Beiträge: 92

Wohnort: Aachen, Pontstraße

Beruf: Student

  • Private Nachricht senden

7

15.01.2008, 21:15

Shader sind hoch parallelisierte Einheiten.
Und wieso immer wieder neu rendern?
Ich schick nur die Sachen ie ich grad brauch an den Shader :D
Egal, das is erst für ganz ganz spät geplant.
Es ist ja alles durch Plugins erweiter- und ersetzbar.
Ja, SIMD wird auch Einzug halten.

Bisher sind als Beschleuniger-Plugins übrigens geplant:
- Grid
- KD-Tree

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

8

15.01.2008, 21:51

Es wäre jedoch sinnvoll, das man die Berechnung udrch die Shader-einheiten der GPU auch abstellen kann, denn die GPU hat keine so hohe genauigkeit, wie die CPU(Ist ja einer der gründe, warum man z.b. bei professionellen animationen einen ray-tracer verwendet - wegen der quali).

Socke

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

15.01.2008, 21:54

Neue Grafikkarten können bereits mit 32-Bit-Genauigkeit rechnen (float nach IEEE-Standard).
Nur double beherrschen sie noch nicht.
Aber selbst PBRT benutzt nur float.

Und dass man Raytracer benutzt, hat nichts mit der Genauigkeit von Zahlen zu tun. Mit Raytracern kriegt man einfach viel realistischere Beleuchtung, Reflexionen, Schatten usw. hin!

rootnode

Frischling

  • »rootnode« ist der Autor dieses Themas

Beiträge: 92

Wohnort: Aachen, Pontstraße

Beruf: Student

  • Private Nachricht senden

10

15.01.2008, 21:54

Zitat von »"Faule Socke"«

Es wäre jedoch sinnvoll, das man die Berechnung udrch die Shader-einheiten der GPU auch abstellen kann, denn die GPU hat keine so hohe genauigkeit, wie die CPU(Ist ja einer der gründe, warum man z.b. bei professionellen animationen einen ray-tracer verwendet - wegen der quali).

Socke


Wie gesagt, läuft alles über Plugins. Du kannst später in der Scene-File angeben welches Plugin zum Rendern genutzt werden soll. Hast dann also die Wahl zwischen GPU und CPU.

So, hier mal ein ungefährer Releasetermin für die erste Version die auch imstande ist etwas zu rendern: Ungefähr März/April.

Werbeanzeige