(Echtzeit-)Raytracing-Engine

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

Genial :shock: :o :o :o

Mach weiter so :praise:
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Puh, hab grad mindestens 10 Minuten warten müssen bis ein Bild mit 100
Kugeln, 100 Kegeln, 100 Zylindern und 5 Ebenen mit Spiegelung,
Transparenz und Lichtbrechnung berechnet war.

Naja, hier nun das Resultat:
Bild

Oder mit vier viel zu hellen Dreiecken:
Bild
Zuletzt geändert von NicTheQuick am 25.09.2005 19:00, insgesamt 1-mal geändert.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

lol ... für Echtzeitberechnung ist das wohl eher weniger geeignet :lol: *gg* ...
Aber das sieht alles schon sehr cool aus :wink: ... weiter so. Haste eigentlich vor, das am ende zu optimieren um es vielleicht doch in richtung Echtzeigberechnung zu bringen? ... Oder ist das (noch) nicht dein Ziel?

Aja und ich frag mich grad, ob diese einfarbigen braunen und hell blauen Objekten so gewollt sind? 8) *g

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

PMV hat geschrieben:lol ... für Echtzeitberechnung ist das wohl eher weniger geeignet :lol: *gg* ...
Ja, der Threadtitel passt wohl eher nicht mehr so gut.
Aber das sieht alles schon sehr cool aus :wink: ... weiter so. Haste eigentlich vor, das am ende zu optimieren um es vielleicht doch in richtung Echtzeigberechnung zu bringen? ... Oder ist das (noch) nicht dein Ziel?
Das ist natürlich ein Ziel, aber wenn ich das machen möchte, muss ich
mich noch ein bisschen mit Subsampling beschäftigen und Objekte im
Raum zusammenfassen, damit nicht immer alle Objekte überprüft
werden, sondern immer nur die, die dem Strahl am nächsten sind.
Aja und ich frag mich grad, ob diese einfarbigen braunen und hell blauen Objekten so gewollt sind? 8) *g
Ja, das ist nicht nur Absicht, das ist sogar ganz normal so. Ich habe in den
Raum ein rotes, ein grünes und ein blaues Licht zufällig irgendwo
hingesetzt und die Schatten, die jetzt auf die Ebene im Hintergrund
projiziert werden, sind dementsprechend nicht nur grau, sondern farbig.
Alles alles schon richtig.

Ich hab übrigens oben noch ein kleineres Bild eingefügt, bei dem die Objekte nur von einer weißen Lichtquelle beleuchtet werden, die praktisch "im Objektiv" der Kamera ist.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Ach so lol -.-
Das sind Schatten ... hät ich eigentlich selber drauf kommen können /:->
Jetzt wo ichs weis stören die auch nicht mehr das Bild :lol: :oops:

Na von 10 min -> wenige MS ists ja schon nen bischen ... aber ich bin mal gespannt wie du das weiter entwickelst <)

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Ist echt fett geworden :allright:

Würde mich anbieten einige oft aufgerufene Prozeduren in Assembler
nach zu programmieren!

MACH WEITER!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@remi_meier:
Das klingt doch gut.

Wenn du mir deine eMail-Adresse per PN gibst, kann ich dir ein paar
Sachen schicken. Per ICQ geht es allerdings genauso gut. Ich hab dich
sogar schon angechattet.
Viel zu optimieren gibt es wahrscheinlich nicht, aber selbst 5% mehr
Geschwindigkeit ist ein Anfang.

Ich habe eben selbst noch zwei Zeilen hinzugefügt, die die Rekursionen
abbrechen, wenn sich nur noch weniger als 1% der Farbe ändern würde.
Das heißt auch bei 99 Rekursionen, geht das RayTracing immer
noch "schnell" und ohne wesentliche Detailverluste.
Ich habe schon Konzeptionen für eine gleichbleibende Geschwindigkeit
selbst bei mehr als 10000 Objekten, die ich noch umsetzen will. Aber
dieses Vorgehen wird noch seine Zeit dauern.
Davor wird die Objekteverwaltung wahrscheinlich erstmal von den
PB-LinkedLists befreit, damit man das Bild auch mit Multithreading
berechnen lassen kann, wie es Danilo in einem anderen Thread mal
vorgeschlagen hat.
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

Hi Nic, ...

ich mache seit ca. 8 Jahren mehr oder weniger professionell mit Lightwave herum (natürlich als original und mit Dongle) und muss zu Deinem Tracer sagen: Hammer !!! Alle Achtung !!! :allright:

Und wenn man bedenkt dass Du z.Zt. im Grunde nur mit den Raytrace-Härtefällen arbeitest (also Spiegelungen, Lichtbrechung, etc.) bei dem jeder Raytracer in die Knie geht, ist Deiner sogar noch extrem flott !!! :D

Jetzt fehlt nur noch die Kantenglättung !!! :lol:

Ich habe damals zu GFA-Zeiten schon mal einen professionellen 3D-Modeller für eine Firma entwickelt der Shaden konnte, aber an das Raytracing habe ich mich nie gewagt ... das war mir zu harter Tobak.

Also unter diesem Hintergrund kann ich nur sagen: WOW !!! :o

Nur weiter so ... :allright:

Wenn's da mal 'ne kleine Doku zu gibt und ich mich etwas besser in Pure eingearbeitet habe, würde ich mich dann mal liebend gerne über Deine Lib hermachen !!! :wink:

In diesem Sinne .... keep on the good work ...
Gruß, Luke.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Norbie
Beiträge: 134
Registriert: 29.08.2004 12:45
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von Norbie »

Wann kommen den die ersten gewellten Flächen? Irgendwie ein Breitgezogener Graph einer Funktion oder so? Dann könnte man Wasser oser soetwas machen.
http://www.nevu.de/ Künstliche Intelligenz, die letzte Herausforderung!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@PureLust:
Danke, sowas höre ich gerne.
Mit professionellen RayTracern kenne ich mir ja gar nicht aus. Ich baue in
meinen immer nur das ein, was mir gerade einfällt und was mir nicht
sonderlich schwer vorkommt. Aber das kann sich ja noch ändern. Ich
arbeite schließlich nie viel daran, weil ich momentan in der 13. Klasse
genug zu tun habe.

Das mit dem AA werde ich schon noch irgendwann mal einbauen,
allerdings wird das Rendern dann nur noch halb so schnell gehen,
logischweise.

Ich werde die RTEngine wohl bald wieder in der neusten Version als
Userlib herausbringen. Aber erst lasse ich remi_meier mal noch
drüberschauen, was man noch so ASM-technisch optimieren könnte.

@Norbie:
Das mit dem Wasser oder allgemein Wellen auf einer Ebene möchte ich
zuerst einmal völlig simpel über Normalmapping probieren, also keine
wirklich gewellten Flächen, sondern nur "scheingewellt" wie es die
heutigen 3D-Karten schließlich auch machen.

@all:
Morgen oder Donnerstag wird wieder weiter gearbeitet. Jetzt muss
erstmal was für die Schule getan werden.

Aber immer her mit neuen Ideen! :allright:
Antworten