Raymarching Beginners' Thread

category: code [glöplog]
unless someone actually understands the idea and then proves it's wrong, I stand firmly by my idea.

I don't think you understand how science works. If you have an idea then it's your responsibility to prove it. Fallacies all around.

(Damn it, I did it again!)
added on the 2016-06-13 10:16:46 by gloom gloom
Is this science though? He can always find wage-slaves that will not only realize his ideas,but also make sense out of them!:)
added on the 2016-06-13 10:49:50 by tomkh tomkh
demos are art so personal opinions are valid facts?!
added on the 2016-06-13 11:03:35 by msqrt msqrt
no, demos are science so we have people that tell us why they are good and bad, etc.
added on the 2016-06-13 11:06:31 by mudlord mudlord
Wow thank you so much msqrt, you seem to have finally got what I'm saying. The reason I thought this is better than pure bvh was that I thought going down its hierarchy is harder than marching through an sdf and needs more steps. And yes, by 'structures of the mesh that the box belongs to I meant going from sdf to bvh. I know, I suck in explaining things.
Gloom: you're really out of the question. Also, I laughed a bit by your first comment:

which coder can be successful and inventive without theorizing ideas first?

None, which is why they're coders, which means they can do both.

What?! What does that even mean?
added on the 2016-06-13 11:57:32 by golem golem
But showing your idea in action is also more convincing than "waaah, you guys don't understand MY IDEA!!!!1"

How many times do I have to say this? I CAN'T code. What action are you talking about?
added on the 2016-06-13 12:01:27 by golem golem
How many times do I have to say this? I CAN'T code.

I know, which is why I said ideas are cheap.
What action are you talking about?

You know, seeing how something works when implemented. Which is pretty useful for refining your ideas. :)
added on the 2016-06-13 12:12:32 by britelite britelite
Thank you for making me have to browse back like 3 pages of stupid discussions to the last useful post... Maybe take this to another thread instead of derailing this awesome one?!
added on the 2016-06-13 12:47:43 by raer raer
And learning to code while you're at it before trying to contribute to an (awesome) programming thread?
added on the 2016-06-13 12:49:28 by Preacher Preacher
I guess the last useful post you are referring to is by ollj O_o
added on the 2016-06-13 13:23:40 by tomkh tomkh
Britelite: still doesn't make sense. Ideas build our world. Just open your eyes and research more about it.
But yes, I so wish I could code so that I could try it myself before asking others. I still think it might be possible that for some specific cases and scenes, the sdf is faster than bvh, I can imagine such a scene. But I don't have time to learn coding, for some reason.
Preacher: read above. It's not like pushing a button, it takes time, which I don't have.
And yes, please don't derail this thread by bringing up various other discussions.
added on the 2016-06-13 13:28:46 by golem golem
As of now, the most useful advices I've heard are by Gargaj, tomkh and msqrt.
added on the 2016-06-13 13:30:25 by golem golem
So I think that's it! I doubt there's more I can learn here, now.

Thanks to everyone for constructive responses, I won't post in this thread anymore.
added on the 2016-06-13 13:37:05 by golem golem
...waiting for more erotic fan fiction...
And what makes you think that I don't know how those things out there work to some reasonable extent?

Well the fact that gargajs voxels vs sparse quadtree post was an eye opener to you

you're still talking about voxelizing boxes.

I thought going down its hierarchy is harder than marching through an sdf

I don't know about lookup speeds that much, yes, but it's not a matter of much importance in here

Whats the point then? I mean if speed is not a concern who needs an acceleration structure?

the fact that you're not able to express your idea in a way that people knowing about this stuff understand what you're talking about.

So in essence you have no idea about how any of this works, but have great ideas on how to improve it?

Please make your own "Raytracing optimization idea" thread, write a clear and sound proposal containing some pseudo code describing your algorithm, some images and a comparison how your stuff fairs against currently employed approaches. Then you may get some constructive criticism.
added on the 2016-06-13 13:54:04 by LJ LJ
Ideas build our world.

Teleportation is a great idea too. :)
added on the 2016-06-13 14:43:53 by Gargaj Gargaj
What?! What does that even mean?

It means exactly what the words say. If you can't read I really can't help you.
added on the 2016-06-13 14:47:07 by gloom gloom
On the left you have an 8x8 voxel grid with only the voxels on the edge counting - both rays have to test against all the voxels even though they both miss.

That thing looks like a three dimensional version of this. Thats a cheap way to doing fast raytracing etc.. A bit more work it takes to set it up in three-dee, but basically a cheap way of discarding regions of space.
added on the 2016-06-13 15:16:33 by rudi rudi
No, what Heaven 7 does is shoot rays sparsely and interpolate between the results if it deems the results are of the same properties (same texture, same lighting, etc.) What I described is a way to make the actual rays faster.
added on the 2016-06-13 15:19:37 by Gargaj Gargaj
Lol, Gargaj: I thought rays always travel at the same speed = speed of light, how come you can make them faster :DDD
added on the 2016-06-13 16:03:33 by tomkh tomkh
Nothing really new here. Only that the last couple of pages are almost completely off topic.

@asd-romeda: I don't want to sound too rough now, but maybe you should just play around with the stuff a bit first. There are enough samples to get started with (shadertoy might be not the worst place) and come back if you have a real question (on topic) or a really novel idea you have tested which probably even has to do with the topic.

Plus, this is not the "general ray-tracing ideas" thread - maybe you should just open a new BBS thread.
added on the 2016-06-13 16:26:45 by las las
Gargaj: I know what h7 does :) I even implemented my own screen-based adaptive subsampler years ago. I said it looked like a three-dimensional version of subsampling, not that it actually is..
added on the 2016-06-13 20:48:38 by rudi rudi
i thought about bounding volume hierarchy (BVH), and i think its only reasonable for static elements.

My current ideal approach for dynamic scenes with many varying elements is to group them by bounding box size. have multiple cubic grids and elements that are not too large so they are always completely within 8 or less cupic spaces of the grid.
larger objects life in larger voxel grids.

ideally anything exists freely on a grid as small as your percission. subdividing space into larger voxels is intuitive reasonable parallelization. In the end you adress things in larger voxels, like in any game maker that uses tilesets. in the end this is just like mipmapping.

its basically a multi-layered pre-sorted least square with subdivision of volumes.
added on the 2016-07-15 11:20:20 by ollj ollj
I didn't know under which thread to put it...
Probably this is one is the most appropriate.

BB Image
Some of my latest experiments with physically-based materials and precomputed distance fields (stored in volumetric textures).

You can also play with it yourself in a hopefully easy to use online template (works for both WebGL 1.0 with fallback to 2d textures and WebGL 2.0).

Most ShaderToy distance-fields should work.
Here a remake of the famous Inigo Quilez's monster.
added on the 2016-09-21 01:08:03 by tomkh tomkh
Looks good and very good performance. With the monster remake though, I noticed the shadow seems to have some "ringing" on the left side.
added on the 2016-09-21 08:08:12 by FreeFull FreeFull