1
색상 당 1 바이트의 "원시"BGRA 텍스처가 포함 된 버퍼가 있습니다. 줄의 순서가 반대입니다 (텍스처가 거꾸로되어 있음).BGRA -> RGBA 및 수직 플립, OptiX
BGRA 버퍼는 모두 녹색 (0, 255, 0, 255)입니다.
RGBA로 변환하고 텍스처 선을 뒤집을 필요가 있습니다. 나는이 시도 :
// bgra is an unsigned char*
int width = 1366;
int height = 768;
unsigned char* rgba = new unsigned char[width * height * 4];
for(int y = height - 1; y >= 0; y--)
{
for(int x = 0; x < width; x++)
{
rgba[(x * y * 4)] = bgra[(x * y * 4) + 2];
rgba[(x * y * 4) + 1] = bgra[(x * y * 4) + 1];
rgba[(x * y * 4) + 2] = bgra[(x * y * 4)];
rgba[(x * y * 4) + 3] = bgra[(x * y * 4) + 3];
}
}
을하지만, 렌더링 결과는 전체 녹색 화면이 아니라이 :
내가 잘못 무슨 일을 할 수 있는가?
덕분에, 내 색인 벗어났다. 그러나 그것이 내 유일한 문제는 아니었다. 질문이 수정되었습니다. – EClaesson
색인 생성이 문제 였고 코드의 아래쪽에서 색인이 끊어졌습니다. 감사. – EClaesson