경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!==== 렌더링 제어 ==== 렌더링은 PPU가 메모리를 적극적으로 가져와 화면에 이미지를 그리는 과정이다. PPUMASK에서 스프라이트 및 배경 렌더링 중 하나 또는 둘 다 활성화되어 있는 한 렌더링 전체가 활성화된다. 한 구성 요소가 활성화되고 다른 구성 요소가 활성화되지 않은 경우, 비활성화된 구성 요소는 단순히 투명하게 처리된다. 렌더링 프로세스는 그 외에는 영향을 받지 않는다. 비트 3과 4를 통해 두 구성 요소가 모두 비활성화되면 렌더링 프로세스가 중지되고 PPU는 배경색을 표시한다. 렌더링 중에는 PPU가 VRAM과 OAM을 적극적으로 사용한다. 이로 인해 CPU는 [[#PPUDATA|PPUDATA]]를 통해 VRAM에 접근하거나 [[#OAMDATA|OAMDATA]]를 통해 OAM에 접근할 수 없으므로, 이러한 접근은 렌더링 외부에서 수행되어야 한다. 즉, vblank 중(게임 플레이 중 데이터 전송) 또는 렌더링이 꺼진 상태(레벨 로드와 같은 대규모 데이터 전송)에서 수행해야 한다. 수많은 하드웨어 버그와 제한을 피하기 위해, 일반적으로 렌더링은 vblank 중에만 켜거나 끄는 것이 좋다. 이는 원하는 PPUMASK 값을 레지스터 자체가 아닌 변수에 쓰고 NMI 핸들러의 vblank 중에만 해당 변수를 PPUMASK에 복사하여 수행할 수 있다. PPU는 화면의 가장 왼쪽 8픽셀에서만 스프라이트와 배경을 선택적으로 숨길 수 있으며, 이를 투명하게 만들어 배경색을 그린다. 스프라이트의 경우, 이는 스프라이트가 오른쪽 가장자리에서처럼 화면 왼쪽 가장자리에서 부분적으로 걸칠 수 없는 제한인 스프라이트 팝인을 피하는 데 유용할 수 있다. 배경의 경우, 이는 수직 또는 단일 화면 네임테이블 배열로 수평으로 스크롤할 때 타일 아티팩트를 제거하고 속성 아티팩트를 줄일 수 있다. 이러한 배열은 스크롤 이음새를 화면 밖으로 숨길 수 없기 때문이다. 배경색은 배경 아트에 사용된 색상과 일치하지 않을 수 있으므로 왼쪽 열을 비활성화하는 것이 사소한 아티팩트보다 더 산만할 수 있다. 참고: * 렌더링 중에 PPUDATA에 쓰면 VRAM이 손상될 수 있으므로, 쓰기는 vblank 중이거나 PPUMASK 비트 3과 4에서 렌더링이 비활성화된 상태에서 수행해야 한다. * 배경이나 스프라이트가 비활성화된 영역에서는 스프라이트 0 히트가 트리거되지 않는다. * 렌더링 토글은 쓰기 후 약 3-4 도트 후에 적용된다. 이 지연은 Battletoads가 충돌을 피하기 위해 필요하다. * 화면 중간에 렌더링을 토글하면 종종 OAM의 1개 행이 손상되고 현재 및 다음 스캔라인에 대해 잘못된 스프라이트가 그려진다. (참조: [[Errata#OAM and Sprites|정오표]]) * 화면 중간에 렌더링을 끄면 [[#Internal registers|내부 v 레지스터]]의 하위 14비트 값이 $3C00-$3FFF 사이인 경우 팔레트 RAM이 손상될 수 있다. * 렌더링을 늦게 켜면 프리 렌더 끝의 도트가 절대 건너뛰지 않게 되어 정지된 화면에서 도트 크롤이 발생할 수 있다. * 렌더링을 늦게 켜면 [[PPU_scrolling#Split_X/Y_scroll|복잡한 쓰기 시리즈로 수동으로 설정]]하지 않는 한 PPU의 스크롤 값이 잘못된다. 요약: 한식구 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 한식구위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 자동 편집 스팸으로부터 위키를 보호하기 위해, 다음 CAPTCHA를 풀어주세요: 취소 편집 도움말 (새 창에서 열림)