Skip to main content
edited body
Source Link
concept3d
  • 12.8k
  • 4
  • 46
  • 57

Well I think it's possible to solve parabola/shape intersection equations. But first the problem is; I think it would be tricky to solve for more complicated shape and the intersection algorithm performance I suspect won't be that good. (Actually this is very obvious in the link @IcyDefiance provided in the comments).

Secondly and the far more important problem is that parabolic casters can't take advantage of spatial data structure, traversing a spatial data structure is far simpler when you assume the ray is going in a straight line, bend that path and most the traversal assumptions don't hold anymore. For example the faster ray octree intersection algorithm actually does exploit the ray and octree analytical properties, for example it assumes if a ray was in a certain cell it can only go through some other neighbor cell. Add a parabolic shape and those assumptions will vanish.

My recommendation

Stick with the ray casting technique with a memory coherent spatial data structure.

It doesn't make sincesense to test for intersection for every object in the scene anyway, using a spatial data structure is a must. I also suspect that if the data structure was cache friendly then ray casting the scene will be far less demanding.

Final Note

Something I just thought about but never tested, is to use asynchronous casting. Meaning; instead of doing one step at a time you can do each 4-16 steps together asynchronously, to be honest I never tried this and don't know if the performance will be better or worse. You just need to generate the samples first, and then do asynchronous test, similar to what people do in ray tracing, the difference is that samples will be for a parabola rather than an image.

Well I think it's possible to solve parabola/shape intersection equations. But first the problem is; I think it would be tricky to solve for more complicated shape and the intersection algorithm performance I suspect won't be that good. (Actually this is very obvious in the link @IcyDefiance provided in the comments).

Secondly and the far more important problem is that parabolic casters can't take advantage of spatial data structure, traversing a spatial data structure is far simpler when you assume the ray is going in a straight line, bend that path and most the traversal assumptions don't hold anymore. For example the faster ray octree intersection algorithm actually does exploit the ray and octree analytical properties, for example it assumes if a ray was in a certain cell it can only go through some other neighbor cell. Add a parabolic shape and those assumptions will vanish.

My recommendation

Stick with the ray casting technique with a memory coherent spatial data structure.

It doesn't make since to test for intersection for every object in the scene anyway, using a spatial data structure is a must. I also suspect that if the data structure was cache friendly then ray casting the scene will be far less demanding.

Final Note

Something I just thought about but never tested, is to use asynchronous casting. Meaning; instead of doing one step at a time you can do each 4-16 steps together asynchronously, to be honest I never tried this and don't know if the performance will be better or worse. You just need to generate the samples first, and then do asynchronous test, similar to what people do in ray tracing, the difference is that samples will be for a parabola rather than an image.

Well I think it's possible to solve parabola/shape intersection equations. But first the problem is; I think it would be tricky to solve for more complicated shape and the intersection algorithm performance I suspect won't be that good. (Actually this is very obvious in the link @IcyDefiance provided in the comments).

Secondly and the far more important problem is that parabolic casters can't take advantage of spatial data structure, traversing a spatial data structure is far simpler when you assume the ray is going in a straight line, bend that path and most the traversal assumptions don't hold anymore. For example the faster ray octree intersection algorithm actually does exploit the ray and octree analytical properties, for example it assumes if a ray was in a certain cell it can only go through some other neighbor cell. Add a parabolic shape and those assumptions will vanish.

My recommendation

Stick with the ray casting technique with a memory coherent spatial data structure.

It doesn't make sense to test for intersection for every object in the scene anyway, using a spatial data structure is a must. I also suspect that if the data structure was cache friendly then ray casting the scene will be far less demanding.

Final Note

Something I just thought about but never tested, is to use asynchronous casting. Meaning; instead of doing one step at a time you can do each 4-16 steps together asynchronously, to be honest I never tried this and don't know if the performance will be better or worse. You just need to generate the samples first, and then do asynchronous test, similar to what people do in ray tracing, the difference is that samples will be for a parabola rather than an image.

added 82 characters in body
Source Link
concept3d
  • 12.8k
  • 4
  • 46
  • 57

Well I think it's possible to solve parabola/shape intersection equations. But first the problem is; I think it would be tricky to solve for more complicated shape and the intersection algorithm performance I suspect won't be that good. (Actually this is very obvious in the link @IcyDefiance provided in the comments).

Secondly and the far more important problem is that parabolic casters can't take advantage of spatial data structure, traversing a spatial data structure is far simpler when you assume the ray is going in a straight line, bend that path and most the traversal assumptions don't hold anymore. For example the faster ray octree intersection algorithm actually does exploit the ray and octree analytical properties, for example it assumes if a ray was in a certain cell it can only go through some other neighbor cell. Add a parabolic shape and those assumptions will vanish.

My recommendation

Stick with the ray casting technique with a memory coherent spatial data structure.

It doesn't make since to test for intersection for every object in the scene anyway, using a spatial data structure is a must. I also suspect that if the data structure was cache friendly then ray casting the scene will be far less demanding.

Final Note

Something I just thought about but never tested, is to use asynchronous casting. Meaning; instead of doing one step at a time you can do each 4-16 steps together asynchronously, to be honest I never tried this and don't know if the performance will be better or worse. You just need to generate the samples first, and then do asynchronous test, similar to what people do in ray tracing, the difference is that samples will be for a parabola rather than an image.

Well I think it's possible to solve parabola/shape intersection equations. But first the problem is; I think it would be tricky to solve for more complicated shape and the intersection algorithm performance I suspect won't be that good.

Secondly and the far more important problem is that parabolic casters can't take advantage of spatial data structure, traversing a spatial data structure is far simpler when you assume the ray is going in a straight line, bend that path and most the traversal assumptions don't hold anymore. For example the faster ray octree intersection algorithm actually does exploit the ray and octree analytical properties, for example it assumes if a ray was in a certain cell it can only go through some other neighbor cell. Add a parabolic shape and those assumptions will vanish.

My recommendation

Stick with the ray casting technique with a memory coherent spatial data structure.

It doesn't make since to test for intersection for every object in the scene anyway, using a spatial data structure is a must. I also suspect that if the data structure was cache friendly then ray casting the scene will be far less demanding.

Final Note

Something I just thought about but never tested, is to use asynchronous casting. Meaning; instead of doing one step at a time you can do each 4-16 steps together asynchronously, to be honest I never tried this and don't know if the performance will be better or worse. You just need to generate the samples first, and then do asynchronous test, similar to what people do in ray tracing, the difference is that samples will be for a parabola rather than an image.

Well I think it's possible to solve parabola/shape intersection equations. But first the problem is; I think it would be tricky to solve for more complicated shape and the intersection algorithm performance I suspect won't be that good. (Actually this is very obvious in the link @IcyDefiance provided in the comments).

Secondly and the far more important problem is that parabolic casters can't take advantage of spatial data structure, traversing a spatial data structure is far simpler when you assume the ray is going in a straight line, bend that path and most the traversal assumptions don't hold anymore. For example the faster ray octree intersection algorithm actually does exploit the ray and octree analytical properties, for example it assumes if a ray was in a certain cell it can only go through some other neighbor cell. Add a parabolic shape and those assumptions will vanish.

My recommendation

Stick with the ray casting technique with a memory coherent spatial data structure.

It doesn't make since to test for intersection for every object in the scene anyway, using a spatial data structure is a must. I also suspect that if the data structure was cache friendly then ray casting the scene will be far less demanding.

Final Note

Something I just thought about but never tested, is to use asynchronous casting. Meaning; instead of doing one step at a time you can do each 4-16 steps together asynchronously, to be honest I never tried this and don't know if the performance will be better or worse. You just need to generate the samples first, and then do asynchronous test, similar to what people do in ray tracing, the difference is that samples will be for a parabola rather than an image.

Source Link
concept3d
  • 12.8k
  • 4
  • 46
  • 57

Well I think it's possible to solve parabola/shape intersection equations. But first the problem is; I think it would be tricky to solve for more complicated shape and the intersection algorithm performance I suspect won't be that good.

Secondly and the far more important problem is that parabolic casters can't take advantage of spatial data structure, traversing a spatial data structure is far simpler when you assume the ray is going in a straight line, bend that path and most the traversal assumptions don't hold anymore. For example the faster ray octree intersection algorithm actually does exploit the ray and octree analytical properties, for example it assumes if a ray was in a certain cell it can only go through some other neighbor cell. Add a parabolic shape and those assumptions will vanish.

My recommendation

Stick with the ray casting technique with a memory coherent spatial data structure.

It doesn't make since to test for intersection for every object in the scene anyway, using a spatial data structure is a must. I also suspect that if the data structure was cache friendly then ray casting the scene will be far less demanding.

Final Note

Something I just thought about but never tested, is to use asynchronous casting. Meaning; instead of doing one step at a time you can do each 4-16 steps together asynchronously, to be honest I never tried this and don't know if the performance will be better or worse. You just need to generate the samples first, and then do asynchronous test, similar to what people do in ray tracing, the difference is that samples will be for a parabola rather than an image.