2015-02-05 9 views
0

나는 Cinder 라이브러리를 사용하고 배열에 저장 한 RGBA 값으로 채워진 텍스처를 만들고 싶습니다. 인터넷에 도움이되는 설명은 없습니다.RGBA 값으로 C++ 텍스처 채우기

+0

face 기본 샘플 : https://github.com/cinder/Cinder/blob/master/samples/SurfaceBasic/src/SurfaceBasicApp.cpp – num3ric

답변

1

필자는 이전에 Cinder를 사용하지 않았지만 설명서를 빨리 ​​읽으면 파일이나 표면에서 텍스처를로드 할 수 있다고 제안하는 것 같습니다.

그래서 docs보고는 다음과 같이 표면을 만들 것 같다 : 당신은 다음을로드 할

uint8_t* pCols = surf.getData(); 
for(int y = 0; y < 128; y++) 
{ 
    for(int x = 0; x < 128; x++) 
    { 
     // Fill each pixel with red. 
     const idx = (y * (128 * 4)) + (x * 4); 
     pCols[idx + 0] = 0xff; 
     pCols[idx + 1] = 0x00; 
     pCols[idx + 2] = 0x00; 
     pCols[idx + 3] = 0xff; 
    } 
} 

:

cinder::Surface8u surf(128, 128, SurfaceChannelOrder::RGBA); 

당신은 다음과 같이 getData 기능을 사용하여 입력 할 수 있습니다 텍스처는 다음과 같습니다.

cinder::gl::Texture texture(surf);