yuchi's Development Home


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

조회 수 3604 추천 수 24 2011.04.01 20:12:33
여치 *.34.177.134


맥 추종자들이 보면 열폭하겠지만 이건 확실히 해두고 싶다.
빌어먹을 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파일 디코딩기능을 넣어야한다.

이정표

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

이정표 / 전 솔직하거든요. 뭐 맥 추종자 입장에서 보면 윈도우가 쓰레기같겠지만...전 열폭하진 않지요.
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
81 라이트맵 블러링 file 여치 2011-12-08 3639
80 dx11 첫 걸음 file 여치 2011-01-19 3630
79 최근 엔진 스샷 file [3] 여치 2008-01-25 3628
78 설 연휴기간 동안 작업내용 여치 2008-02-08 3624
77 프로그래밍의 도를 향해#3 여치 2002-04-22 3606
» 아이폰 프로그래밍 첫 연습작 file [2] 여치 2011-04-01 3604
75 64비트 어셈에서 스택 사용시 주의사항 여치 2007-08-23 3596
74 라이트맵 계산시에 Ambient Occlusion적용하기 file 여치 2011-08-27 3581
73 Project ε(프로젝트 엡실론) 2차 알파 후기 file [2] 여치 2010-06-03 3580
72 CUDA충돌처리 현재까지의 결과 CPU vs GPU file [4] 여치 2012-02-22 3569
71 DB에 세이브 기능 구현 여치 2008-02-02 3564
70 라이트맵 드로잉 기능이라면... file [1] 여치 2008-01-25 3555
69 CUDA 로컬 디버깅 설정 file 여치 2011-11-30 3551
68 레이어 기능을 추가한 하이트 필드 file [4] 여치 2005-07-01 3550
67 라이트맵 계산시에 Ambient Occlusion적용하기 #3 file [2] 여치 2011-08-31 3537
66 다이나믹 라이트 file 여치 2009-06-13 3524
65 엔진 64비트 포팅 프로젝트 진척상황 여치 2007-05-01 3517
64 Create .lib file from .dll file 여치 2013-02-02 3517
63 cuda로 필터 만들기 첫번째 B/W필터 file 여치 2010-04-15 3514
62 설 연휴 작업 내용 file 여치 2009-01-28 3502
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 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