yuchi's Development Home


아이폰 프로그래밍 첫 연습작

조회 수 3827 추천 수 24 2011.04.01 20:12:33


맥 추종자들이 보면 열폭하겠지만 이건 확실히 해두고 싶다.
빌어먹을 Mac Os X
빌어먹을  X Cdoe
빌어먹을 Objective C
빌어먹을 COCOA프레임웍

'쓰.레.기.같.아'

하여간.

예전부터 불만이 많았는데 아이폰에는 제대로된 이미지뷰어가 거의 없다.

코코아터치에서 지원해주는 컴포넌트만 사용하니 빅사이즈 이미지를 제대로 보여주지 못한다. 모바일에서 그런 큰 이미지를 뭐하러 보냐...라고 반문할수도 있겠지만 DSLR로 찍은 사진들 갖고 다니면서 보려면 리사이즈 하기도 짜증나고 때로는 세세하게 보는걸 원할수도 있다.

가로세로 2000픽셀 이상의 이미지를 제대로 보여주는 뷰어가 딱 두개 있다.

GoodReader와 ImageViewer라는 어플인데 이것도 파일이 커지면 두 녀석 다 다운된다. Image Viewer는 어느 정도 크기 이후로는 자동 리사이드 된 상태로 로딩되는지 1:1 픽셀을 보여주지 못한다.

GoodReader는 다운만 안되면 1:1픽셀로 제대로 보여주는데 아이폰3GS에서는 대충 3MB이상의 파일을 로드하면 다운된다.

아이폰4에서는 정상작동을 확인했다.

GoodReader의 경우엔 너무 큰 텍스쳐를 할당할 수 없거나 디코딩된 이미지를 보관할 메모리가 없어서 크래시하는거 같다.

[이미지를 인코딩된 상태로(압축이 풀리지 않은 상태로) 메모리에 들고 있다가 화면에 렌더링 될 영역만큼만 화면 사이즈와 대응되는 텍스쳐에 실시간으로 디코딩해서 써주면 4000*4000정도 이미지는 출력할 수 있을거 같다.]

라고 전략을 세웠다.

일단 xcode에서 openGL프로젝트로 시작, 텍스쳐 생성하고 업데이트 해주고 이미지 로딩하는 코드는 싹 c++로 작성했다.
터치 입력 코드도 c++코드쪽으로 리다이렉션시켰다.

일단 OpenGL ES를 사용해서 텍스쳐 한장에다가 실시간으로 이미지를 카피해와서 출력하는 코드는 작성완료. 스크롤시켜가면서 볼 수 있게는 만들었다.

아직 테스트니까 리소스에다 이미지를 직접 넣었는데 아이튠즈에서 파일을 넣고 폰에서 골라서 읽을 수 있게 해야한다. 그런데 어떻게 하는지 전혀 모르겠다. 이게 3.0 SDK때는 없던 기능이기도 하고... 한참 찾아봐야할듯.

개선해야할 점
1.현재는 1:1픽셀로 보여주고 있으므로 축소기능을 넣어야한다.
2.아이튠즈에서 넣어주는 파일을 셀렉트할 수 있도록 해야한다.
3.현재는 tga포맷을 사용하므로 jpg파일 디코딩기능을 넣어야한다.

댓글 '2'

이정표

2011.04.07 02:41:04
*.143.193.153

^^ 맥 추종자들이 보면 열폭하겠지만 이건 확실히 해두고 싶다.
빌어먹을 Mac Os X
빌어먹을 X Cdoe
빌어먹을 Objective C
빌어먹을 COCOA프레임웍

'쓰.레.기.같.아'
여기서 빵 터졌습니다.
^^

여치

2011.04.07 16:53:44
*.34.177.134

이정표 / 전 솔직하거든요. 뭐 맥 추종자 입장에서 보면 윈도우가 쓰레기같겠지만...전 열폭하진 않지요.
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
List of Articles
번호 제목 글쓴이 날짜 조회 수
141 그림자 개선중#3 - Cascade Shadow Maps file [2] 여치 2011-08-20 4396
140 그림자 개선중#2 file 여치 2011-08-09 4181
139 그림자 개선중 file 여치 2011-08-09 4064
138 TFS 사용시 로컬패스 맵핑이 안될 때 처리방법 여치 2011-07-11 8677
137 TFS2010 백업으로부터 복원 [2] 여치 2011-07-10 4067
136 DX11엔진 프로젝트 - DoF, Glow, Dynamic 라이트 등 완료 file 여치 2011-06-27 3999
135 dx11프로젝트 - 아웃라인 쉐이더 및 테셀레이션 여치 2011-06-06 10226
134 첫 아이폰 어플을 앱스토어에 등록했습니다. file [1] 여치 2011-05-05 4036
» 아이폰 프로그래밍 첫 연습작 file [2] 여치 2011-04-01 3827
132 dx11프로젝트 - 테셀레이션(Curved PN Triangles) file 여치 2011-03-15 6840
131 dx11프로젝트 - 테셀레이션 file 여치 2011-03-14 4229
130 dx11엔진 프로젝트 - 렌더타겟으로 그림자처리 & 툰쉐이딩(외곽선제외) file [2] 여치 2011-03-09 4182
129 dx11 - 폰트와 스프라이트 처리 file 여치 2011-02-13 4649
128 dx11 포팅 프로젝트 - uv애니, 빌보드 오브젝트, 알파처리 file 여치 2011-02-08 4509
127 dx11 필드처리-(타일텍스쳐*알파맵*라이트맵) file 여치 2011-02-05 4402
126 dx11 필드처리(와이어프레임모드) file 여치 2011-02-05 4072
125 dx11 라이트맵 처리 file 여치 2011-01-28 3664
124 회사 관두고 나서 알게 된 버그 하나 여치 2011-01-27 3013
123 dx11 텍스쳐링 file 여치 2011-01-26 3010
122 dx11 스키닝 file 여치 2011-01-20 3721
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet



XE Login

天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet