0
OpenGL에서 일부 픽셀 작업을 수행하고 있으며 PNG를로드해야만 정상적으로 작동합니다. 나는 'Devil'이라는 것을 발견하고 발견 한 예를 따랐다. 그것은 무언가를 표시하지만 무작위 무지개입니다. 나는 내가 할 수있는 한 그것을 바로하고있다. 데이터를 텍스트 파일로 출력하여 확인합니다. 다른 라이브러리를 사용해 보았습니다. 그러나 라이브러리를 구축하는 것은 저의 능력을 약간 뛰어 넘었습니다. 여기 내 설정이다 :Devil OpenGL에서 표시하기위한 PNG 형식
((In global scope))
unsigned char pixels[160000*3];
ILubyte * bytes ;
((Main))
ilInit();
ilLoadImage("test.png") ;
size = ilGetInteger(IL_IMAGE_SIZE_OF_DATA) ;
bytes = ilGetData() ;
그리고 여기 내 드로잉 루틴이다 : 나는 정렬이 잘못 알고
//Color the screen all pretty
for(int i=0;i<160000*3;)
{
pixels[i] = a;
i++;
pixels[i] = b;
i++;
pixels[i] = c;
i++;
}
//Break the png
for(int i = 0 ; i < size;)
{
if(bytes[i+3] != 255)
{ i+=4;
continue; }
pixels[i] = bytes[i];
i++;
pixels[i] = bytes[i];
i++;
pixels[i] = bytes[i];
i++;
i++;
}
glDrawPixels(
400,
300,
GL_RGB,
GL_UNSIGNED_BYTE,
pixels
);
; 나중에 해결할 것입니다. 문제는 색상이 완전히 맞지 않다는 것입니다.
P. 당신이 텍스쳐 쿼드를 사용해야한다고 알고 있습니다.
감사합니다. 색상은 정확하지만 모든 항목이 RGBA인지 확인 했더라도 알파를 제대로 표시하지 못하는 것 같습니다. 또한 for 루프로 표시 할 수 있도록 데이터를 변환하는 방법이 있습니까? – user2345349
Nevermind, 일하고있어, 그냥 몇 가지 세부 사항을 간과, 고마워 :) – user2345349