유난히 갈색이나 검정색 텍스쳐를 작업하고 DXT1, DXT5 등 손실 압축으로 저장할때

실제 저장한 파일을 열어보면 울긋불긋하게 칼라노이즈가 생겨서 곤란한 적이 많다.

 

혹여나 눈에 보이지않는 텍스쳐상의 칼라노이즈 때문인가 싶어

완전 흑백으로 만들어 저장해봐도 마찬가지로 녹색계열의 노이즈가 생긴다.

 

사실 우연찮게 해결 방법을 찾았는데 나름 그 원인을 분석해서 포스팅 해본다.

 

+20.10.09 내용 추가


 

손실 압축 후 그라데이션 부분에 생긴 노이즈

 

예전에 퓨어 텍스쳐 만들때 DXT1 압축 연구하면서 R채널이 2정도 손실되는걸 발견한 적이 있는데 

다른 DDS 플러그인은 조금 다를지 몰라도 DX9용 엔비디아 DDS 플러그인은

손실 압축인 DXT1, DXT5를 저장할때 붉은색의 손실이 유난히 크다.

반면에 녹색 파란색은 손실은 있어도 명도 그라데이션은 어느정도 유지된다.

 

이 때문에 완전 검정색 그라데이션이라도 경계선에 녹색 파란색 노이즈가 발생하게 된다.

 

해결하는 방법은 생각보다 간단하다.

 

녹색과 파란색의 중간인 하늘색을 약간 섞어주면 어두운 파란색이 그라데이션을 채워주고

결과적으로 약간의 칼라노이즈는 생겨도 명도 그라데이션이 부드럽게 이어져 눈에 띄지 않게 된다.

 

하늘색 (0.255.255) 을 약간 섞어준뒤 감소한 노이즈

 

손실이 제일 심한 255.0.0 빨간색의 반대색인 0.255.255를 섞어서 보간한다고 이해해도 될 것 같다.

 

물론 무턱대고 하늘색을 softlight 같은걸로 섞으면 채도가 올라가서 오히려 노이즈가 심해지고

예제의 경우 20.25.25를 레이어옵션 color 100%로 넣어줬다.

 

마지막은 노이즈 개선 전후 비교 사진이다.

<위> 채도 0 검정 텍스쳐 저장시 <아래> 20.25.25 섞어준 뒤

 

20.10.09 요즘 쓰고있는 방식은 하늘색을 미묘하게 섞어주는 것보다 컬러 노이스를 약간 섞어주고 있다.

DXT1의 압축방식에서 그라데이션 표현이 제대로 안되고 손실이 일어나는 것 같은데

이게 노이즈를 섞어주면 단순히 자글자글한 느낌 때문인지 어두운 색에서도 손실이 덜 눈에 띄게 된다.

+ Recent posts