상세 컨텐츠

본문 제목

iPhone Advanced Projects

Review(체험단)

by steve vai 2010. 6. 18. 15:15

본문



도서 리뷰에서도 베스트가 하나 나왔네요. 모자란 글이지만 많은 관심 부탁드립니다.여러 실력파 개발자들의 사례를 옴니버스 형태로 Chapter가 나누어져서 재미있는 이야기 형태로 되어 있다.Reading Stack by Escalla 본인은 기획자이고 직원들에게 어떤 형태로 설득을 할까 어떤 대상으로 전개를 할까 고민을 하고 있는 상태에서 리뷰에 좋은 기회에 선정이 되었다.운영 시스템 중 모바일을 통한 실시간 입력시스템을 개발한다는 관점에서 각 장별로 내용을 정리해 보았다.통상 아이폰 및 개발 환경이 우수하다고는 알고 있지만 이 책이 주는 가치와 본인이 목적하는 바에 맞추어서 이야기를 풀어나가 보겠다.개발에서 손을 놓은지 꽤많은 시간이 흘러서 이런 책을 읽을때 그림이나 일러스트가 없으면 진도가 안나가는데 이상하게 책에서 소개된 내용들은 그렇게 지루하지가 않다.(코드는 안 봤으니 그렇게 분량이 많은 것도 아니니...)

iPhone Advanced ProjectsiPhone Advanced Projects - 10점
요아김 본도 지음, 우정은 옮김/한빛미디어

1장 파티클 시스템: 생각보다 쉽고 재미있다- 파티클 시스템의 개념은 미려하게 보이는 방법에 대한 고찰이 반영이 되어 있는 것 같다. 사람이 느끼는 감각은 5가지로 다음과 같다.하지만, 아이폰이나 스마트 폰으로 느낄 수 있는 것은 통상 사람이 컴퓨터나 휴대용 기기에 대해서 1차적으로 접하는 UI 손을 제외하고는 시각적인 부분인 것이라고 생각한다. 그 다음이 청각과 촉각이다. 그만큼 파티클 시스템은 중요하다고 할 수 있을 것이다. 파티클은 책의 지면에서 언급된 내용으로는 보여지는 객체에 대한 효과라고 생각이든다. (나름 그렇게 정의하였다.)생명, 크기, 속도, 가속도, 색상 등의 5가지 요소라는데 이는 불, 연기, 마법 등을 잘 표현할 수 잇는 부분이라고 개념을 잡고 가야겠다.이를 통한 개발이 이루어진다면 UI에서 좀더 극적으로 설득을 이끌어 내고 사용을 자연스럽게 독려하는데 도움이 될 것이라 생각한다.우리는 게임을 할 것은 아니지만 재미보다는 관심을 유도하기 위해서 적당량의 약간의 소금이 음식의 맛을 좌우하듯이 사용이 된다면 바람직하지 않을까 생각해 본다.잡설이지만 UI가 Starcraft같이 목적 의식을 가지게 하고 몰입을 하게 해서 정확한 입력을 유도한다면 성과는 좀 분명해질꺼라는 토의를 한적이 있는데 ... 이 기술을 보면서 현실화될 수 있다는 것을 확신한다.2장 인터넷으로 하는 체스: Deep Green으로 즐기는 메시지 통신 게임- 처음에는 메시징 기반에서의 이야기를 하는 것으로 오해했지만 모바일 기반에서의 Client / Server 기반의 Web이든 Application을 개발을 하는 것을 저자는 이야기 한다.뭐 평이 할 수도 있는 내용이지만 서비스 기반에 접속을 할 수 없으면 컨텐츠를 아이폰에 다 저장을 할 수도 없는 것이라서 문제일 것이고 이를 통하면 Server에 가지고 있는 Database나 컨텐츠 그리고 언급되었던 구글의 컴포넌트(정확한 표현일까 고민은 했지만 그냥 사용 ...)를 용이하게 사용할 수 있을 것이라 생각한다.3장 오디오 스트리밍: 코어 오디오 탐험- 오디오 스트리밍을 단지 음악 감상의 목적으로만 사용을 하는 관점이라면 너무 아까운 기능이다.사람에 따라서는 다르겠지만 음성이나 소리를 통해서 뭔가가 전달이 되는 순간에도 다른 일을 할 수가 있고 일을 하면서 귀를 귀울일 수 있는게 사람이다.예전 영화를 보면 가내수공업을 하면서 업무 효율을 높이기 위해서 라디오를 틀어두는 경우나 택시 운전 기사들이 콜을 계속 받아가면서 운전을 하는 것을 보면 그게 가능하다.아이폰을 통해서 업무 지시정도는 아니더라도 계속 뭔가를 알려야 하는 상황이라면 ...사내 방송 같은 것은 사내에 있는 경우에 전달이 되지만 외부에 있는 사람에게는 소외받을 수 있는 것이다.정보는 누구에게나 평등해야 하고 (물론, 나름대로 필터링도 필요하겠지만 ...) 분명해야 한다.그리고, 오디오는 그것이 경보든 경고든 정보든 음성이나 소리만큼 직관적일 수 있을까?만약, 거기에 대한 응답 메시지를 전송하지 않더라도 Ticker형태로 보여지는 부분을 선택해서 메시지에 대한 응답을 감지 할 수 있다면 ... 많은 좋은 사례로 활용이 가능하지 않을까 싶다.(일례로 위험 교육에 사용이 될 수도 있다. 왠지는 따로 문의하시거나 왜 필요한지에 대한 이야기를 같이 나누어봤으면 합니다. 제가 생각하는 것은 있으니 ...)4장 당장 버그를 때려잡자! 아이폰에서 디버깅하기- 이건 뭐 제가 말할 부분이 아니라 ... Skip 하겠습니다. 뽀롱 날 것도 없지만 책잡히기 싫습니다. ㅋㅋㅋ5장 잠깐 기다려봐!: SQLite로 데이터 기반 애플리케이션 만들기- 아이폰을 통해서 입력 기반을 만든다는 것은 늘 고민이 였습니다.바다와 같은 인터넷이나 무선이라는 기반 속에서 데이터의 정합성을 어떻게 처리할 것인지의 내용이 있다.기존 솔루션의 Add-on이라도 연동에 대해서는 늘 부담을 가져야 할 부분은 정확성이라고 해야 할 것 이다.무엇보다 불편함 없이 연동이 되어야하는 부분일꺼다.SQLLite를 통해서 모바일에서 아주 작은 데이터이기는 하지만 관리를 해야하는 경우에는 폰 안에 이런 기능이 있다는 것은 다행이라고 할 수 있을 것 입니다.6장 코어 데이터와 하드코어 디자인 - 작은 사이즈에 Event성으로 발생하고 소멸적인 성격을 가지는 데이터에 대한 대안이 될 수 있다는 군요.(이해가 안 되어서 개발자에게 물어봤습니다.)SQL Lite와 적절하게 섞어서 쓴다면 퍼포먼스와 관리의 효용성 두마리 토끼를 잡을 수 있지 않을까 싶디.하드코어 디자인에 관한 부분에서 관심있는 부분은 코드를 훔쳐라, 데이타, 스키마 마이그레이션에 대한 내용도 있다.좀 차근히 읽어봐야 할 부분이라고 생각한다.7장 코어 데이터와 Three20을 이용한 애플리케이션 이메일 기능- 늘 개발을 하면서 UI부분과 개발 부분의 성과를 올리기 위해서 사내에서 많은 노력을 하고 있다.Three20에서 약속되어 있는 듯한 UI를 만들어내는데는 어렵지 않다고 하니 ...Apple에서 개발자에게 제공하는 가치 중에 하나가 저런 부분이지 않을까?디자이너와 개발자 간의 간극을 좁혀주고 서로 대화할 수 있는 부분을 명확하게 해주고만날 기회를 많이 주지않아서 싸우지 말라고 ... ㅋㅋㅋ저도 솔직히는 개발자 편인데 "개발자 뿐아니라 디자이너의 곤조 역시도 만만치 않다. 더하면 더 했지." 파스텔 톤일색의 디자이너에게 한번 당해본 저의 지론입니다.디자인은 개인적인 취향이 아닙니다.8장 iTap은 네트워크 문제들을 어떻게 해결했을까?- 의문이 하나 생겼다. Network가 아니라 Line Sync를 통해서 데이터를 주고 받아야 할때 iTunes가 안 뜨도록 해야 할텐데대부분 Windows 기반의 시스템을 사용하는 곳이 대부분일텐데 ...대용량의 증빙/증명(증거라고하면 좀 어감이 강해서 ...)을 해야하는 멀티미디어(사진, 동영상) 등의 내용은 이런 식의 접근이 필요할텐데라는 의문이다.Wi-Fi정도의 Sync라면 문제가 없을 수도 있을텐데...기획을 하면서 많은 고민을 해야할 부분이지 않을까하는 생각이다.9장 반응성 향상을 위한 팁과 트릭- 본인이 고민해야 할 부분이 아닌것 같아서 Skip하도록 하겠다.다만, 개발자와 같이 일을 할때 적극적인 자세로 고민을 해야할때 충분히 설득력있는 대화를 할 수 있는 부분이라고 생각을 하기 때문에 시간을 가지고 봐야 할 Chapter가 아닐까 생각합니다.그리고, Chart나 Graph를 많이 사용해야하는 경우에는 언급되어 있듯이 충분히 고민해야할 부분이다.10장 애플 푸쉬 알림 서비스를 이용하는 클라이언트 만들기애플의 푸쉬 알림 서비스를 파헤치다- 기존의 WorkFlow를 도입을 하거나 Off-Line으로 관리하고 있는 경우 일이 번거로워지고 답답한 경우가 실시간으로 응대를 할 수 없는 부분이라고 생각한다.만약, 다음일을 진행을 해야하는데 기존 솔루션(Realtime에 대한 대안이 없을 경우)과 업무 흐름과 연계성을 가져가는 경우 모니터만 뚫어져라 보고 있는 경우들이 있을 것이다. 그렇지 않고 다른일을 하다가 보면 흐름이 끊어져서 타이밍을 놓치는 경우도 발생을 할 수 있을 것이다.거기에 대한 대안을 메시징 기반으로 아이폰이나 다른 스마트 폰으로 잘 구성한다면 업무 성과를 2-3배 정도는 올릴 수 있을 것이라 생각한다.참 매력적인 부분이다. 메시징을 실시간으로 처리할 수 있다는 것...11장 생동감 있는 그래픽 효과를 만드는 OpenGL ES 기법OpenGL ES 기법- 파티클 시스템과 같은 맥락에서 적용이 가능할 것이라 생각을 하는데 차이가 있다면 *****일 것 이다.장점은 3D작업을 다른 곳에서 하지않고 개발적인 관점에서 접근이 가능하다는 것이다.도형을 정의하고 빛을 속성 등을 이용해서 시각적으로 설득적인 부분을 만들수 있다는 것이다.또한 이런 외부 입력장치와 자체에 내장되어있는 다양한 센서를 통해서 동작의 직관성을 파악할 수 있도록 할 수 있겠네요.고민을 해봐야 알겠지만 차도 움질일 수 있다는게 사실을 이제는 믿을 수 있을 것 같다.이 책의 장점이라면 1. 이력서를 쓸때 이런 형태로 포트폴리오를 관리를 한다면 좋을 듯 싶다.많은 개발자들을 만나고 있는데 자세히 묻다가 보면 뽀롱(?)나는 거짓말을 하거나 실제 개발 도구 앞에서가 아니라면 잘 설명을 못하는 경우가 있다.책처럼 자세히는 아니지만 경력 관리 부분은 이런 컨셉으로 정리를 한다면 ...아마 검증을 하는데 크게 어렵지 않지 않을까 하는 생각이다.채용하는 입장이든 입사해야 하는 입장이든 서로 분명한 필요성을 가진 상태에서 이야기를 할 수 있지 않을까?2. 무엇보다도 마음에 드는 부분에서 개발자의 실사례를 통해서 접근된 책이라고 할 수 있다.아마 이런 형식으로 책이 많이 나온다면 개발자들은 물론이거니와 기획자나 프리컨설턴트까지도 서로 설득하고 논의하는데 크게 어렵지 않겠느냐라는 생각을 할 수 있을 것이다.이런 생각을 할려고 하지않고 무작성 가능하니 해달라는 사람은 Broker의 감성으로 조직을 대하는 사람이라고 보면 될 것이다. (이것이 관료나 완장을 차고 조국과 민족을 배신하는 사람과 같다는 것이다. ㅋㅋㅋ)"나는 상관없고 나만 행복하면 된다."는 마인드다.그런 것에서 의견 통합을 이룰 수 있는 책의 형식이라는 것이다.이 책을 통해서 우려가 되는 부분은 1. 곧 iPhone 4.0이 나롤텐더 거기에 대한 대비는 어떻게 해야할지?기본적인 것은 바뀌지 않겠지만 ... 이런 형식의 이야기 풀이법이라면 많은 것이 해결이 될 것 같다.이런 All-Star급 저자를 다시 모아서 책이 나올려면 꽤 오래 걸리겠지? 금일 기사를 통해서 접한 내용이지만 WWDC에서 6월 경에 발표를 한다고 한다.2009년에 발표된 제품을 보면 Mac Book 라인업, PC용 Safari 4, OSX Snow Leopard ... iPhone 3Gs이번의 2010년 WWDC에는 좋은 기능과 Spec up이 된 iPhone 4G가 나왔으면 한다.획기적이고 많은 기능에 대한 "iPhone4G Advanced Projects" 역시 기대하면서 ...책 정보아이폰 개발자를 위한 실전 프로젝트 개발서 아이폰 앱 개발은 반짝이는 아이디어를 빛의 속도로 구현해야 한다. 하지만, 개발 프로젝트 진행은 늘 도전의 연속! 문제는 도처에 도사리고 있으며 해결은 언제나 개발자의 몫이다. 이 책은 그런 경험을 가진 사람들의 이야기다. 무엇보다도 그들의 공유 정신이 빛난다.- 이창신(한국 유일 자바 프로젝트 커미터) 고급 아이폰 개발 기술에 대해 다루는 책이다. 11개 장은 실제 앱을 만들면서 얻은 경험, 고급 정보가 잘 녹아 있다. 경험 많은 아이폰 개발자에게 귀중한 자료가 될 뿐 아니라, 이제 개발을 시작하는 분들에게 완성도 높은 앱 개발 안내자가 될 것이다.- 신상호 (H2Soft 대표 신상호 / KB iplustar 개발) 아이폰 앱을 개발만 해놓으면 다 잘될 것 같지만, 기술만으로는 아무것도 얻을 수 없다. 끊임없이 기획하고 시련과 즐거움을 견뎌내야 한다. 기술 이전에 경험을 느끼게 해주는 이 책은 무작정 잘 될 것이라는 막연한 기대감을 좀 더 현실적이고 설레는 희망으로 바꾸어 준다.- 유동근 (『아이폰 & 아이팟 프로그래밍』 저자)생기 있는 게임을 만드는 파티클 시스템알림 메시지를 이용한 네트워크 게임 개발실시간 스트리밍 오디오 플레이어 개발상황에 따라 빠르게 대처하는 디버깅 도구와 기법SQLite를 이용한 데이터-드리븐 앱 개발코어 데이터와 하드코어 디자인코어 데이터와 Three20을 이용한 이메일 앱 개발와이파이를 이용한 통신반응속도 향상을 위한 팁과 트릭!애플의 푸쉬 알림 서비스OpenGL ES를 이용한 살아있는 이미지 구현저자 소개요아김 본도 외 11인요아김 본도(Joachim Bondo)27년 경력의 소프트웨어 개발자로서 작은 소프트웨어 회사를 창업하고 운영하고 있다. 다양한 언어(BASIC, COMAL 80, Pascal, C, C++, 오브젝트-C, SQL, NewtonScript, PHP, JavaScript, Bash 등)를 활용하고, (Mac OS 3-8, Newton OS, Palm OS, UNIX (FreeBSD, 맥 OS X), Mac OS X Panther-Leopard, iPhone OS)에 대한 경험이 있고, 아이폰 게임인 Deep Green의 개발자다. 우정은2003년 컴퓨터 공학과를 졸업하고 벨록스소프트에 입사하면서 임베디드 소프트웨어 분야에 발을 디디게 되었다. 그 후 LG전자 단말연구소를 거쳐, 현재는 썬 마이크로시스템즈(Sun Microsystems)에서 Java Licensee Engineer로 근무하고 있다. 주로 자바 가상머신(virtual machine), 임베디드 디바이스에 탑재되는 자바 플랫폼과 관련된 일을 하였다. 아이폰의 매력에 빠져들면서 번역 및 개발을 취미로 삼게 된다.목차 1장 파티클 시스템: 생각보다 쉽고 재미있다1 파티클로 게임에 생기를 불어 넣기2 아이폰에 맞는 파티클 시스템 예제 코드 살펴보기 게임의 기본 흐름 파티클 시스템의 해부 파티클 만들기! 퇴화된 삼각형 코드로 돌아가자 랜덤 숫자와 초기 조건 파티클의 분출3 파티클 시스템 트윅 포스가 파티클과 함께 하기를4 놀랍고 화려한 꿈의 파티클 보간법 색이 변하는 파티클맺음말2장 인터넷으로 하는 체스: Deep Green으로 즐기는 메시지 통신 게임1 Deep Green은 이미 인기 있는 게임이다2 해야 할 일들 친구를 게임에 초대하기 초대 수락하기 체스 말 움직이기 알림 메시지 받기3 소중한 자산과도 같은 도구들4 이야기는 그만, 코딩의 시작! 도구들 설치하기 웹 서비스 코딩하기 디바이스에서의 작업 체스 말 움직이기맺음말3장 오디오 스트리밍: 코어 오디오 탐험1 여보게, 나는 음원을 재생할 수 있는 애플리케이션을 개발할 수 있다네… 2 MPMoviePlayerController: 참 쉽군요!3 더 나은 방법을 찾아서 시스템 사운드를 이용하는 방법 AVAudioPlayer: 베타 버전에는 없는 방법4 코어 오디오를 가지고 카우보이처럼 해결하는 방법 이제 절반까지 도달한 것일세: 오디오 큐 서비스 조금만 힘을 내면 목표 지점이다: 오디오 파일 스트림 서비스5 애플리케이션에 모든 것을 집어 넣자 한 가지 더6 실행! 7 아이폰 3.0과 이후 작업맺음말4장 당장 버그를 때려잡자! 아이폰에서 디버깅하기1 전제 조건2 Objective-C vs C/C++ 3 당신이 코드를 작성하는 사이에 커스텀 Asserts 커스텀 로깅 #define 사용하기 4 크래쉬! 테스터로부터 크래쉬 로그 받기 우리는 dSYM 파일들을 보관하고 있습니다 확실합니까? 크래쉬 로그를 심볼화하기 atos 사용하기5 재현이 어려운 크래쉬들을 재현하는 방법 스레드 시스템 레이스 컨디션6 디버깅의 과학적인 접근방법 가설을 세운다 가설을 위한 검증 절차 계획하기 가설을 증명하거나 혹은 부정하거나 크래쉬의 발생 확률 높이기 7 콜 스택 정보를 갖고 있다. 그러나… 코드의 시작 메모리 깨짐이란 무엇인가? 메모리 깨짐 확인하기 메모리 문제 감지도구 변수값 보기 링크 맵 파일맺음말5장 잠깐 기다려봐!: SQLite로 데이터 기반 애플리케이션 만들기1 지름길로 가기 위해 절벽에서 점프하다(왜 이런 선택을 하게 되었는가)2 아이폰 앱 개발을 시작한 이유3 아이폰의 데이터 기반 애플리케이션4 액티브 레코드: 데이터에 접근하는 간단한 방법5 C API를 감싸는 데이터베이스 랩퍼: ISDatabase 예제 프로젝트 셋업 데이터베이스 생성과 초기화 데이터베이스에 연결하기 간단한 요청 생성6 고급 SQL 중복된 Create 구문 방지하기 파라미터 처리 리펙토링과 정리 여러 Statement 구문을 트랜잭션 단위로 그룹화하기7 간단한 액티브 레코드 레이어 작성: ISModel 데이터베이스 연결 유지하기 모델 객체: Grocery 아이템 Grocery들이 매핑되는 방법 저장 갱신 삭제 식료품 아이템 찾기 모든 것들을 한 자리에8 간단한 마이그레이션9 다른 구현 방법맺음말6장 코어 데이터와 하드코어 디자인 1 코어 데이터의 역사? 손님은 왕이다2 첫 번째 코어 데이터 어플리케이션 첫째, 코드를 훔쳐라(음악이 아니라!) 모든 객체에 대한 뷰 첫 크래쉬거나 아니거나!3 아이폰 OS를 위한 코어 데이터 개발 설명서: 모델 마이그레이션 관리 간단하게 마이그레이션을 할 수 있다 새로운 개체 추가하기4 키-값 코딩을 사용하여 재사용이 가능한 객체 만들기5 원격 데이터베이스: 모든 것을 넷(Net)으로!맺음말7장 코어 데이터와 Three20을 이용한 애플리케이션 이메일 기능1 간단한 오프라인 SMTP 클라이언트2 사용자 인터페이스 만들기 Xcode 주물러보기 OfflineMailerAppDelegateh에 있는 인스턴스 변수 설정 UIApplication 델리게이트 초기화3 코어 데이터로 작업하기 코어 데이터 스택의 이해 Three20 추가하기 4 사용자 인터페이스를 이용한 여행5 DataManager로 최상위 레벨 데이터 관리하기6 Three20와 TTMessageController에 대한 고찰7 메시지 작성과 전송8 코어 데이터 모델 만들기9 스레드 방식의 메시지 전송을 위한 SKPSMTPMessage 해킹10 SKPSMTPMessage의 NSRunLoop 설정 11 온라인 모드로 돌아가기맺음말8장 iTap은 네트워크 문제들을 어떻게 해결했을까?1 iTap과 iTap 리시버 iTap iTap 리시버2 iTap에 대한 아이디어는 어떻게 나오게 되었고 또 진화해 왔는가?3 주요 문제들 아이폰에는 물리적 버튼이 없다 서드-파티 어플리케이션은 USB나 블루투스를 사용할 수 없다 맥과 PC 모두 지원하기 컴퓨터와 디바이스 간의 사용자 친화적인 자동 검색 기능4 프로그래머가 바라본 아이폰의 와이파이 네트워킹 예제 코드에 관하여 소켓의 소개 소켓 생성 CFSocket을 이용한 네트워크 이벤트 처리 네트워크 설정값 얻어오기 네트워크 상의 모든 기기와의 통신 와이파이 사용 가능 여부 확인하기 파워 관리 규칙 준수5 iTap의 네트워크 서브시스템 Bonjour를 사용할 것인가, 사용하지 않을 것인가 알림 메시지를 이용한 컴포넌트 간의 통신 직접 만든 자동검색 기능맺음말9장 반응성 향상을 위한 팁과 트릭1 AAPLot으로 주식 가격에 대한 기록 도표 만들기 실행할 때마다 데이터 저장하기 Plists를 이용한 데이터 영구 저장 아이폰 어플리케이션 샌드박스에 데이터 저장하기2 AAPlot에 임시 데이터 뿌리기3 여러 개의 주식 그래프 보여주기 : Stockplot 4 동시 수행 NSOperation, NSOperationQueue 그리고 블록 Plausible Blocks 컴파일러 설치하고 프로젝트에 추가하기 StockPlot에서 블록, NSOperation, NSOperationQueue 사용하기5 효율적으로 많은 양의 데이터 보여주기 UIScrollView 확대/축소 UIScrollView 확대/축소의 비밀6 확대/축소 후에 UIScrollView 해상도 재설정7 오프-스크린 컨텍스트에 그리기8 관찰, 팁 그리고 트릭맺음말10장 애플 푸쉬 알림 서비스를 이용하는 클라이언트 만들기애플의 푸쉬 알림 서비스를 파헤치다1 애플의 푸쉬 알림 서비스란 무엇인가?2 당신에게 필요한 것3 1단계: 클라이언트 생성 애플리케이션 델리게이트 수신되는 알림 메시지 처리 소리 빌드와 실행! 이런, 그렇게 빠르진 않군…4 2단계: 인증서 만들기 프로그램 포탈 과정 실습 포털로 돌아와서 코드 사이닝에 모바일 프로비저닝 파일 넣기5 3단계: 서버 설정 스크립트에 대한 고찰 서버 파일 내려 받기6 마무리 작업 클라이언트 연결하기7 추가 고려 사항/고급 주제 피드백 서버 SSL 서버 연결 개발 샌드박스에서 실제 제품으로 이동 개발 버전 vs 특별 배포 버전 모바일 프로비저닝 파일 디버깅 사용자 경험 오픈 소스 코드 제공되는 솔루션 맺음말11장 생동감 있는 그래픽 효과를 만드는 OpenGL ES 기법OpenGL ES 기법1 시작2 1단계: OpenGL 라이팅3 환경 매핑으로 눈길을 돌리다4 구 환경 매핑 구현5 환경 매핑과 확산 텍스처의 결합 각 픽셀의 반사 아이폰 3GS맺음말
http://erp4u.tistory.com2010-06-18T06:12:380.31010

관련글 더보기