How to get BackProjectionTransform from DepthBufferProcessor

Include the following details (edit as applicable):

  • Issue category: Semantic Segmentation / Multiplayer / Real-time Mapping-Depth / ARDK Documentation / Unity Example Package / Sample App aka ‘AR Voyage’ / ARDK Virtual Studio Tools / Developer Tools / Networking
  • Device type & OS version: Android / iOS
  • Host machine & OS version: Mac
  • Unity version:

how to get access to DepthBufferProcessor.BackProjectionTransform?
It is a protected member variable of AwarenessBufferProcessor.cs. So, if I create my own class that extends from AwarenessBufferProcessor , how can I make the ARDepthManager to use my class ?

Hi @Camilo_Diaz , just wanted to let you know that we are looking into this. Apologies for the delayed response!

Hi Camilo, it would help to know your use case here? What feature are you trying to implement? Thanks.

Hi,

I want to move the GetDistance logic to the gpu so I can compute distance per pixel on the shader, not in the cpu.

Hi Camilo, the best way to do so would be creating a wrapper in the custom DepthBufferProcessor that surfaces the data. For example:

public Matrix4x4

BackProjectionPublic {

get =>

BackProjectionTransform;

}

To access the new DepthBufferProcessor in ARDepthManager, you would then have to modify the ARDK provided constructor to create your own object.

You are able to directly modify the file, or fork it into your own ARDepthManager_copy so that it doesn’t get overwritten by ARDK updates.

      private DepthBufferProcessor

_GetOrCreateProcessor()

{

 if (_depthBufferProcessor ==

null)

 {

    _depthBufferProcessor =

new DepthBufferProcessor(_camera)

// ← this line

        {

           InterpolationMode =

_interpolation,

            InterpolationPreference

= _interpolationPreference

         };

     }



     return

_depthBufferProcessor;

  }