레트로 2D 픽셀 그래픽을 렌더링할 때 픽셀화를 위해 더 낮은 내부 해상도를 사용하고 출력을 더 큰 해상도로 크기 조정하는 것이 일반적입니다. 표시하다. 그러나 GL_LINE_LOOP 프리미티브의 크기를 조정하면 픽셀화되지 않은 선이 발생할 수 있습니다.
OpenGL의 glOrtho 함수는 원점이 왼쪽 하단에 있고 끝 부분까지 확장되는 2D 좌표계를 정의합니다. 오른쪽 상단. glOrtho(0, 320, 240, 0, 0, 1)을 호출하면 320x240 가상 캔버스를 정의합니다.
그러나 glViewport 함수를 사용하여 출력 크기를 조정하면 가상 캔버스의 크기가 물리적으로 조정되지 않습니다. . 대신, 프리미티브는 전체 출력 해상도(예: 960x720)로 그려진 다음 크기가 확대됩니다. 이로 인해 픽셀화된 직사각형이 생성되지만 픽셀화되지 않은 선이 생성됩니다.
권장되는 해결 방법은 원하는 가상 해상도(이 경우 320x240)의 텍스처로 렌더링한 다음 해당 텍스처를 그리는 것입니다. 원하는 출력 해상도(960x720)로 창에 표시됩니다. 이렇게 하면 기본 요소가 픽셀화된 모양을 유지하면서 가상 해상도로 렌더링됩니다.
이 접근 방식을 사용하면 선이 가상 해상도로 그려지므로 더 높은 해상도로 확대해도 픽셀 모양이 유지됩니다. 출력 해상도.
위 내용은 OpenGL에서 크기를 조정할 때 픽셀화된 선을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!