2013-08-19 11 views
-2

기본적으로 2D 게임을 제작 중입니다. 나는 VBOs와 GLSL Shaders를 사용하고있다. 이제 내가하는 모든 텍스처를 VBO로 만듭니다. 따라서 그 텍스처를 사용하는 모든 드로어 블 객체가 VBO에 삽입됩니다. 그래서 얼마 전에 많은 작은 상자를 만들고 서로 옆에 배치하여 개체와 같은 표를 만들려고했습니다. 모두 같은 VBO에 있었으므로 객체와 같은 그리드를 만들기 위해 텍스처가 모두 같았습니다. 그들이 10 살이 넘으면 이상한 유물이 생기기 시작했습니다.OpenGL - 아주 이상한 유물 ... 같은 종류의 객체가 많은 경우에만 발생합니다.

그래서 나는 하나의 큰 드로어 블을 생성하고 그것을 여러 번 반복하여 이것을 통과 시켰습니다. 유물은 사라졌습니다. 이제는 텍스트 매핑을 시작했습니다. (각 문자는 인스턴스이지만 동일한 텍스쳐, 텍스트 맵을 공유합니다.) 6 글자 이상을 지나면 나타납니다. 왜 내가 이런 일이 일어나고 있는지 알지 못한다. 그래서 사람이 문제의 원인이 될 수 무슨 단서가 있는지 궁금 해서요

...

참고 : 나는 또한 내 조명 시스템에있는 것을 발견 (같은 질감하지만 서로 다른 RGB 값)의 경우 그 저는 두 개의 빛을 서로 너무 가깝게 두었습니다. 그것들은 3 번처럼 인공물이 시작된 후에 교차합니다. 텍스트가 실제로 패딩으로 인해 교차하기 때문에 원인 일 수 있습니다. 교차하는 2 개의 텍스처를 수정하고 아티팩트를 발생시키는 동일한 텍스처를 사용하려면 어떻게해야합니까?

편집 :

+0

메모 읽기! 그것은 당신에게 단서를 줄 수 있습니다. : P – Gopgop

+0

사실 나는 그것이 패딩을 제거하여 그들이 교차하지 않고 여전히 인공물이 있기 때문에 그것이 맞는지 확신이 없습니다 .. – Gopgop

+0

도움이 될만한 몇 가지 코드와 그림이 추가되었습니다. – Gopgop

답변

0

해결 .. 나는 패딩을 제거하고 유물이 아직도 있었다는 것을 신경 쓰지 ^^^. 문제는 glDrawElements 두 번째 인수에서 내가 가진 인덱스의 실제 양보다 큰 숫자를 전달했기 때문에 OpenGL이 여분의 삼각형을 렌더링하려고 시도했기 때문입니다.