2013-02-18 2 views
-1

저는 JOGL을 처음 접했고 모든 텍스처에 앤티 앨리어싱을 사용하지 않도록 설정하려고했습니다. 웬일인지 문자 'S'의 질감에서만 작동합니다.JOGL에서 텍스처의 앤티 앨리어스 중지

홈페이지 :

여기 내 수업의 모두 pastebin.com/qxCJKbbE

룸 : pastebin.com/mKFSgqBp

MAINMENU : pastebin.com/tihb3wAX

RenderHelper : pastebin.com/qfzXqCQY

i.imgur.com/qMRyG0j.png

또한, 분명히 나는 ​​2 개 이상의 링크 또는 그림을 더 이상 평판이 없도록 게시 할 수 없으므로 나는 단지 http : \\를 빼앗아 이미지를 연결했다.

+1

사람들이 전체 코드베이스를 살펴보고 무슨 일이 일어나는지 예상하지 마십시오. 문제를 격리하고 선택한 코드 조각을 게시하십시오. – Torious

+0

나는 문자 그대로 내가 찾은 모든 것을 시도했다. 아무것도 작동하지 않는 것 같습니다. 그 텍스처는 텍스처에만 적용되기 때문에 분명히 텍스처에있는 어떤 것입니다. 코드 전체에서 그 텍스처와 다른 것은 없습니다. 나는 그것을하기위한 특별한 방법이 있는지 묻는 것이다. 나는 실종되었다. 그리고 알다시피, 제 코드는 그렇게 크지 않습니다. 나는 단순히 현재의 방으로 향하는 렌더링을 호출하고 렌더링하는 진정한 게임 루프를 가지고 있습니다. 방에서 렌더러 클래스 드로잉 큐브를 볼 수 있습니다. 내 코드가 더 복잡했다면 이해할 수있다. – Marcus13345

답변

0

glTexParameterf은 현재 바인딩 된 텍스처에만 영향을줍니다. loadind/setup 중에 각 텍스처에 대해 변경되지 않는 텍스처 매개 변수를 설정해야합니다. 이를 위해

, 당신은 또한 예를 들어, Texture 클래스의 편리한 방법을 사용할 수 있습니다

C = render.getTexture("E:\\MAndWorks\\resources\\font\\C.png"); 
C.setTexParameterf(GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_NEAREST); 
// (note that this also binds the texture behind the scenes) 

는 편지 위해 일한 이유 "S"는 당신이 렌더링 마지막 질감이 있다는 것이다 당신의 렌더링 패스이므로 다음 번 호출에서 texture 매개 변수를 display으로 설정하면 효과적으로 "S"텍스처의 매개 변수를 설정합니다.

행운을 비네.

+0

정말 고마워요! 이건 내가 빠뜨린 속임수 야! 나는 약간의 코드가 init (GLAutoDrawable) 호출에서만 필요하다는 인상을 받았다. 나는 그것을 지금 시험해 볼 것이다! – Marcus13345

+0

그래서, 변경하지 않은 매개 변수를 가지고있는 것을 보았습니다. 단순히'C '를 설정 한 후에'C.setTexParameterf (GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_NEAREST);'를 추가하려고하면 오류가 발생합니다. 그러한 방법은 존재하지 않는다. 편집 : 메서드는 다른 매개 변수, GL2 개체가 필요합니다. 이를 달성하기 위해'setTexParameterf (GL2, int, float);로 전달 된 MainMenu 생성자에 GL2 매개 변수를 추가했습니다. – Marcus13345

관련 문제