Jetson Linux API 参考文档

32.7.4 版本
NvEglRenderer 类参考

详细描述

NvEglRenderer 是一个使用 EGL 和 OpenGL ES 2.0 进行渲染的辅助类。

渲染器需要缓冲区的文件描述符 (FD) 作为输入。渲染速率,以帧每秒 (fps) 为单位,是可配置的。

渲染器创建自己的 X Window 窗口。窗口的宽度、高度、水平偏移和垂直偏移是可配置的。

所有 EGL 调用都必须通过一个线程执行。此类在内部创建一个线程,该线程执行所有 EGL/GL 初始化、从 FD 获取 EGLImage 对象、渲染 EGLImage 对象,然后反初始化所有 EGL/GL 结构。

定义位于文件 74NvEglRenderer.h

NvEglRenderer 的继承关系图
NvEglRenderer 的协作图

公共成员函数

 ~NvEglRenderer ()
 
int render (int fd)
 渲染缓冲区。 更多...
 
int setFPS (float fps)
 设置渲染速率,以帧每秒 (fps) 为单位。 更多...
 
EGLDisplay getEGLDisplay ()
 获取底层 EGLDisplay。 更多...
 
int setOverlayText (char *str, uint32_t x, uint32_t y)
 设置叠加字符串。 更多...
 
virtual int isInError ()
 指示元素在其操作期间是否遇到错误。 更多...
 
void getProfilingData (NvElementProfiler::NvElementProfilerData &data)
 获取元素的性能分析数据。 更多...
 
void printProfilingStats (std::ostream &out_stream=std::cout)
 将元素的性能分析数据打印到输出流。 更多...
 
virtual void enableProfiling ()
 启用元素的性能分析。 更多...
 
bool isProfilingEnabled ()
 检查是否为元素启用了性能分析。 更多...
 

静态公共成员函数

static NvEglRenderercreateEglRenderer (const char *name, uint32_t width, uint32_t height, uint32_t x_offset, uint32_t y_offset)
 创建一个新的基于 EGL 的渲染器,名为 name更多...
 
static int getDisplayResolution (uint32_t &width, uint32_t &height)
 获取显示分辨率。 更多...
 

保护属性

int is_in_error
 指示元素操作期间是否遇到错误。 更多...
 
const char * comp_name
 指定组件的名称,用于调试。 更多...
 
NvElementProfiler profiler
 元素的性能分析器。 更多...
 

构造函数 & 析构函数文档

◆ ~NvEglRenderer()

NvEglRenderer::~NvEglRenderer ( )

成员函数文档

◆ createEglRenderer()

static NvEglRenderer* NvEglRenderer::createEglRenderer ( const char *  name,
uint32_t  width,
uint32_t  height,
uint32_t  x_offset,
uint32_t  y_offset 
)
static

创建一个新的基于 EGL 的渲染器,名为 name

此方法创建一个新的 X window 窗口用于渲染,窗口大小为 widthheight,并由 x_offsety_offset 偏移。如果 widthheight 为零,则会创建一个全屏窗口,且 x_offsety_offset 设置为零。

它在内部初始化 EGL,创建 eglContexteglSurface,GL 纹理和用于渲染的着色器。

参数
[in]name指定指向唯一名称的指针,以标识元素实例。
[in]width指定窗口的宽度,以像素为单位。
[in]height指定窗口的高度,以像素为单位。
[in]x_offset指定窗口的水平偏移,以像素为单位。
[in]y_offset指定窗口的垂直偏移,以像素为单位。
返回值
对新创建的渲染器对象的引用,否则,如果初始化期间失败,则返回 NULL

◆ enableProfiling()

virtual void NvElement::enableProfiling ( )
virtualinherited

启用元素的性能分析。

NvV4l2Element 中重新实现。

◆ getDisplayResolution()

static int NvEglRenderer::getDisplayResolution ( uint32_t &  width,
uint32_t &  height 
)
static

获取显示分辨率。

参数
[out]width指向全屏宽度的指针,以像素为单位。
[out]height指向全屏高度的指针,以像素为单位。
返回值
成功返回 0,否则返回 -1。

◆ getEGLDisplay()

EGLDisplay NvEglRenderer::getEGLDisplay ( )
inline

获取底层 EGLDisplay。

返回值
EGLDisplay 句柄

定义位于文件 132NvEglRenderer.h

◆ getProfilingData()

void NvElement::getProfilingData ( NvElementProfiler::NvElementProfilerData data)
inherited

获取元素的性能分析数据。

返回值
对元素的性能分析数据的常量引用。

◆ isInError()

virtual int NvElement::isInError ( )
inlinevirtualinherited

指示元素在其操作期间是否遇到错误。

返回值
如果没有遇到错误,则返回 0;如果遇到错误,则返回非零值。

NvV4l2Element 中重新实现。

定义位于文件 72NvElement.h

参考 NvElement::is_in_error

◆ isProfilingEnabled()

bool NvElement::isProfilingEnabled ( )
inherited

检查是否为元素启用了性能分析。

返回值
布尔值,指示是否启用了性能分析。

◆ printProfilingStats()

void NvElement::printProfilingStats ( std::ostream &  out_stream = std::cout)
inherited

将元素的性能分析数据打印到输出流。

参数
[in]out_streamstd::ostream 类型的输出流,用于将数据打印到该流。如果未指定,则采用默认值 std::cout。

◆ render()

int NvEglRenderer::render ( int  fd)

渲染缓冲区。

此方法等待直到下一个缓冲区的渲染时间,该时间根据上一个缓冲区的渲染时间和帧每秒 (fps) 的渲染速率计算得出。这是一个阻塞调用。

参数
[in]fd指定要渲染的导出缓冲区的文件描述符 (FD)。
返回值
成功返回 0,否则返回 -1。

◆ setFPS()

int NvEglRenderer::setFPS ( float  fps)

设置渲染速率,以帧每秒 (fps) 为单位。

警告
不允许 fps 为零。
参数
[in]fps指定渲染速率,以 fps 为单位。
返回值
成功返回 0,否则返回 -1。

◆ setOverlayText()

int NvEglRenderer::setOverlayText ( char *  str,
uint32_t  x,
uint32_t  y 
)

设置叠加字符串。

参数
[in]str指向叠加文本的指针。
[in]x水平偏移,以像素为单位。
[in]y垂直偏移,以像素为单位。
返回值
成功返回 0,否则返回 -1。

字段文档

◆ comp_name

const char* NvElement::comp_name
protectedinherited

指定组件的名称,用于调试。

定义位于文件 122NvElement.h

◆ is_in_error

int NvElement::is_in_error
protectedinherited

指示元素操作期间是否遇到错误。

定义位于文件 120NvElement.h

NvElement::isInError() 引用。

◆ profiler

NvElementProfiler NvElement::profiler
protectedinherited

元素的性能分析器。

定义位于文件 124NvElement.h


此类文档由以下文件生成
. All rights reserved.