Question>
원문 link:
https://answers.unrealengine.com/questions/193827/how-to-get-texture-pixels-using-utexturerendertarg.html
unreal engine 4를 사용 중인데,
render target의 pixel 값을 실시간으로 그대로 가져 오고 싶습니다.
이를 위해서 UTextureRenderTarget2D를 어떻게 접근해야 합니까?
-------------------------------------------------------------
Answer>
아래와 같이 접근할 수 있습니다.
UTexture2D* Aux2DTex = RenderTexture->ConstructTexture2D(
this, "AlphaTex", EObjectFlags::RF_NoFlags, CTF_DeferCompression
);
Aux2DTex->CompressionSettings = TextureCompressionSettings::TC_VectorDisplacementmap;//압축을 차단합니다.
#if WITH_EDITORONLY_DATA
Aux2DTex->MipGenSettings = TextureMipGenSettings::TMGS_NoMipmaps;//editor mode에서는 이렇게 해야 합니다.
#endif
Aux2DTex->SRGB = 0;//gamma 보정을 끕니다.
Aux2DTex->UpdateResource();//texture를 최근 값으로 갱신합니다.
FColor* FormatedImageData = NULL;
Aux2DTex->PlatformData->Mips[0].BulkData.GetCopy((void**)&FormatedImageData);
for (int i = 0; i < ALPHA_MAP_WIDTH * ALPHA_MAP_HEIGHT; i++)
{
//여기서 'FormatedImageData[ i ]'가 님이 원하는 pixel 값입니다.^^
}
source는 'iscaru1988'님 source고요.
주석은 제가 번역해서 달아 봤습니다.^^;;;;;;;
멋진 방법이에요~ ^^
Tag:
안기훈, Kee Hoon Ahn, 언리얼, Unreal, UDK, iPhone, iPad, app, 앱, iOS