Loading...
2017. 12. 14. 09:11

Dark Secrets of Shader Development

지인분께 추천받은 문서기도 하고 제목이 재미있어서 한번 번역해봄. 내맘대로 번역이니 원문보는걸 강추!! 개인적인 내용도 좀 추가. 제목 : Dark Secrets of Shader Development or What Your Mother Never Told You About Shaders. 셰이더 개발의 흑막 또는 당신의 어머니가 셰이더에 대해 당신에게 절대 말해주지 않은 것. 개요 ● 셰이더란 무었인가? - 셰이더 컴파일 과정 ● 셰이더 최적화 - 특정 하드웨어에 국한되지 않는 셰이더 최적화 - ATI 하드웨어에 국한되는 셰이더 최적화 ● 버텍스 셰이더 최적화 ● 픽셀 셰이더 최적화 셰이더란 무었인가? ● 셰이더는 그래픽 하드웨어에서 버텍스와 픽셀엔진을 컨트롤하는 마이크로 프로그램. ● DirectX에..

2017. 2. 28. 09:37

Tiling와 Offset을 활용한 2개의 압축텍스처 최적화

알고있기로는 압축텍스처를 쓸 경우 aos는 2의 승수로, ios는 걍 무조건 2의승수 정방으로 해야 한다.그래서 aos는 가장 가까운 2의 승수, 120x500 이면 128x512로 변환되지만 ios는 512x512가 된다. aos와 ios버전의 텍스처를 따로 관리할 게 아니라면(사실 이건 프로젝트가 커질수록 좀 힘듬..)처음부터 텍스처 관리를 잘 해줘야한다. 우선적으로 생각해야할 부분이 aos에서 ETC2를 사용할까 말까에 대한 결정이다.ETC2 자체로는 ETC1을 대체하기 위해 나온 개량형이다.게다가 용량도 작고 알파까지지원된다!!!.그런데왜 고민을 해야하는 걸까?우선 모든 aos폰이 etc2를 지원하는것이 아니기 때문이다.etc2는 open gles3.0에서 돌아간다.그렇다면 그 es2.0 버전에서..

rgba32 bit texture를 etc 4bit texture 2장으로 사용하기

하나의 비압축 텍스처를 두 압축 텍스처로 대체하여 용량을 1/4로 줄이는 방법 1024 by 1024 기준으로 rgba32 텍스처의 용량은 밉맵을 제외하고 4m.이를 압축포맷으로 변경하면 0.5m가 된다.하지만 압축포맷으로 만들면 알파를 뺼수가 없다.그래서 압축 텍스처 두장을 사용하여 하나는 압축 rgb,하나는 압축 알파로 사용한다. 위 첨부 소스의 MakeCompressedTexture 함수를 보면 비압축 텍스처를 압축 텍스처 두장으로 만들어 준다.첫번째 압축 텍스처에는 원본에서 rgb값을 그대로 쓰고 두번째 압축 텍스처에는 원본에서 r값을 rgb에 저장한다. 그리고 shader 코드에서 이 두번째 압축 텍스처의 rgb값을알파값으로 사용한다. 이 글을 공개로 바꾸면서 첨부 해 둔 script와 shad..

adreno profiler

우선 프로파일러를 다운받아서 설치를 한다.다만... 가입을 해야 다운받을 수 있다.다운은 이곳에서 받을 수 있다. 설치한 다음에 Connect 하고 Capture 하면 정보를 볼 수 있다.다만 어떤 폰은 connect는 되는데 capture 하면 texture err가 뜨기도 한다. 만약 연결이 잘 안되면 핸드폰을 뽑고 adb를 다시 설정 한 후에 다시 프로파일러를 켜서 테스트하면 된다. Reference Link- Android에서 Adreno Profiler 사용하기- GPU Debugging on Android Devices-