2012-09-18 3 views
1

여기에 내가 사용하고 있습니다OpenGL 개체에 사용되는 텍스처가 왜 품질이 좋지 않고 늘어 났을까요?

OpenGL 벽에 붙여 넣을 때 텍스처가 해상도가 낮고 품질이 낮 으면 어떻게 개선 할 수 있습니까? 구형 매핑 : -

예에서 코드

ground->m_texture = new cTexture2D(); 
fileload = ground->m_texture->loadFromFile(RESOURCE_PATH("resources/images/shadow.bmp")); 
ground->setUseTexture(true); 
ground->m_texture->setSphericalMappingEnabled(true);//this line is for circular objects, but without it texture doesnt even show up 

보이게하는 방법은

내 구현 enter image description here

+1

스크린 샷은 어떤가요? – datenwolf

+0

편집을 확인하십시오 –

+0

무엇이 ... 그들은 매우 달라 보입니다 .... – TheAmateurProgrammer

답변

3

좋아 보이는 방법 enter image description here

, 무슨 일이 일어나고 다음이다 vertex-to-viewport 벡터와 꼭지점의 법선을 기반으로 텍스처 좌표를 생성하여 int에 매핑합니다. o 구형 반사 방향은 일종의 어안 (fisheye) 이미지로 매핑됩니다. 지오메트리는 매우 평평한 것처럼 보이기 때문에이 방법으로 생성 된 텍스처 좌표의 변형은 다소 작을 것입니다. 즉, 이미지를 크게 확대 한 것입니다. 이제 텍스처 필터링 모드가 가장 가까운 필터링으로 설정된 경우 이것이 발생합니다.

해결 방법 : 구형 텍스처 매핑을 사용하지 마십시오. 반사를 에뮬레이션하려면 큐브 맵을 사용하고 (반사 벡터의 작은 편차에 대해서는 훨씬 더 효율적으로 동작 함) 선형 필터링 모드로 전환하십시오.

관련 문제