Open alternative to the render TOP..?

Hi everyone,

I’m looking to do some things that are outside the standard use of what you can do with a GLSL MAT. Ideally defining multiple camera’s myself directly in GLSL that can do a basic render of the same scene from many angles.

I know this normally works by adding multiple Camera COMPs into the Camera(s) parameter. Though I want to control and define those cameras myself directly in GLSL, without having to have them exist as Camera COMPs.

As far as I understand in order to do that, I need access to parts which are currently handled by the render TOP and aren’t publicly available to other places such as GLSL MATs.

My main question therefore is, has anyone before attempted to make an alternative to the render TOP written in for instance a GLSL TOP?

Figured this is also a good general discussion point that could do with some insights from the community.

Please contribute and let me know your thoughts.

Greetings Mickey

Hey Mickey,

The short answer is I think that isn’t possible. The renderTOP rasterizes triangles of
objects. The only way possible I would think is looping through those triangles yourself and
calculate the intersection with a camera ray (ray going through a pixel of your screen/viewport). But that’s not really doable with a complex scene and multiple cameras.

The long answer, there are of course other render techniques you can do in a TOP, such as raytracing (calculating the intersection), raymarching (stepping through the world until you hit something). But this needs different type of geometry to render, I think you are aiming to render some SOPs right?

If it’s just a bounded scene (not so detailed, fitting in a box) you could use voxels (3d pixels saved in a 3d texture) and render those using raytracing/marching. Though again I doubt this is
what you’re looking for. :slight_smile:
Then there is another technique which may or may not work for you, is that you’re able to create a custom projection GLSL script (in the View tab of the camera ‘Custom projection GLSL DAT’) Here you’re able to create a custom world to projection conversion. You are able to use
arbitrary matrices to transform your vertices, however you literally transforming the vertices
so having multiply cameras (matrices) showing the same vertices won’t work.

How many cameras are you talking about? Might be that the conventional way would still be the
best, adding multiple cameras to your renderTOP then selecting the output. It’s still quite high
performant.

cheers,
tim