Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

RMRay: ein .net Raytracer

Alle Meisterwerke, die nicht in die anderen Kategorien passen, gehören hier hin. (Film, Spiel usw.)

Moderator: Basti

RMRay: ein .net Raytracer

Beitragvon Rudi Media am 03.07.2011, 21:30

So nach langer Zeit mal wieder etwas von meiner Seite:
Ein Raytracer an dem ich seit kurzem bastel...

Er kann Dateien im .obj Format einlesen und mit atemberaubender Qualität und Geschwindigkeit (Ironie) rendern...
Renderzeit für den Utah-Teapot betrug 95 sekunden! :lol:

Wer Lust hat kann seine eigenen Objekt mal testen; einfach die Datei "body.obj" nennen und ins Verzeichnis der exe packen...
Dateianhänge
TestRender.jpg
TestRender.jpg (97.23 KiB) 370-mal betrachtet
RMRay.rar
Build 1
(20.95 KiB) 3-mal heruntergeladen
Zuletzt geändert von Rudi Media am 04.07.2011, 14:18, insgesamt 1-mal geändert.
http://www.RudiMedia.com
If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it.
(Murphys Gesetz)

Bild
Benutzeravatar
Rudi Media
Mitglied
 
Beiträge: 415
Registriert: 04.05.2008, 16:44
Wohnort: Schwäbische Alb
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: RMRay: ein .net Raytracer

Beitragvon Christian W. am 04.07.2011, 13:08

Hehe, nicht schlecht, ich probier ihn heut abend mal aus. Willst du das denn noch weiter ausbauen?
Cinema R13, Photoshop CS2
Benutzeravatar
Christian W.
3D Moderator
 
Beiträge: 1768
Registriert: 23.10.2006, 01:13
Wohnort: NRW

Re: RMRay: ein .net Raytracer

Beitragvon Rudi Media am 04.07.2011, 14:15

Jo, gibt ja noch einiges was ich einbauen kann...
Is ziemlich interessant nach vielen Jahren des Benutzens endlich mal zu erfahren was da so alles hinter den Kulissen abläuft!

Hab mir mal einen schnelleren Algorithmus für den "point in triangle" Test gesucht und die Renderzeit hat sich dabei auf 47 Sekunden verringert...
Außerdem wird nun die Renderzeit angezeigt und es werden die Punktnormalen interpoliert anstatt die Dreiecksnormalen zu verwenden (glatte Oberfläche)
Dateianhänge
TestRender.jpg
TestRender.jpg (116.39 KiB) 327-mal betrachtet
RMRay.rar
Build 2
(21.3 KiB) 10-mal heruntergeladen
http://www.RudiMedia.com
If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it.
(Murphys Gesetz)

Bild
Benutzeravatar
Rudi Media
Mitglied
 
Beiträge: 415
Registriert: 04.05.2008, 16:44
Wohnort: Schwäbische Alb

Re: RMRay: ein .net Raytracer

Beitragvon Christian W. am 06.07.2011, 00:38

Also, ich habe noch so ein paar Probleme, meine Modelle zu rendern ;) Bei mir kommt dann immer eine Windows-Fehlermeldung, wenn ich das Programm starte. Beispielsweise bei dem Modell im Anhang... Worauf muss ich denn so achten? Oder habe ich es mit einem kleinen Flugzeug vielleicht auch übertrieben? ;)
Interessant finde ich, dass dein Programm scheinbar immer gleich schnell rendert, ob da was zum rendern "da" ist oder nicht
Dateianhänge
body.zip
(107.88 KiB) 9-mal heruntergeladen
Cinema R13, Photoshop CS2
Benutzeravatar
Christian W.
3D Moderator
 
Beiträge: 1768
Registriert: 23.10.2006, 01:13
Wohnort: NRW

Re: RMRay: ein .net Raytracer

Beitragvon Rudi Media am 06.07.2011, 18:02

Hehe, ja mein Content Importer kommt zur Zeit noch sehr leicht ins Straucheln... zum einen hast du bei der Datei keine Normalen mit gespeichert und zum anderen hätte er momentan sowieso noch Probleme wenn es mehr Punkte als Normalen gibt...

Werd das alles noch nachbessern, jedoch hat gerade ein anderes Projekt Vorrang und sollte bis zu meiner Studienfahrt nächste Woche fertig sein :wink:

Dass alles gleichschnell gerendert wird liegt daran, dass das Programm momentan noch ein reiner Raytracer ohne den gewohnten Luxus der Kommerziellen Produkte ist. Das heißt, dass für jeden ausgesendeten Strahl alle vorhandenen Dreiecke auf einen Schnitt geprüft werden müssen. Die Lösungsansätze für dieses grundliegende Problem des Raytracings sind vielseitig, ich habe jedoch schon eine Methode, welche auf dem Einsatz eines Voxelgitters beruht, ins Auge gefasst.
http://www.RudiMedia.com
If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it.
(Murphys Gesetz)

Bild
Benutzeravatar
Rudi Media
Mitglied
 
Beiträge: 415
Registriert: 04.05.2008, 16:44
Wohnort: Schwäbische Alb

Re: RMRay: ein .net Raytracer

Beitragvon Rudi Media am 17.07.2011, 15:00

So, ein einige Sachen optimiert und mal das Flugzeug gerendert...
Wer eigene Modelle rendern will brauch nun keine Normalen mehr mitspeichern und sollte darauf achten das die "faces" als Dreiecke exportiert werden.
Dateianhänge
Build3.jpg
Build3.jpg (110.55 KiB) 258-mal betrachtet
RMRay.rar
Build 3
(79.57 KiB) 10-mal heruntergeladen
http://www.RudiMedia.com
If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it.
(Murphys Gesetz)

Bild
Benutzeravatar
Rudi Media
Mitglied
 
Beiträge: 415
Registriert: 04.05.2008, 16:44
Wohnort: Schwäbische Alb

Re: RMRay: ein .net Raytracer

Beitragvon Rudi Media am 31.07.2011, 01:50

Mal an ner Beschleunigungstechnik gearbeitet... konnte dadurch die Renderzeiten einer Szene (2145 tris) von 103 Sekunden auf 4,5 reduzieren :mrgreen:
Außerdem hab ich Schatten eingebaut welche um einiges einfacher zu realisieren waren als Shadowmapping in XNA ^^
Dateianhänge
render-4,5.jpg
render-4,5.jpg (138.78 KiB) 232-mal betrachtet
http://www.RudiMedia.com
If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it.
(Murphys Gesetz)

Bild
Benutzeravatar
Rudi Media
Mitglied
 
Beiträge: 415
Registriert: 04.05.2008, 16:44
Wohnort: Schwäbische Alb

Re: RMRay: ein .net Raytracer

Beitragvon Rudi Media am 24.08.2011, 03:33

So mal wieder ein wenig Zeit investiert:
Hab meine Beschleunigungstechnik fertig programmiert. Sie besteht nun aus in einem Bintree hierarchisch angeordneten AABBs
(axis aligned bounding boxes) dessen Leafnodes die Referenzen auf die eingeschlossenen Dreiecke enthalten.
Hab im Internet noch von keiner solchen Vorgehensweise gehört was wohl darauf zurückzuführen ist das es haufenweise bessere Alternativen gibt ^^

Als Test habe ich meinen Renderer mal gegen den standard Scanline Renderer von 3ds Max antreten lassen:
(ohne AA und mit einem Punktlicht welches raytraced shadows wirft)
Dateianhänge
RMRay.jpg
RMRay.jpg (140.87 KiB) 191-mal betrachtet
Scanline.jpg
Scanline.jpg (135.01 KiB) 188-mal betrachtet
http://www.RudiMedia.com
If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it.
(Murphys Gesetz)

Bild
Benutzeravatar
Rudi Media
Mitglied
 
Beiträge: 415
Registriert: 04.05.2008, 16:44
Wohnort: Schwäbische Alb

Re: RMRay: ein .net Raytracer

Beitragvon Christian W. am 25.08.2011, 13:34

Nicht schlecht!! Man sieht etwas die Polygone in deinem Rendering, aber dafür haben zB die Räder/Felgen mehr Struktur abbekommen ^^ Die Renderzeit ist auch gut :thumbsup:
Wirst du auch noch Reflektionen/ Transparenzen einbauen? :mrgreen:
Cinema R13, Photoshop CS2
Benutzeravatar
Christian W.
3D Moderator
 
Beiträge: 1768
Registriert: 23.10.2006, 01:13
Wohnort: NRW

Re: RMRay: ein .net Raytracer

Beitragvon Manuel am 25.08.2011, 19:10

Sehr cooles Projekt, welche Programmiersprache hast du verwendet?
Habe an der Uni auch mal an einer Renderengine mitgewirkt und dort für den Photon-Mapper eine LVK-Funktion gecodet, die entsprechende Dateien von Lampenherstellern einlesen kann und dementsprechend die Photonen verschießt. Der Effekt ist, dass eine Lichtquelle dann nicht mehr linear in alle Richtungen leuchtet sondern die gleichen Eigenschaften von der Abstrahlung des Lichtes aufweist wie eine Glühbirne zum Beispiel.

Weiterhin viel Erfolg und bleib am Ball! :)


Lg,
Manuel ;-]
Webdesign Tutorial | Professionelles Webdesign

In dem Maße, wie der Wille und die Fähigkeit zur Selbstkritik steigen, hebt sich auch das Niveau der Kritik an anderen.
Christian Morgenstern
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 11517
Registriert: 10.12.2004, 19:29

Re: RMRay: ein .net Raytracer

Beitragvon Rudi Media am 01.09.2011, 20:30

Danke euch beiden! :)
@Christian W.
Klar werd ich beides in nicht all zu ferner Zukunft mal einbauen...
@Manuel
Hab ihn in C# programmiert...

Hier mal ein kleiner Soft/Area Shadow test:
Treibt die Renderzeiten aber ganz schön in die höhe, weshalb ich meine Beschleunigungstechnik warscheinlich komplett überarbeiten muss...
Dateianhänge
softShadow.png
softShadow.png (63.1 KiB) 97-mal betrachtet
http://www.RudiMedia.com
If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it.
(Murphys Gesetz)

Bild
Benutzeravatar
Rudi Media
Mitglied
 
Beiträge: 415
Registriert: 04.05.2008, 16:44
Wohnort: Schwäbische Alb

Re: RMRay: ein .net Raytracer

Beitragvon my-webdesigner.com am 01.09.2011, 22:35

Ich finde dein Projekt echt toll ;)
Mal eine blöde Frage von einem 3D-Laien: Läuft die ganze Geschichte nicht schneller, wenn das Bild intern in - sagen wir 5facher - Größe mit reduzierten Details gerendert wird und dann per Interpolation wieder auf ein Fünftel verkleinert wird? Das würde doch auch Anti-Aliasing mit sich bringen, oder liege ich da falsch...

Ich bin gespannt wann du mit Global Illumination u.ä. experimentierst :-)
Benutzeravatar
my-webdesigner.com
Mitglied
 
Beiträge: 656
Registriert: 20.04.2010, 12:42
Wohnort: Wien


Zurück zu Sonstiges

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast