컴퓨터 그래픽에서는 눈에 보이는 샘플링 패턴을 피하기 위해 샘플링 위치에 지터를 적용하는 것이 일반적입니다.shader - CG/GLSL/HLSL 지 터링 구현 방법
프래그먼트 셰이더의 샘플 위치에 지터를 적용하는 적절한 방법은 무엇입니까? 내가 생각할 수있는 한 가지 방법은 쉐이더에 노이즈 텍스처를 공급하는 것이고이 노이즈 텍스처의 texl 값에 따라 샘플링하고자하는 샘플링 위치를 변경합니다.
지터를 구현하는 더 좋은 방법이 있습니까?
컴퓨터 그래픽에서는 눈에 보이는 샘플링 패턴을 피하기 위해 샘플링 위치에 지터를 적용하는 것이 일반적입니다.shader - CG/GLSL/HLSL 지 터링 구현 방법
프래그먼트 셰이더의 샘플 위치에 지터를 적용하는 적절한 방법은 무엇입니까? 내가 생각할 수있는 한 가지 방법은 쉐이더에 노이즈 텍스처를 공급하는 것이고이 노이즈 텍스처의 texl 값에 따라 샘플링하고자하는 샘플링 위치를 변경합니다.
지터를 구현하는 더 좋은 방법이 있습니까?
일반적으로 다양한 하드웨어 드라이버 AA 체계는 이미 지터 기반입니다. 각 공급 업체는 자신이 선호하는 패턴을 가지고 있습니다. 불행히도 사용자/플레이어는 종종 설정을 엉망으로 만들고 작업을 켜고 끕니다.
"올바른"방법이 없다고 생각할 수도 있습니다. 몇 가지 작업이 올바른 방법이 있습니다. 배우고 좋아하는 것을 사용하십시오.
표면 질감 터링의 경우과 같이 뭔가를 시도 할 수 있습니다 :
포토샵에서이 (엔비디아 DDS 수출의 일부 버전, 256x511 또는)는 256x512 RGB 이미지를 만들, ALL로 채우기 랜덤 노이즈, "기존 밉맵 사용"으로 DDS로 저장. 이렇게하면 텍스쳐의 크기에 관계없이 (적어도 유용한 크기 범위를 통해) 대략적인 균일 한 노이즈를 얻을 수 있습니다.
당신의 쉐이더에서 노이즈 텍스처를 읽은 다음 UV에 적용한 다음 다른 텍스쳐를 읽으십시오.
float4 노이즈 = tex2D (noiseSampler, OriginalUV);
float2 newUV = OriginalUV + someSmallScale * (noise.xy-0.5);
float4 jitteredColor = tex2D (colorSampler, newUV);
다른 변형을 원하는대로 시도해보십시오. 강한 텍스처 지터를 사용하면 텍스처 캐시 미스가 많이 발생할 수 있으며, 성능 비용이들 수 있으며 이미 필터링 된 신호에 고주파 성분을 도입하기 때문에 노멀 맵을주의해야합니다.
http://gamedev.stackexchange.com/ – user1849534