블로그 이미지
자신의 단점을 메꾸는 것을 단(鍛)이라 하고 자신의 강점을 갈고 닦는 것을 련(鍊)이라 하여, 두가지를 합친 것을 단련이라고 부른다. 붕대마음

카테고리

전체목록 (666)
참고사이트 (8)
Goal (4)
Travel (10)
My Life (105)
Game (35)
Game Review (7)
Game Plan (0)
Books (5)
English (1)
Optimizing (12)
Study (217)
유용한 것들_etc (44)
유용한 것들_func (20)
Unity (48)
Unreal (87)
작업장 (54)
RenderMonkey (6)
정리요망 (1)
따라잡기 시리즈 (0)
링크용 (0)
Total343,756
Today5
Yesterday73

하나의 비압축 텍스처를 두 압축 텍스처로 대체하여 용량을 1/4로 줄이는 방법


1024 by 1024 기준으로 rgba32 텍스처의 용량은 밉맵을 제외하고 4m.

이를 압축포맷으로 변경하면 0.5m가 된다.

하지만 압축포맷으로 만들면 알파를 뺼수가 없다.

그래서 압축 텍스처 두장을 사용하여 하나는 압축 rgb,

하나는 압축 알파로 사용한다.


위 첨부 소스의 MakeCompressedTexture 함수를 보면 비압축 텍스처를 

압축 텍스처 두장으로 만들어 준다.

첫번째 압축 텍스처에는 원본에서 rgb값을 그대로 쓰고

두번째 압축 텍스처에는 원본에서 r값을 rgb에 저장한다.


그리고 shader 코드에서 이 두번째 압축 텍스처의 rgb값을

알파값으로 사용한다.


이 글을 공개로 바꾸면서 첨부 해 둔 script와 shader 소스 첨부를 제거하였다.

대신 내용을 좀 더 자세히 적어보자면 


1. script에서 rgba32 텍스처를 선택해 픽셀값을 rgb값을 가지는 etc1 텍스처 하나와

rgb에 a값을 가지는 etc1 텍스처 하나를 만든다.


2. shader를 하나 만들어 두 텍스처를 받도록 하고 rgb값엔 rgb텍스처 값을 넣고

a값에는 알파값을 저장한 텍스처의 rgb값을 넣는다.




Posted by 붕대마음

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함