用于从 UTextureRenderTarget2D 读取像素的实用工具。 更多...
#include <PixelReader.h>
Public 类型 | |
using | Payload = std::function<void(void *, uint32, uint32, uint32)> |
静态 Public 成员函数 | |
static TUniquePtr< TImagePixelData< FColor > > | DumpPixels (UTextureRenderTarget2D &RenderTarget) |
转储 RenderTarget 中的像素。 | |
static TFuture< bool > | SavePixelsToDisk (TUniquePtr< TImagePixelData< FColor > > PixelData, const FString &FilePath) |
异步保存 PixelData 中的像素到磁盘。 | |
static TFuture< bool > | SavePixelsToDisk (UTextureRenderTarget2D &RenderTarget, const FString &FilePath) |
异步保存 RenderTarget 中的像素到磁盘。 | |
template<typename TSensor , typename TPixel > | |
static void | SendPixelsInRenderThread (TSensor &Sensor, bool use16BitFormat=false, std::function< TArray< TPixel >(void *, uint32)> Conversor={}) |
方便函数,将渲染命令加入队列以通过 Sensor 的数据流发送像素。 它需要一个继承自 ASceneCaptureSensor 或兼容的传感器。 | |
static bool | WritePixelsToArray (UTextureRenderTarget2D &RenderTarget, TArray< FColor > &BitMap) |
将 RenderTarget 中的像素复制到 BitMap 中。 | |
static void | WritePixelsToBuffer (const UTextureRenderTarget2D &RenderTarget, uint32 Offset, FRHICommandListImmediate &InRHICmdList, FPixelReader::Payload FuncForSending) |
将 RenderTarget 中的像素复制到 Buffer。 | |
using FPixelReader::Payload = std::function<void(void *, uint32, uint32, uint32)> |
在文件 PixelReader.h 第 38 行定义.
|
static |
转储 RenderTarget 中的像素。
从渲染目标提取像素数据,并将其封装为唯一指针。
RenderTarget | 要读取的纹理渲染目标。 |
在文件 PixelReader.cpp 第 127 行定义.
引用了 WritePixelsToArray().
被这些函数引用 SavePixelsToDisk().
|
static |
异步保存 PixelData 中的像素到磁盘。
异步保存像素数据到磁盘。
PixelData | 要保存的像素数据。 |
FilePath | 保存图像的文件路径。 |
在文件 PixelReader.cpp 第 162 行定义.
|
static |
异步保存 RenderTarget 中的像素到磁盘。
将渲染目标中的像素数据异步保存到磁盘。
RenderTarget | 要读取的纹理渲染目标。 |
FilePath | 保存图像的文件路径。 |
在文件 PixelReader.cpp 第 148 行定义.
引用了 DumpPixels() , 以及 SavePixelsToDisk().
被这些函数引用 URoadMap::SaveAsPNG(), ASceneCaptureSensor::SaveCaptureToDisk() , 以及 SavePixelsToDisk().
|
static |
方便函数,将渲染命令加入队列以通过 Sensor 的数据流发送像素。 它需要一个继承自 ASceneCaptureSensor 或兼容的传感器。
注意:序列化器需要定义一个 "header_offset",分配在缓冲区前部。
阻塞,直到渲染线程完成所有任务。
在文件 PixelReader.h 第 92 行定义.
引用了 carla::BufferView::CreateFrom(), carla::streaming::detail::token_type::get_stream_id(), FCarlaEngine::GetFrameCounter(), carla::ros2::ROS2::GetInstance(), SendPixelsInRenderThread(), carla::sensor::CompositeSerializer< Items >::Serialize() , 以及 WritePixelsToBuffer().
被这些函数引用 SendPixelsInRenderThread().
|
static |
将 RenderTarget 中的像素复制到 BitMap 中。
将像素数据从渲染目标写入数组。
RenderTarget | 要读取的纹理渲染目标。 |
BitMap | 用于存储像素数据的数组。 |
在文件 PixelReader.cpp 第 104 行定义.
引用了 UE_LOG().
被这些函数引用 DumpPixels() , 以及 ASceneCaptureSensor::ReadPixels().
|
static |
将 RenderTarget 中的像素复制到 Buffer。
将像素数据从渲染目标异步写入缓冲区。
RenderTarget | 要读取像素数据的纹理渲染目标。 |
Offset | 缓冲区的字节偏移量。 |
RHICmdList | 渲染操作的命令列表。 |
FuncForSending | 处理像素数据的回调函数。 |
在文件 PixelReader.cpp 第 27 行定义.
被这些函数引用 SendPixelsInRenderThread().