Possible to use 3D Textures for 3D LUT Implementation or ?

Hi Folks,

In the pass we have implemented 3D LUT processing using OpenGL ES version with extension for 3D textures. We are now working on a GStreamer plugin to do the 3D LUT processing. Unfortunately the 3D texture is not supported and I don’t see how to add any extensions? Is that possible or a dead end as far as using 3d textures is concerned for OPenGL ES. We did use OpenGL desktop in the pass as there was support for 3D textures but in the GStreamer image pipeline there is no display application just X(i.e no desktop manager, etc…) So not sure that is an option for use as we are turning the Jetson Nano into a player that doesn’t have any display app associated with is just output to X with no desktop manager. So can we somehow use OPenGL with 3D textures in the configuration described or is there some other way this can be done. Would like a solution that has least memory copies between plugins (elements) and uses the minimum amount of GPU resources. Looking forward to your thoughts.

Hi,
We suggest you try tegra_multimedia_api. There is an NvEglRenderer which can be a suitable reference for your usecase.

/usr/src/tegra_multimedia_api/samples/common/classes/NvEglRenderer.cpp

Hi Tom,

Regarding 3D texture support, 3D texture is a part of core OpenGL ES 3.0 (https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glTexImage3D.xhtml) and it should be supported on Jetson BSP