Welcome, Guest. Please login or register.


Author Topic: Raytrace (Read 81201 times)

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Raytrace
« on: 2018.October.08. 14:36:24 »
facebook-on lévő raytracer EP-re Pascalban:
*** Speicherplatz zu klein

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re:Raytrace
« Reply #1 on: 2018.October.08. 14:45:06 »
facebook-on lévő raytracer EP-re Pascalban:
Átírtad? Mennyi idő alatt fut le?
A BASIC az kb másfél óra ALT+W-vel :oops:

Mondjuk ha jól nézem a tiéd az nem max képernyős.
[ Guests cannot view attachments ]

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re:Raytrace
« Reply #2 on: 2018.October.08. 14:55:03 »
durva! raytrace ep-n!

amúgy az alt+w sokkal gyorsabb, ha a z80 clock is maxra van állítva
Vigyázat! Szektás vagyok! :)

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re:Raytrace
« Reply #3 on: 2018.October.08. 15:05:27 »
Átírtad? Mennyi idő alatt fut le?
A BASIC az kb másfél óra ALT+W-vel :oops:

Mondjuk ha jól nézem a tiéd az nem max képernyős.
(Attachment Link)
24 perc 56 mp, out 191,12-vel

a felbontás ugyanannyi, mint a Speccy változatban (256x176)

http://povi.uw.hu/ray.pas
*** Speicherplatz zu klein

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re:Raytrace
« Reply #4 on: 2018.October.08. 15:05:42 »
Talán érdekes lenne még C-re átírni egész számos aritmetikával, vagy 4 színű módban ditherelt színátmenetre módosítani, ha az eredeti algoritmus azt lehetővé teszi.

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re:Raytrace
« Reply #5 on: 2018.October.08. 15:06:11 »
Átírtad? Mennyi idő alatt fut le?
A BASIC az kb másfél óra ALT+W-vel :oops:

Mondjuk ha jól nézem a tiéd az nem max képernyős.
(Attachment Link)
ó, látom, te hires kétszínű módot használtál!
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re:Raytrace
« Reply #6 on: 2018.October.08. 15:08:50 »
Talán érdekes lenne még C-re átírni egész számos aritmetikával, vagy 4 színű módban ditherelt színátmenetre módosítani, ha az eredeti algoritmus azt lehetővé teszi.
nekem is eszembe jutott, a program eredeti szerzője készített egy 16 bites float rutint, azzal 6 perc a speccy-n, állítja, hogy annál még a fixpontos se lenne gyorsabb.

Az igazat megvallva nem értem az algoritmust, csak átkódoltam BASIC-ről Pascal-ra :oops:
*** Speicherplatz zu klein

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re:Raytrace
« Reply #7 on: 2018.October.08. 15:10:07 »
ó, látom, te hires kétszínű módot használtál!
És azt is 27x42-es lapon :-)

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re:Raytrace
« Reply #8 on: 2018.October.08. 15:10:20 »
Átírtad? Mennyi idő alatt fut le?
A BASIC az kb másfél óra ALT+W-vel :oops:

Mondjuk ha jól nézem a tiéd az nem max képernyős.
(Attachment Link)
Zozó, mik a paraméterek a max felbontáshoz? (a fő ciklusban a i, j és dz?)
szerk: közben látom, fölraktad a forrást is
*** Speicherplatz zu klein

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re:Raytrace
« Reply #9 on: 2018.October.08. 22:24:24 »
lehetne olyat csinálni, hogy animot renderel, de úgy, hogy minden anim frame-be egyenként, és közben váltogatná az így felépülő képeket.
Vigyázat! Szektás vagyok! :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re:Raytrace
« Reply #10 on: 2018.October.09. 09:07:35 »
Talán érdekes lenne még C-re átírni egész számos aritmetikával, vagy 4 színű módban ditherelt színátmenetre módosítani, ha az eredeti algoritmus azt lehetővé teszi.
Igen, érdekes lenne megnézni többféle programnyelvben.

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re:Raytrace
« Reply #11 on: 2018.October.09. 16:31:04 »
most nézem az eredeti basic forrást... hát, ez nem semmi. én mindig is hülye voltam a 3d matekhoz, de ilyen rövid kóddal lehet raytrace-lni egy kockás síkot, két tükröződő gömbbel és árnyékkal? hát... elképesztő...
Vigyázat! Szektás vagyok! :)

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re:Raytrace
« Reply #12 on: 2018.October.11. 14:08:50 »
gyorsan rákerestem, de nem találtam semmiféle raytrace dolgot specyre vagy hasonló régi gépre! durva :)
Vigyázat! Szektás vagyok! :)

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re:Raytrace
« Reply #13 on: 2018.October.11. 14:11:28 »
gyorsan rákerestem, de nem találtam semmiféle raytrace dolgot specyre vagy hasonló régi gépre! durva :)
A Spectrum Mánia nevű facebook csoportba rakta ki az eredeti kódot a Daniel A. Nagy nevű fickó, ő írta a 16 bites float rutinokat is:

"Naszóval, az előző postban közölt BASIC program csak egy előtanulmány volt ahhoz, amit igazándiból akartam csinálni, nevezetesen egy demo alkalmazást az alacsonypontosságú lebegőpontos kalkulátoromhoz, meg úgy általában egy bizonyítékot arra, hogy az alacsony pontosságú lebegőpontos számítások, amik könnyen és olcsón implementálhatóak mind hardverben, mint a legegyszerűbb mikrokontrollereken szoftverben valójában igen hasznosak és jelentősen csökkenthetik különböző projektek erőforrásigényét. A dolog messze túlmutat a retrón és a Spectrumon.

Ma este, munka után végre összeraktam! Az eredmény a csatolt képen látható.

Megfigyelhető, hogy egy kicsit zajosabb, mint a négyszerekkora számábrázolási pontosságot használó BASIC program, viszont cserébe 8 és fél óra helyett 6 perc 42 másodperc alatt lefut. Valószínüleg simán felgyorsítható a duplájára is, mert egy csomó mindent többször kiszámol feleslegesen. Egyszer majd kioptimalizálom.

Amit viszont érdemes megjegyezni, hogy néhány dolgot alacsony pontossággal óvatosabban kell számolni. Például a nagyon gyakori (a+ε)²-a² jellegű kifejezéseket mindig ε(2a+ε) alakban kell írni, különben pontatlan lesz. Két egységvektor által bezárt szög szinusznégyzetét nem szabad a skalárszorzatukból 1-(a⋅b)² képlettel számolni, hanem mindig az (a⋅b)a-b önmagával vett skalárszorzatát kell használni, ami ugyan jóval több művelet, de cserébe pontos.

https://github.com/nagydani/lpfp/"


https://www.facebook.com/groups/1708388329425895/
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re:Raytrace
« Reply #14 on: 2018.October.11. 14:15:24 »
és ha már raytrace, Kapitány ma rakta be valamelyik retró computeres facebook csoportba Bisqwit videóját, raytrace DOS-on:
https://www.youtube.com/watch?v=N8elxpSu9pw

Bisqwit-re érdemes föliratkozni, elborult videói vannak (pl. hogyan írjunk compiler-t, a boundary tracing-es Mandelbrot rajzoló algoritmust tőle loptam), nekem LGB mutatta a csatornáját, valamelyik random péntek esti sörözés közben :-)
*** Speicherplatz zu klein