(확산 / 알베도) 텍스처로 16 비트 반 부동 선형 HDR 이미지?


10

그래서 나는 이것에 대해 잠시 생각하고 대답을 위해 구글을 시도했지만 성공하지 못했습니다.

모든 텍스처가 JPEG와 같은 8 비트 LDR 이미지 인 경우 렌더링 할 때 노출 제어 / 톤 매핑과 충돌을 일으킬 수 없습니다. 즉, 이미지의 렌더링 노출을 조정하면 실제로 존재하지 않는 텍스처의 디테일을 표현해야합니다. 낮은 다이내믹 레인지에 의해 고정되어 있기 때문입니다. 따라서 16bit half-float의 선형 색상 공간에서 .exr로 저장된 HDR 이미지로 텍스처를 사용하여 좋은 색상 표현을 얻을 수는 없습니다 (32 비트 "full"float는 과도 할 수 있습니다). 더 자세하고 정확한 색상 값을 가지려면 GI에 영향을 미치고 색상 번짐이 어떻게 계산됩니까?

또는 원하는 렌더링의 최종 결과가 어떤 식 으로든 사진을 찍었을 때 텍스처의 노출 수준과 비슷할 것이므로 단순히 필요하지 않습니까? 그리고 카메라는 대부분 12-14 비트로 촬영하기 때문에 텍스처를 여러 번 노출하고 모든 추가 작업을 수행하여 하나의 HDRI로 구성해야합니다.

편집 : 명확히하기 위해, 전체 광선 시뮬레이션과 전역 조명을 사용하는 광선 추적 렌더러 (멘탈 레이, V- 레이, 아놀드 등)를 사용하여 사진 현실적인 렌더링 관점에서 주로 관심이 있습니다. 실시간 게임 엔진.

답변:


8

영화 제작에서 우리는 밴딩 등으로 인해 컬러 / 알베도에 8 비트 텍스처를 거의 사용하지 않습니다. JPEG는 스펙에 따라 선형 값이 아니라 sRGB이므로 특히 문제가 있습니다. ) 또는 색상 / 알베도 텍스처의 부호없는 16 비트 정수 값입니다.


1
와, @LarryGritz 감사합니다! Sony Pictures Imageworks에서 근무하는 것을 고려할 때 매우 신뢰할 수있는 출처로 안내합니다. :) 그러나 이러한 텍스처를 어떻게 캡처합니까? 대부분의 카메라는 14 비트 RAW 파일로만 촬영합니다. 16 비트 선형 센서가있는 특수 카메라가 있습니까? 또는 HDRI 이미지 기반 조명에서와 마찬가지로 텍스처에 여러 번 노출합니까? 아니면 단순히 14 비트 카메라 RAW로 캡처하여 "16 비트"로 저장합니까? .tiff (.tx, .tex) 또는 .exr 중 어떤 파일 형식을 사용합니까? 입력 해 주셔서 다시 한 번 감사드립니다 !! :)
Kristoffer Helander

1
@KristofferHelander : 0-1 범위의 14 비트 캡처에서 16 비트 표현으로 변환하는 것은 곱셈에 의해 쉽게 달성됩니다. 그러나 대부분의 텍스처는 사진이 아닌 페인트됩니다. 때로는 16 비트 형식으로 직접 페인트되고 때로는 sRGB로 페인트 된 다음 텍스처로 사용하기 위해 "선형화"되면 16 비트로 변환됩니다. 알베도 텍스처에는 HDR이 필요하지 않습니다.
래리 그 리츠

1
@KristofferHelander : 알베도 텍스처의 경우 16 비트 정수 데이터와 함께 TIFF를 사용하는 경향이 있습니다 (.tx는 TIFF 형식이지만 타일링되어 있으며 TIFF 파일 내에 여러 서브 이미지로 저장된 MIP 맵 다중 해상도). 환경 캡처와 같은 실제 HDR 데이터에는 OpenEXR을 사용합니다. 렌더러 출력도 OpenEXR 인 경향이 있습니다.
래리 그 리츠

8

그렇습니다. HDR 조명 및 톤 매핑이 극단적 인 경우 컬러 텍스처에 밴딩 문제가 발생할 수 있습니다. 그러한 경우, 텍스처에 대해 더 높은 비트 깊이를 갖는 것이 유용 할 수 있습니다. 그러나 내 경험상 대부분의 재료와 일반 조명 상황에서는이 문제가 발생하지 않으며 일반적인 게임의 텍스처는 8 비트 (또는 그 이하)에서는 괜찮습니다. 게임은 종종 BC1 압축을 사용하여 5로 줄입니다. 6-5 비트).

사람들은 HDR 렌더 타겟을 사용합니다. 단일 장면은 창문을 통해 방보다 10 ~ 100 배 더 밝게 햇볕에 쬐는 외부 공간과 같이 어두운 방과 같이 매우 다른 크기의 밝기를 포함 할 수 있기 때문입니다. 그러나 색상 질감에는 이러한 광범위한 크기가 없습니다. 그것들은 본질적으로 [0, 1] 범위에있는 반사율을 나타내며, 실제로는 거의 2 ~ 5 %의 반사율보다 낮은 일상 재료는 거의 없습니다. 따라서 8 비트 이미지 (감마 인코딩 사용)는 일반적으로 충분한 정밀도로 확산 및 반사 색상을 나타낼 수 있습니다.

매우 어두운 조명과 매우 밝은 조명 또는 노출 과다 노출 된 카메라 설정의 조합이 최종 프레임에서 밴딩을 표시 할 수는 있지만 더 특이한 경우입니다.

당신은 아마 경우 HDR 텍스처를 원하는 특히 네온 사인과 유사한 광원을 위해, 발광 재료이다. 텍스처는 게임에서 밝은 광원으로 보이기 위해 그 가치가 높아진 것처럼 보이므로 8 비트 이미지는 쉽게 밴딩을 보여줄 수 있습니다.

마지막으로, 텍스처를 캡처하고 만들 때 가능한 경우 정밀도 문제없이 이미지를 처리 ​​할 수있는 헤드 룸이 더 많기 때문에 가능하면 높은 정밀도 (예 : 16 비트 정밀도)로 작업하는 것이 여전히 유용 할 수 있습니다. 예를 들어 레벨이나 색상 균형을 조정해야 할 경우 약간의 정밀도가 떨어집니다. 8 비트 소스 이미지에서 시작할 때 밴딩 (특히 여러 번 수행하는 경우)이 발생할 수 있습니다. 16 비트 소스는 이러한 문제에 대해보다 탄력적입니다. 그러나 게임에 사용 된 최종 텍스처는 여전히 8 비트로 압축 될 것입니다.


combination of a quite dark texture with very bright lighting or an extremely overexposed camera setting can show banding in the final frame아주 좋은 통찰력. 그러나 우리는 감마 인코딩이이 점을 정확히 완화시키기 위해 여기에 있음을 알 수 있습니다. 그가 문제가 있다면 왜 우수한 감마 지수를 시도해 보지 않겠습니까? 그래도 하드웨어 sRGB 샘플러의 사용을 방해 할 것입니다.
v.oddou

입력 해 주셔서 감사합니다. 그러나 명확히하기 위해 나는 대부분 실제 조명보다는 전체 광선 시뮬레이션 및 전역 조명을 사용하는 광선 추적 렌더러 (멘탈 레이, V- 레이, 아놀드 등)를 사용하여 사진 현실적인 렌더링 관점에서 이것에 관심이 있습니다. 시간 게임 엔진.
Kristoffer Helander 7:10에

@KristofferHelander 알아두면 좋지만 필자가 작성한 내용은 오프라인 렌더링에도 적용된다고 생각합니다. 그러나 나는 그 분야에서 직접적인 경험이 많지 않다는 것을 인정합니다.
Nathan Reed

@NathanReed 그렇습니다, 당신은 가장 확실한 점을 분명히 만들었습니다 :)
Kristoffer Helander

5

시간이 있다면 자세한 내용을 설명 하는 Quake 2 엔진 래스터 화 기술 에 대한이 기사를 읽도록 독자들을 초대하고 싶습니다 .

TLDR 인 경우이 이미지에주의하십시오. 여기에 이미지 설명을 입력하십시오

우리가 보는 것은 Albedo 채널입니다. 질문을 올바르게 이해하면 16 비트로 인코딩하고 싶습니다.
" 과거에 게임용 256 색으로 인코딩 할 수 있다면 새로운 게임에 왜 281474976710656 (281 조)이 필요한가? "라고 말하지 않을 것 입니다. 쪽으로. 더 건설적으로,이 이미지에서 언급하면 모든 것이 동일한 조명 수준에 있습니다. 보다 구체적으로, 원하는 채도를 유지하는 가능한 최대 강도. (HSV 공간에서 V는 최대 값을 의미)

알베도는 어떤 식 으로든 인코딩 할 깊이가 없기 때문에 강조가 핵심입니다. 다이내믹은 쉐이딩에서 비롯된 것으로, f32셰이더 내의 구성 요소별로 작동하고 f16대상 을 렌더링 하기 위해 출력하는 것이 좋습니다. 그러나 알베도 텍스처를 저장하는 f16것은 과잉 일뿐만 아니라 우리의 소중한 대역폭에 대한 정당하지 않은 성능 저하입니다.


입력 해 주셔서 감사합니다. 그러나 명확히하기 위해 나는 대부분 실제 조명보다는 전체 광선 시뮬레이션 및 전역 조명을 사용하는 광선 추적 렌더러 (멘탈 레이, V- 레이, 아놀드 등)를 사용하여 사진 현실적인 렌더링 관점에서 이것에 관심이 있습니다. 시간 게임 엔진. 원본 게시물을 업데이트했습니다.
Kristoffer Helander 7:10의
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.