2016-09-28 1 views
0

텍스처를 사용하여 셰이더를 사용하여 일부 위치 값을 사전 계산하고 텍스처가 2의 제곱 수가 아닌 오류가 발생했습니다. 실제로, 나는 그것들을 정사각형 (7,043,716 텍셀, 2654의 제곱)으로 만들기 위해 그들을 확장했다. 그러나 텍스쳐는 반드시 2의 특별한 힘이어야한다고 생각하기 시작했다. 아마도 8로 나눌 수 있을까? 예 : 이 숫자가 계속 올라감에 따라 8x8, 16x16, 32x32, 64x64. 이것도 그렇습니까? 그렇다면 상한이 있습니까?텍스처는 2의 특정 승수로 나타 납니까?

+1

"2의 힘"이 의미하는 바를 오해하고있는 것처럼 들립니다. – WestLangley

+0

@WestLangley - 오 - 정말로. 나는 그것을 보았을 때 내가 2의 거듭 제곱으로 사각형을 혼동하고 있다는 것을 깨달았습니다. 감사! – gromiczek

답변

0

난 당신이 특정 전력 할 필요가 있다고 생각하지 않지만 gl.getParameter(gl.MAX_TEXTURE_SIZE) 당신이에있어 브라우저와 하드웨어에서 사용할 수있는 상한을 얘기해야하고, 적어도 (64)을 을 (해야합니다 주의 사항 : 문서 당 단지 "대략적인 견적"일 뿐이지 만 업로드하지 않고 얻을 수있는 것만 큼 좋을뿐입니다.

나는 보통 iOS 사용자이므로 내 머리 꼭대기는 아이폰 4와 그 아래 2048에 있지만 적어도 4 개 이상은 4096을 지원할 수있다. 코드에서 2654보다 낮은 한계를 감당할 수 없다고 가정 할 때, 그렇게 추측 할 수있다. .

+0

나는 실험적으로 텍스처를 8x8, 16x16, 32x32 ...와 일치하는 힘까지 부딪혔다. 결국 4096 x 4096이되고 오류는 사라졌다. NVIDIA GT970을 사용하고 있습니다. 보폭이 커진 것 같습니다. 나는이 오류가 Three.js에만 해당 될 것이라고 생각한다. 도와 주셔서 감사합니다! – gromiczek

관련 문제