> 백엔드 개발 > C++ > 본문

내부 해상도 스케일링을 사용하여 OpenGL에서 1px 선을 그리는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-04 00:25:30
원래의
392명이 탐색했습니다.

How to Draw 1px Lines in OpenGL with Internal Resolution Scaling?

OpenGL에서 1px 라인 크기 조정

문제:

내부 해상도가 320x240인 게임은 다음 크기로 표시되도록 조정됩니다. 더 높은 해상도(예: 960x720). 픽셀화된 그래픽은 올바르게 렌더링되지만 GL_LINE_LOOP로 그린 선은 최대 3px까지 확장되어 잘못된 픽셀 아트가 발생합니다.

질문:

어떻게 선을 그릴 수 있나요? 960x720 디스플레이 보기 대신 내부 320x240 보기를 사용하시겠습니까?

답변:

오해는 "320x240 glOrtho 캔버스"가 존재한다는 것입니다. OpenGL은 실제 창 해상도(예: 960x720)로만 렌더링됩니다. 크기 조정 좌표는 기본 끝점만 변환할 뿐 래스터화에는 영향을 주지 않습니다.

1px 선을 올바르게 그리려면:

  1. 320x240 텍스처를 생성하고 이를 프레임 버퍼 개체(FBO)에 연결합니다.
  2. FBO를 바인딩하고 뷰포트를 텍스처 크기(320x240)로 설정합니다.
  3. glOrtho(0, 320, 240, 0, 0, 1)를 사용하여 텍스처로 렌더링합니다.
  4. FBO 바인딩을 해제합니다.
  5. 텍스처를 바인딩하고 창에 그립니다. 뷰포트를 창 크기(예: 960x720)로 설정합니다.

오프스크린 이미지로 렌더링 실제 해상도를 확인한 다음 확대하면 적절한 픽셀화된 라인 래스터화를 얻을 수 있습니다.

위 내용은 내부 해상도 스케일링을 사용하여 OpenGL에서 1px 선을 그리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!