pouët.net

Go to bottom

8-bit raymarching

category: general [glöplog]
For the 8-bit machines the raymarching has to be of low quality because of low CPU power.

Are there any techniques to speed up the render except from 4 to 1 interpolation with extra scans if the objects on the adjacent pixels don't match? This was used in Inferno Guide #5 (intro) and Mission Highly Improbable ("furmark" part).

I though about scanning with double steps then returning back half-step (or maybe smaller steps) but will it work? This can corner the borders of objects.
i think you will find out that even raycasting isnt very well suited for those machines....

what resolution do aim for? 16*9 pixels ? :)
added on the 2014-03-17 21:50:10 by groepaz groepaz
Even on 16-bit-Machines (~7-14MHz -> Amiga) it´s still a pita to get sth at an acceptable framerate! ;) It starts to work out with many tricks at 40MHz or sth! Still then the Resolution is divided by 4 (4*4-pixel-blocks).
Keep Dreaming!
added on the 2014-03-18 01:58:14 by Optimus Optimus
@groepaz, something like 40x40 pixels :)
interesting you even consider it. you can test your ideas in shadertoy. that torus in the 2nd linked demo is raymarched? too slow and ugly and lores. I prefer the very lowpoly toruses on speccy.
added on the 2014-03-18 09:00:59 by Oswald Oswald
Raymarching was the very first concept I thought out when started writing Wolfenstein clone for ZX in 1996 :)
what abour more pwerful 8bit machines like the CPC? =)
added on the 2014-03-18 18:25:26 by wysiwtf wysiwtf
sam can do it too!
added on the 2014-03-19 01:07:29 by Scali Scali
Crap, y'all beat me to it. Was hoping to do something like this on 808x
added on the 2014-03-19 07:09:16 by trixter trixter
bet raymarching works fine on the oversteroided ZX=)
added on the 2014-03-19 14:29:40 by g0blinish g0blinish
Actually, raymarching works halfway well on a sega mega drive (7.61 MHz 68k CPU) - someone recently ported Wolfenstein 3D:
Forum thread: http://gendev.spritesmind.net/forum/viewtopic.php?t=1537&postdays=0&postorder=asc&start=165
Youtube: http://www.youtube.com/watch?v=bjnsNzGzN1U
added on the 2014-03-19 14:49:12 by Kabuto Kabuto
Is it me, or are people confusing raycasting with raymarching here?
added on the 2014-03-19 14:52:14 by Scali Scali
Isn't raycasting just 2D raymarching?
added on the 2014-03-19 14:54:49 by Gargaj Gargaj
Gargaj: Not really. Raycasting usually means "shoot some rays" without the full raytraced reflections and whatnot. Raymarching is the concept of marching along a ray to find intersections. Many raycast-enginges did their intersection tests using raymarching, though.
added on the 2014-03-19 14:58:52 by kusma kusma
Well, I guess the terminology is rather vague... but as far as I'm concerned:
Ray casting is a technique where you calculate the intersection point between a ray and an object (can be 2d or 3d).
Ray tracing is like ray casting, but is applied recursively, so that reflection and refraction can be handled.
Ray marching is an iterative form of the above: you 'march' along the ray, and at each point you merely classify the point: on which side of the surface of the object am I? As soon as you go from 'out' to 'in', you have found the surface.
added on the 2014-03-19 15:01:33 by Scali Scali
Scali: I think our terminologies are pretty much the same, except in my definition ray marching is a way to implement ray casting, not necessarily full ray tracing.
added on the 2014-03-19 15:06:42 by kusma kusma
That being said, when I talk of "ray marching" in a scene context, I usually use it interchangeably with "shitty twisted cubes with horrible reflections, aliasing like hell".
added on the 2014-03-19 15:08:28 by kusma kusma
Quote:
Scali: I think our terminologies are pretty much the same, except in my definition ray marching is a way to implement ray casting, not necessarily full ray tracing.


I wrote my reply before you posted, so it was not meant as a response.
But indeed... With 'the above' I meant both casting and tracing. Ray marching is an iterative form of ray casting, and may or may not be applied recursively ('full ray tracing' as in reflections/refractions).
added on the 2014-03-19 15:09:47 by Scali Scali
..as a response to you. It was a response to Gargaj.
added on the 2014-03-19 15:13:25 by Scali Scali
Well, when I searched the scientific literature about the terminology I was surprised, basically what Scali says, raycasting stops when hits a surface ones, raytracing continues tracing reflected rays. But we used to call raycasting the one in wolfenstein. But then, if raymarching is now going in steps instead of instantly solving ray-object intersection, then technically even wolfenstein is 2d raymarching since it goes block by block, but also a raycasting since it hits and stops once (but what if you did wolfenstein engine with mirrors reflecting columns, hehe :). So, we basically have it all screwed up and people also claim wrongly that Doom is using raycasting because of the column rendering, but not the raycasting algorithm. Ok,. I messed up :)
added on the 2014-03-19 16:06:38 by Optimus Optimus
Back to the main question, not 8bit but the closest to low CPU could be this. Ok, it's actually boxes, it could be like improve the classic wolfenstein algorithm to 3d and per pixel (I would actually always wanted to try this, maybe someday). But interesting nevertheless..
added on the 2014-03-19 16:32:45 by Optimus Optimus
yup, I did confuse these 2 terms
added on the 2014-03-19 17:25:16 by Kabuto Kabuto
@Optimus, i'd better made this cubical landscape from textured cubes, that will be faster. But it requires perspective texturing, this is not for Speccy.
Acorn is I guess atleast one magnitude faster than the usual 8 bits, and still it can barely reach an acceptable speed in quite lo-res. it would be even slower and even more lores on a 8 bit.
added on the 2014-03-19 18:33:44 by Oswald Oswald

login

Go to top