(Echtzeit-)Raytracing-Engine

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Ich kenne jemanden, den würde die Userlib ganz bestimmt interessieren :allright:.
Bild
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 »

Die Userlib ist hiermit fertig. Die Hilfe fehlt immer noch. Aber ich hab eine Textdatei mit allen Befehlen hinzugefügt, falls das jemandem hilft.

Die Engine wird natürlich immer noch weiterentwickelt.

Hier findet sich eine ZIP- und eine RAR-Datei. In beiden ist das gleiche enthalten.

Die Datei, mit der ich die schönen Bilder im ersten Post erzeugt habe, ist auch dabei. Mit der kann man dann ja schonmal ein bisschen rumprobieren.

Zylinder funktionieren noch nicht so, wie es geplant war, deswegen muss ich mir eine neue Rechnung einfallen lassen und ich glaube ich weiß auch schon wie die Ansätze dafür aussehen müssen.

Eine Sache fehlt noch: Glanz. Es sind schon alle Routinen drin, aber ich habe noch keine Materialien wie z.B. Plastik, Glas oder Metall eingefügt.

Eine kleine Erläuterung zu einem Befehl findet man dann in der Statusleiste von jaPBe oder der IDE.

Es gibt drei Strukturen, die man verwenden kann, die ich aber noch nicht in irgendeiner RES-Datei zurückgelegt habe:

Code: Alles auswählen

Structure Vector3D
  x.f
  y.f
  z.f
EndStructure

Structure RTAngle
  x.f
  y.f
  z.f
EndStructure

Structure RTColor3F
  r.f
  g.f
  b.f
EndStructure
Farben haben normalerweise einen Wert zwischen 0.0 und 1.0. Bei anderen Werten gibt es zwar keine Fehler, aber es kann unschön aussehen. Winkel werden normalerweise immer zwischen 0 und 360 angegeben, also DEG.

Viel Spaß beim Testen. Ich bin auf ein paar interessante Bilder gespannt.

Hier nochmal der Link: http://mitglied.lycos.de/NicTheQuick198 ... 0RTEngine/

///Edit:
Der Quellcode der RTEngine besteht zu 99% oder noch mehr aus Mathematik. Ansonsten wird 1x der Befehl [c]Plot()[/c], 1x der Befehl [c]RGB()[/c] und ein paar weitere Male die Befehle [c]AllocateMemory()[/c], [c]FreeMemory()[/c], [c]AddElement()[/c] und [c]DeleteElement()[/c] benutzt. Das erstaunt mich dann doch schon ganz schön, dass man da nicht mehr braucht.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Egal, hab die

Edit
Egal, hab das Bild durch was andees ersetzt ^^. Ich finde Raytracing lustig. Finde ich auf jedenfall genial :allright:
Bild
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 »

Hier ein kleiner Vorgeschmack auf texturierte Parallelogramme, Quadrate oder Rechtecke.
Bild
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

:shock: Das is ja genial :shock: :o :o
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Was mir fehlt is ne akzeptable Frame rate o_O...
Bild
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

@MVXA: :lol: der wahr gut...
Nein, im Ernst, bei Lichtspiegelungen ist das doch eh ziemlich hard auf Speed zu trimmen, reicht doch zum Rendern, dann kannste im Wreframemode arbeiten :allright: ... *hüst*
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 »

Das mit den Texturen auf Kugeln kommt noch. Dazu muss man erstmal zwei Punkte auf der Kugel definieren, die Position und Richtung der Textur angeben. Man will die Kugel ja schließlich auch drehen können.

///Edit:
Jetzt befindet sich auch im Stammverzeichnis der RayTracer5a.exe mit zwei Texturen. Daher ist die Datei jetzt auch 957 kB groß. (von wegen Platz sparen :wink: )
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

MVXA hat geschrieben:Was mir fehlt is ne akzeptable Frame rate o_O...
Dann bau halt Adaptive Subsampling ein und schau mal in Deeem's thread, da hat Danilo auch eine gute Idee gepostet: Den Screen in gleichgroße Teile aufteilen und jedes Teil durch Threads Raytracen lassen.

Oder kauf dir gleich so ne neue Platine(siehe developia.de im news-archiv irgendwo)....
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Norbie
Beiträge: 134
Registriert: 29.08.2004 12:45
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von Norbie »

Hast du eine Pause eingelegt NicTheQuick, oder warum kommt nichts mehr? :?
Wenn du die Sache aufgibst, wäre das echt schade! :freak: :(
http://www.nevu.de/ Künstliche Intelligenz, die letzte Herausforderung!
Antworten