1
3D 장면의 맨 위에 응용 프로그램의 fps를 표시하는 hud를 그려야합니다. 이 질문에 대한 대답은 초기화 코드를 변경하고 다시 전환하는 것과 관련이 있다는 것을 알고 있습니다. 이 물건 :lwjgl/opengl에서 3d 장면에 2D 오버레이 그리기
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 800, 600, 0, 1, -1);
glMatrixMode(GL_MODELVIEW);
이것은 화면의 2d 부분을 렌더링하는 데 필요한 코드입니다. 관련 메모에서 나는이 코드가 무엇을하는지 이해하는데 어려움을 겪고 있으며 그것에 대한 좋은 자료를 찾지 못했습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니다. 대부분의 자습서에는 설치 코드가 포함되어 있지 않으므로 사람들이 사용 방법을 알고 있다고 생각합니다 (하지만 그렇지 않습니다!).
'glOrtho' 콜에 대해 설명하겠습니다. 이것이 투영 행렬입니다. 기본적으로 뷰가 뷰포트에 투영되는 방법을 정의합니다. 직교 투영 행렬은 원근법이없는 투영 행렬입니다. 투영 된 점의 X 및 Y 위치는 그들이 멀리/가까이 갈수록 커지지 않습니다. 0,600이 왼쪽 하단이고 800,0이 오른쪽 상단 인 곳에 투영법을 정의했습니다. 또한 ** 1 **이 가장 가까운 지점이고 ** - 1 **이 가장 멀리있는 (즉 관습에서 거꾸로 있지만 깊이 테스트를 사용하지 않는 경우에는 거의 중요하지 않은) Z 값의 범위를 정의했습니다. . –
당신이 이해해야 할 나머지 부분은 내가 대답 할 때 편안함을 느낄 때보 다 조금 더 복잡하고 시간이 많이 걸립니다. 대답은 글꼴 등을로드하는 방법을 알려주는 것입니다. 매우 복잡한 과정이며 가장 좋은 방법은 튜토리얼을 찾는 것입니다. 실제로 텍스트 렌더링을 구현하는 데 문제가 있다면 좋은 방법이 될 것입니다. StackOverflow에 다른 질문을 할 시간. 바로이 질문은 불행히도 대답하기에는 너무 광범위합니다. - \ –