2017-11-08 14 views
0

저는 뷰어 (바닥 평면)에 대해 큰 각도로 텍스처를 렌더링하고 있습니다. 이방성 필터링을 지원하는 하드웨어에서 모두 괜찮습니다. 그러나 하드웨어가없는 일부 장치 (GL_EXT_texture_filter_anisotropic 없음)를 지원해야합니다.하드웨어에서 이방성 필터링을위한 대안

밉맵을 끄면 텍스처가 멀리 떨어져 있지만 모아레 패턴이 예상대로 나옵니다. 밉맵을 켜면 모아레 패턴이 사라지지만 거리에서 질감이 흐려집니다 (다시 예상대로).

이방성 필터링이없는 하드웨어에 대한 대안이 있습니까? 프래그먼트 셰이더 (opengl-es-2.0만이 두렵다)에서 이것을 할 수 있습니까? 어디서나 샘플 코드? 타원형 가중치 평균 필터링에 http://www.pmavridis.com/ewa.html을 구현했는데 샘플 코드는 기본 이방성 하드웨어 필터링을 사용하고 여하튼 OpenGL-es-2.0에서는 사용할 수없는로드를 사용합니다.

높은 프레임 속도, 좋은 화질을 목표로하지 않습니다. 당신의 밉맵

답변

2

삼선 필터링은 일을 약간 향상 :

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 

밉맵 바이어스 선명도를 향상시킬 수 있습니다. 일부 모아레를 도입 할 수도 있지만 모핑을 사용하지 않도록 설정할 수는 없습니다. 그것은 IIRC 프래그먼트 쉐이더

texture2D(yourSampler, yourTexCoords, yourMipBias); 

에 texture2D의 다른 오버로드를 호출하여 이루어집니다, 1 개 밉 수준으로 텍스처 샘플링을 선명하게합니다 yourMipBias -1의 값이, 당신이 당신의 장면 조정할해야 할 것이다, -0.5에서 -1.5 정도의 값으로 충분할 수도 있습니다.

나는 셰이더에 자신의 이방성 필터링을 쓰는 것이 가능할 것이라고 믿지만, 나는 그것을 처음 경험 한 적이 없다. 나는 당신이보기 흉하지 않은 시각적 품질을 그런 식으로 얻을 수 있는지 알아보기 위해 이러한 쉽고 효율적인 접근법을 먼저 시도 할 것입니다.