simpleGLES_EGLOutput - Simple OpenGLES EGLOutput

Description

Demonstrates data exchange between CUDA and OpenGL ES (aka Graphics interop). The program modifies vertex positions with CUDA and uses OpenGL ES to render the geometry, and shows how to render directly to the display using the EGLOutput mechanism and the DRM library.

NOTE: On Orin platform, execute this command before running sample:
$ sudo modprobe nvidia-drm modeset=1

Key Concepts

Graphics Interop, Vertex Buffers, 3D Graphics

Supported SM Architectures

SM 5.0 SM 5.2 SM 5.3 SM 6.0 SM 6.1 SM 7.0 SM 7.2 SM 7.5 SM 8.0 SM 8.6 SM 8.7 SM 8.9 SM 9.0

Supported OSes

Linux

Supported CPU Architecture

armv7l

CUDA APIs involved

CUDA Runtime API

cudaGraphicsUnmapResources, cudaMemcpy, cudaFree, cudaGraphicsResourceGetMappedPointer, cudaGraphicsMapResources, cudaDeviceSynchronize, cudaGraphicsUnregisterResource, cudaMalloc, cudaGraphicsGLRegisterBuffer

Dependencies needed to build/run

EGLOutput, GLES

Prerequisites

Download and install the CUDA Toolkit 12.5 for your corresponding platform. Make sure the dependencies mentioned in Dependencies section above are installed.

References (for more details)