광선 추적기의 서브 픽셀 렌더링


16

글꼴 렌더링에서는 하위 픽셀 렌더링 을 사용하는 것이 일반적 입니다. 여기서 기본 아이디어는 픽셀을 RGB 구성 요소로 나눈 다음 각각에 대한 값을 계산하는 것입니다. 각 구성 요소가 전체 픽셀보다 작기 때문에 더 높은 품질의 앤티 앨리어싱이 가능합니다.

레이트 레이서에 대해서도 동일한 방법이 있습니다. 각 서브 채널에서 개별적으로 재구성 필터링을 수행합니다.

그러나 광선 추적 프로그램에 대한 참조를 실제로 찾을 수 없다는 것에 놀랐습니다. 특히 스펙트럼 렌더링을 이미 수행하고 있다면 분명히해야 할 일처럼 보입니다. 거기에 이 글 과 관련이있을 것으로 보인다있는 내가 들어 본 적이 저널에서가. 그러나 전반적으로 하위 픽셀 렌더링은 일반적인 일이 아닙니다. 내 질문 : 왜 안돼 ?


서브 픽셀로 렌더링 된 이미지가 화면에서 세로 방향으로 보더라도 여전히 괜찮습니까?
jamesdlin

엔지니어로서 나는 그런 깨진 아이디어를 구현하기로 동의하지 않을 것입니다. 디스플레이가 완전히 고정되어 있다고 확신하면 예외입니다. iPhone 5S 용 appli와 같습니다. 이 기술을 사용하면 반전 된 패턴 또는 다른 배열을 사용하여 화면에서 깨진 이미지가 생성됩니다.
v.oddou

답변:


14

이것은 완벽하게 가능합니다

그 차이는 특별히 눈에 띄지 않을 수도 있지만 정확한 픽셀 지오메트리 를 고려하여 샘플링 하면 약간 더 정확한 이미지를 얻을 수 있습니다. 해당 색상 하위 픽셀의 (평균) 위치에 따라 색상 구성 요소 당 픽셀 중심을 오프셋하면됩니다. 모든 픽셀 레이아웃이 픽셀과 서브 픽셀 사이에 일대일로 대응되는 것은 아닙니다.

예를 들어, penTile RGBG 는 Wikipedia의 이미지에서 볼 수 있듯이 빨강 및 파랑보다 두 배 많은 녹색 하위 픽셀을 갖습니다.

RGBG 픽셀 지오메트리의 이미지를 닫습니다

임의의 풀 컬러 이미지를 생성하는 데 사용되지 않는 기술적 이유는 알 수 없습니다. 사실, 화려한 장면은 흰색 텍스트에 검은 색보다 눈에 띄는 색상 인공물이 적으므로 색상 차이가 위장하기가 가장 어렵습니다.

필요에 따라 글꼴이 렌더링됩니다

광선 추적 장면 렌더링과 글꼴 렌더링의 관련 차이점은 글꼴은 요청시 렌더링되는 경향이 있으며 사용중인 화면을 고려할 수 있다는 것입니다. 이와 달리, 광선 추적 장면은 종종 사전 렌더링 된 후 다양한 유형의 화면 (다른 픽셀 구조로)에 표시됩니다. 예를 들어, 광선 추적 된 이미지를 웹 페이지에 표시하면 특정 모니터 유형에 맞게 조정할 수 없습니다.

실시간 레이트 레이싱 프로그램을 설계하고 모니터의 픽셀 지오메트리를 확인할 수있는 경우 특정 하위 픽셀 레이아웃으로 레이트 레이싱 할 수 있습니다. 그러나 스틸 이미지를 생성하는 오프라인 레이트 레이싱은 단일 유형의 픽셀 지오메트리에만 맞출 수 있으므로 다른 픽셀 지오메트리 에서 이미지가 더 나빠 보이게 됩니다. 다른 이미지 세트를 렌더링하고 나중에 특정 유형의 모니터에 표시 될 때 적절한 이미지를 선택하여이 문제를 해결할 수 있습니다.

장기적인 이익이 없을 것

따라서 광선 추적 기용 하위 픽셀 렌더링을 개발할 수 없었던 이유는 없지만 항상 알려지지 않은 모니터의 측면을 고려한다는 의미입니다. 명심해야 할 또 다른 사항은 축소되는 시장을 위해이 소프트웨어를 개발한다는 것입니다. 서브 픽셀 렌더링은 해상도가 비교적 낮은 화면에 유용합니다. 점점 더 많은 화면 (모바일 화면)이 사람의 눈으로 서브 픽셀 렌더링으로 인한 차이를 감지 할 수 없을 정도로 높은 해상도에 접근함에 따라 실제 작업보다 작업이 이론적으로 더 흥미로울 것입니다.


3
컬러 서브 픽셀 렌더링을 할 수 있다면 악마의 옹호자를 재생하면 (회의론자입니다!), VR 해상도에서 충분한 해상도를 얻는 데 어려움이있는 것처럼 보입니다. 아마도 (망막이 아닌?) 전화 나 테이블에도 있습니까?
Alan Wolfe

1
@AlanWolfe 네,하지만 렌더링 비용도 3 배나
높습니다

네, 물론입니다. 그래도 문제가되지 않는 상황이 있습니다. 예를 들어, 매 프레임마다 픽셀마다 광선을 쏠 필요가없는 몇 가지 알고리즘을 알고 있습니다. 래스터 화 된 그래픽 btw에서도 재생할 수있는 것 같습니다. 다시 말하지만, 컬러 서브 픽셀 렌더링이 실제라고 확신하지는 않지만 나중에 알고 있습니다! : P
Alan Wolfe

@ AlanWolfe 나는 당신의 의심을 이해하지 못합니다. 모든 이미지는 이미 하위 픽셀로 렌더링되었지만 픽셀의 1/3과 반 사이에서 색상이 잘못 정렬됩니다. 정렬 불량을 수정하면 고품질 이미지가 생성되지 않는 방법을 알 수 없습니다. 특별한 문제가 있습니까 (좋은 질문이 될 수 있습니다 ...)?
trichoplax

3
@joojaa 렌더링하는 데 3 배나 비싸다는 이유는 없습니다. 광선 수의 3 배를 쏠 필요는 없습니다. 광선을 프레임 버퍼에 축적 할 때 3 가지 다른 가중치를 적용하면됩니다. 효과적으로, 각 색상 채널마다 다른 앤티 앨리어싱 커널을 사용하고 있습니다.
Nathan Reed

9

물론 임의의 이미지에 서브 픽셀 렌더링을 사용할 수 있습니다. 그러나 서브 픽셀 렌더링은 실제로 일반적인 2D 이미지 처리 기술입니다. 특히 광선 추적과는 관련이 없습니다. 다른 3D 렌더링 방법이나 간단한 2D 드로잉, 사진 또는 비디오에서도 사용할 수 있습니다.

따라서, "레이 트레이싱을위한 서브 픽셀 렌더링"은 개별적으로 가장 잘 처리되는 두 가지 별개의 문제 영역을 실제로 모방하고 있다고 말합니다. 유일하게 관련있는 연결에 대해, 장면을 실시간으로 레이트 레이싱하고 서브 픽셀 렌더링을 사용하여 결과 이미지가 화면에 그려 질 경우이 정보를 사용하여 픽셀 밀도 (및 화면비를 최적화 할 수 있음) 중간 이미지의 비율) (예 : 일반적인 RGB LCD 화면에 가로 픽셀 밀도 3 배 사용).


현재 컴퓨터 시스템에서 서브 픽셀 렌더링은 일반적으로 텍스트에만 사용되며 일반적으로 글꼴 렌더링 코드에 통합 될 수 있습니다. 이것의 주된 이유는 논쟁의 여지가 있지만, 시각적 개선과 가독성 측면에서 가장 큰 보상이있는 곳이기도합니다.

또한 텍스트가 단순하고 반복적 인 벡터 모양으로 구성되는 방식으로 인해 서브 픽셀 렌더링을 글꼴 렌더러에 통합하면 텍스트를 고해상도 버퍼로 렌더링 한 다음 사후 처리하는 것보다 추가적인 최적화 기회가 제공됩니다.

즉, 결국 기술이 발전함에 따라 GPU 또는 화면 자체에서 서브 픽셀 렌더링이 투명하게 수행되는 시스템으로 전환 할 것으로 기대합니다.

(이는 아마도 "논리적 픽셀"과 같은 모양은 아니지만 더 작은 물리적 픽셀을 처리하기 위해이 기능을 최대한 활용하려는 응용 프로그램을 필요로 할 것입니다. 그러나 우리는 이미 높은 DPI 화면으로 방향을 바꿉니다.)


테르 베툴 로아! 그렇습니다. 요점은 유효합니다. 시스템이나 하드웨어가 나중에 현실적으로 만 화면의 방향과 화면의 색상 구성을 알 수 있기 때문에이 작업을 수행해야한다고 말합니다. 바람직하게는 스크린 자체가이를 수행 할 것이다.
joojaa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.