Seite 2 von 2

Re: [Projekt]APE

Verfasst: 24.07.2009, 00:09
von Lord Delvin
Bergmon hat geschrieben:man rendert zunächst die sichtbare szene mit allen okludern usw. in den tiefenbuffer ohne ztest und...
öhm aalso...das ist ein Raytracer...und es gibt momentan weder Okluder noch einen Tiefenbuffer und einen ztest KANN es nicht geben. Den Tiefenbuffer kann man sich mit nem auxbuffer machen, wenn man drauf steht, aber mir ist atm unklar, wozu das gut sein sollte; zumal mir unklar ist, was da überhaupt drin stehen soll...ich mein die länge des ersten rays oder was? der gesamtweg des tiefsten rays?
ehrlich gesagt muss ich zugeben, dass mich dein Beitrag eigentlich nur verwirrt. Es handelt sich bei Raytracing, so wie ich das hier betreibe im gegensatz zu rasterizern nicht um irgendwelche projektionen auf eine Screenplane, sondern um das verfolgen eines gitters von strahlen, die atm. nicht mal notwendiger weise irgendeine nachbarschaftseigenschafft erfüllen müssen...du könntest auch jeden strahl in eine zufällige richtung wegschicken, das wäre nur nicht sinnvoll, weil du halt ein rauschen in den farben der Szene erhältst.

Grafikkarten die OpenCL unterstützen können fast das ganze C als Code akzeptieren, damit sollte sich also wohl machen lassen, was du vor hast; APE läuft allerdings auf der CPU und NICHT auf der Grafikkarte. Wenn nichts schief geht sollte es eigentlich genauso schnell laufen, wenn du eine Crapgraka für 20€ einbaust, in der Praxis scheint das aus mir unbekannten gründen nicht so zu sein, is mir aber auch egal. Wenn du die daten in bilder speicherst und nicht direkt ausgibst, dann läufts auch auf nem System ohne GraKa.
Gruß

Re: [Projekt]APE

Verfasst: 24.07.2009, 00:21
von Bergmon
ja, ich glaub ich sollte wohl auch wenn überhaupt dafür einen eigenen thread aufmachen. fand das raytracing-zeug nur ziemlich interessant.
und ja, das meine ich - deferred perpixel rendering ist im endeffekt ein level0-raytracer (nur primary-rays ohne shadow-rays), deswegen dachtest du wohl auch gerade an raytracer.

ps: in dem buffer steht dann an jeder pixelstelle des bildschirmes alle schnitte des augenstrahles mit der geometrie - berechnet durch die gpu. dann braucht man sich nur noch einen screenpixel zu schnappen, einen strahl zu lichtquelle im screenspace berechnen und sich die tiefenpuffer-werte an den screenspace-stellen des strahles geben lassen. dann kann man damit ausrechnen, ob der strahl verdeckt wird, oder nicht(das wird vermutlich ineffizient...wegen der vielen screen-wörter :roll:).
als resultat hat man eine primary+shadow-ray komination, also direktes licht inklusiver (nahezu) alaising-freier punktlicht-schatten.

pps: sag mal ist hier im forum winterzeit? :D