다른 하드웨어에서 텍스처를 밉 매핑하는 데 문제가 있습니다. 그것되지는 mipamp가 있어야하는데 어디에서 이렇게 GFX 카드 메모리를 읽기 위해 노력하고 따라서 카드가 다른 텍스처를 렌더링 할 때 OpenGL : 올바른 밉 매핑 방법을 자동으로 선택하는 방법은 무엇입니까?
char *exts = (char *)glGetString(GL_EXTENSIONS);
if(strstr(exts, "SGIS_generate_mipmap") == NULL){
// use gluBuild2DMipmaps()
}else{
// use GL_GENERATE_MIPMAP
}
그러나 일부 카드에이 GL_GENERATE_MIPMAP을 말한다
가 지원됩니다 : 나는 다음과 같은 코드를 사용 그 미플 라이프들에게.glGenerateMipmapEXT (GL_TEXTURE_2D)를 시도했지만 모든 텍스처를 흰색으로 만들었습니다. GL_TEXTURE_2D를 사용하기 전에 해당 기능을 사용했습니다.
모두에게 gluBuild2DMipmaps()를 사용할 수 있습니다. 작동하기 때문에 모든 사용자에게 gluBuild2DMipmaps()를 사용할 수 있습니다. 그러나 나는 정말로 오래된 카드를 가지고있는 2 명의 사용자가 있기 때문에 새로운 카드가 10 배 더 느리게로드되게하고 싶지 않습니다.
어떻게 밉맵 방법을 올바르게 선택합니까?
첫 번째 부분은 +1이지만 드라이버를 비난하지는 않습니다. 대신 GL_GENERATE_MIPMAP_SGIS를 사용해보십시오. 가능한 경우 GL_EXT_framebuffer_object를 확인하고 glGenerateMipmap을 사용할 수도 있습니다. – Calvin1602
문제는 그 카드를 감지하는 방법을 모른다. – Newbie
나는 그것이 작동하고있어, 어떤 테스트 후에 이걸 받아들이겠다고 생각한다. – Newbie