<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://pimg.daum-img.net/whsnake/css/atom.css?ver=1.0" type="text/css"?>
<feed xmlns="http://www.w3.org/2005/Atom" version="1.0" >
  <title>푸르매집</title>
  <link rel="alternate" type="text/html" href="http://blog.daum.net/purume77"/>
  <link rel="self" type="application/atom+xml" href="http://blog.daum.net/xml/atom/purume77"/>
  <rights>푸르매(양정석)</rights>
  <author>
    <name>푸르매(양정석)</name>
    <uri>http://blog.daum.net/purume77</uri>
  </author>
  <generator uri="http://blog.daum.net" version="1.0">Daum blog (blogmaster@daum.net)</generator>
  <id>tag:blog.daum.net,2009:purume77</id>
  <updated>2009-09-05T21:48:10Z</updated>

  		<entry>
	    <title>손에 잡히는 정규 표현식</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331996"/>
		<id>tag:blog.daum.net,2009:purume77.7331996</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-09-05T21:48:10Z</updated>
	    <published>2009-09-05T21:48:10Z</published>
	    <content type="html">
	    	&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;table class=&quot;txc-search txc-search-book-detail&quot; key=&quot;KY_KOR9788991268630&quot; category=&quot;book_detail&quot; openpost=&quot;false&quot; width=&quot;500&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td width=&quot;110&quot; valign=&quot;top&quot;&gt;&lt;a href=&quot;http://book.daum.net/detail/book.do?bookid=KOR9788991268630&quot; target=&quot;_blank&quot;&gt;&lt;img width=&quot;110&quot; height=&quot;160&quot; src=&quot;http://photo-book.daum-img.net/images/nbook/large/630/l9788991268630.jpg&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width=&quot;15&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width=&quot;375&quot; valign=&quot;top&quot; style=&quot;position:relative;&quot;&gt;
&lt;div style=&quot;width:351px; position:absolute; z-index:1; padding:9px 12px 7px 12px;&quot;&gt;
&lt;p style=&quot;line-height:1.2;overflow-y:hidden;padding:3px 0 0 0;&quot;&gt;
&lt;span class=&quot;txc-search-title&quot; style=&quot;font-size:16px;font-weight:bold;letter-spacing:-1px;&quot;&gt;&lt;a href=&quot;http://book.daum.net/detail/book.do?bookid=KOR9788991268630&quot; title=&quot;손에 잡히는 정규 표현식&quot; target=&quot;_blank&quot;&gt;손에 잡히는 정규 표현식&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;txc-search-opborder&quot; style=&quot;height:40px; margin:0 0 8px 0; opacity:0.6; filter:alpha(opacity=60);&quot;&gt;&lt;/div&gt;
&lt;table width=&quot;363&quot; cellpadding=&quot;0&quot; cellspacing=&quot;1&quot; border=&quot;0&quot; style=&quot;margin:0 0 0 12px;&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
 &lt;td width=&quot;62&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span class=&quot;txc-caption&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;저자&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
 &lt;td align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;벤 포터 지음&amp;nbsp;&amp;nbsp;&lt;span class=&quot;txc-bar&quot;&gt;|&lt;/span&gt;&amp;nbsp;김경수 옮김&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
 &lt;td width=&quot;62&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span class=&quot;txc-caption&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;출판사&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
 &lt;td align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;인사이트 펴냄&amp;nbsp;&lt;span class=&quot;txc-bar&quot;&gt;|&lt;/span&gt;&amp;nbsp;2009.07.30 발간&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
 &lt;td width=&quot;62&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span class=&quot;txc-caption&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;카테고리&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
 &lt;td align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;컴퓨터/IT&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
 &lt;td width=&quot;62&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span class=&quot;txc-caption&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;책소개&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
 &lt;td align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;정규 표현식 입문서! 어도비의 선임 기술 전도사 벤 포터의 『손에 잡히는 정규 표현식』. 정규 표현식...&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;
&lt;/table&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;103페이지짜리 책이 작아서 일단 맘에 들었다.&amp;nbsp; ㅋㅋ&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;정규표현식(Regular Expression, 줄여서 레젝스(regex))는&amp;nbsp; 문자열을 찾거나 편집(치환) 쉽게할 수 있는 도구이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;구문을 익히고 어떻게 적용할 것인지, 주어진 문제를 어떻게 분해해야 정규표현식으로 해결할 수 있는지 익히는 것은 책만 읽어서 되는 것이 아니고 연습을 통해서만 숙달 할 수 있다. (mini language이다.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;펄, ASP, 비주얼 베이직, .NET, C#, Java, JSP, PHP, 콜드퓨전 그밖에 많은 언어에서 지원하고 구문이나 기능이 사소하게 차이가 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.forta.com/books/0672325667/&quot; target=_blank&gt;http://www.forta.com/books/0672325667/&lt;/A&gt; 에서 정규 표현식 검사기 애플리케이션을 내려받자.&lt;/P&gt;
&lt;P&gt;( Appendix C에서 JavaSciprt 클릭해서 받음 =&gt; 웹기반이며, 많이쓰는 애플리케이션 서버나 자바 스크립트 같은 프로그래밍 언어에 맞는 버전이다. )&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;. 문자 한자&lt;BR&gt;[] 문자 집합&lt;BR&gt;- 범위([]안에서만)&amp;nbsp; &lt;BR&gt;[0-9]는 [0123456789]와 같다. &lt;BR&gt;[A-z]는 사용하지 말자 Z와 a사이에 [나 ^같은 문자들도 포함되기 때문이다.&lt;BR&gt;영문자와숫자 [A-Za-z0-9]&lt;BR&gt;캐럿(^) 문자를 써서 제외할 문자집합을 지정&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4장 메타 문자 사용하기&lt;/P&gt;
&lt;P&gt;메타문자는 모두 이스케이프 할 수 있고, 문자 자체를 의미한다. \(역슬래시)로 이스케이프한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;공백문자&lt;/P&gt;
&lt;P&gt;[\b] 백스페이스&lt;/P&gt;
&lt;P&gt;\f&amp;nbsp;&amp;nbsp;&amp;nbsp; 페이지넘김(form feed)&lt;/P&gt;
&lt;P&gt;\n&amp;nbsp;&amp;nbsp; 줄바꿈&lt;/P&gt;
&lt;P&gt;\r&amp;nbsp;&amp;nbsp; 캐리지 리턴&lt;/P&gt;
&lt;P&gt;\t&amp;nbsp;&amp;nbsp; 탭&lt;/P&gt;
&lt;P&gt;\v&amp;nbsp; 수직 탭&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;자주 쓰는 문자 집합들은 특수한 메타문자로 대신하기도 한다. 이런 메타문자들을 문자클래스(classes of characters)라고 한다. (소문자와 대문자는 서로 만대임을 뜻함.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;\d 숫자하나([0-9]와 같다)&lt;/P&gt;
&lt;P&gt;\D 숫자를 제외한 문자하나 ([^0-9]와 같다)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;\w&amp;nbsp;&amp;nbsp;&amp;nbsp; 대소문자와 밑줄을 포함하는 모든 영숫자 ([a-zA-Z0-9_]와 같다)&lt;/P&gt;
&lt;P&gt;\W&amp;nbsp;&amp;nbsp;&amp;nbsp; ([^a-zA-Z0-9]와 같다)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;\s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 모든 공백 문자 ([\f\n\r\t\v]와 같다)&lt;/P&gt;
&lt;P&gt;\S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 공백 문자가 아닌 모든 문자 ([^\f\n\r\t\v]와 같다)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;포직스 문자 클래스 사용 - 자바스크립트는 포직스 문자 클래스를 지원하지 않는다.&lt;/P&gt;
&lt;P&gt;[:alnum:]&amp;nbsp;&amp;nbsp; 모든 영숫자 ([a-zA-Z0-9]와 같다)&lt;/P&gt;
&lt;P&gt;[:alpha:]&amp;nbsp;&amp;nbsp;&amp;nbsp; 모든 영문자 ([a-zA-Z]와 같다)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;5장. 반복 찾기&lt;/P&gt;
&lt;P&gt;+&amp;nbsp;&amp;nbsp; 문자 하나 이상 찾기&amp;nbsp;&amp;nbsp; {1,}와 일치&lt;/P&gt;
&lt;P&gt;*&amp;nbsp;&amp;nbsp; 문자가 없는 경우나 하나 이상 연속하는 문자 찾기&lt;/P&gt;
&lt;P&gt;?&amp;nbsp;&amp;nbsp; 문자가 없거나 하나인 문자 찾기&amp;nbsp;&amp;nbsp; {0,1}와 일치&lt;/P&gt;
&lt;P&gt;{}&amp;nbsp; 일치하는 수 지정&amp;nbsp;&amp;nbsp; 예&gt;&amp;nbsp; {3} 세개&lt;/P&gt;
&lt;P&gt;{,} 범위구간 지정&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 예&gt; {2,4}&amp;nbsp; 최소2번 최대4번&lt;/P&gt;
&lt;P&gt;최소구간&amp;nbsp; {3,}&amp;nbsp; 세번 이상 일치&lt;/P&gt;
&lt;P&gt;탐욕적 수량자에 ?를 붙여서 게으른수량자(lazy)로 만든다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;6장 위치 찾기&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>프레젠테이션 젠</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331994"/>
		<id>tag:blog.daum.net,2009:purume77.7331994</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-08-21T09:56:19Z</updated>
	    <published>2009-08-21T09:56:19Z</published>
	    <content type="html">
	    	&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;table class=&quot;txc-search txc-search-shopping-detail&quot; key=&quot;Q78614103&quot; category=&quot;shopping_detail&quot; openpost=&quot;false&quot; width=&quot;500&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td width=&quot;140&quot; valign=&quot;top&quot;&gt;&lt;a href=&quot;http://shopping.daum.net/product/productdetail.daum?productid=Q78614103&quot; target=&quot;_blank&quot;&gt;&lt;img width=&quot;140&quot; height=&quot;140&quot; src=&quot;http://prod.shopping.daum-img.net/img1/Q78614103_140.jpg&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/td&gt; 
&lt;td width=&quot;15&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width=&quot;345&quot; valign=&quot;top&quot; style=&quot;position:relative;&quot;&gt;
&lt;div style=&quot;width:321px; position:absolute; z-index:1; padding:9px 12px 7px 12px;&quot;&gt;
&lt;p style=&quot;height:38px;overflow-y:hidden;&quot;&gt;
&lt;span class=&quot;txc-search-title&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;&lt;a href=&quot;http://shopping.daum.net/product/productdetail.daum?productid=Q78614103&quot; title=&quot;기타 프리젠테이션젠 - 생각을 바꾸는 프리젠테이션 디자인[가르레이놀즈 저 | 2008년 06월 | 247쪽][OK캐쉬백]&quot; target=&quot;_blank&quot;&gt;기타 프리젠테이션젠 - 생각을 바꾸는 프리젠테이션 디자인[가르레이놀즈 저 | 2008년 06월 | 247쪽][OK캐쉬백]&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;txc-search-opborder&quot; style=&quot;height:52px; margin:0 0 8px 0; opacity:0.6; filter:alpha(opacity=60);&quot;&gt;&lt;/div&gt;
&lt;table width=&quot;334&quot; cellpadding=&quot;0&quot; cellspacing=&quot;1&quot; border=&quot;0&quot; style=&quot;margin:0 0 0 11px;&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
 &lt;td width=&quot;62&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span class=&quot;txc-caption&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;최저가격&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
 &lt;td align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;19,400원&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
 &lt;td width=&quot;62&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span class=&quot;txc-caption&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;제조사&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
 &lt;td align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;에이콘&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
 &lt;td width=&quot;62&quot; align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span class=&quot;txc-caption&quot; style=&quot;font-size:12px; font-weight:bold;&quot;&gt;카테고리&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
 &lt;td align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;
&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;선(禪) - 사상의 관점에서 프레젠테이션을 기술한다. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&quot;발표를하거나 연주를 하거나&amp;nbsp; 나의 철학을 담자!&quot;는 교훈을 새긴다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;누구에게나 추천하고픈 책이다.&lt;br&gt;&lt;/p&gt;&lt;div style=&quot;float: left; padding-top: 5px;&quot;&gt;&lt;a href=&quot;http://handic.daum.net/dicha/view_detail.do?q=12-07-13-03&quot; class=&quot;hanja_36 text_n black_link&quot; onclick='return gUSR1Link(null, &quot;M1DD&quot;, &quot;1&quot;, &quot;1&quot;, &quot;12-07-13-03&quot;)'&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
		
		&lt;p&gt;&lt;br&gt;&lt;/p&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>2009 여름휴가때 자운대 추목 수영장에서..</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331989"/>
		<id>tag:blog.daum.net,2009:purume77.7331989</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-08-08T10:27:12Z</updated>
	    <published>2009-08-08T10:27:12Z</published>
	    <content type="html">
	    	&lt;P&gt;2009 여름 휴가중 자운대 추목수영장 방문기념..&lt;/P&gt;
&lt;P&gt;저녁 식사후에는 둔산동 법원근처의 &lt;SPAN style=&quot;FONT-FAMILY: HYtoe&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: HYfox&quot;&gt;&lt;EM&gt;Coffee bean &amp; Tea leaf &lt;/EM&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;^^&lt;/P&gt;
&lt;P&gt;병우형, 은주 누나랑..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfile206.uf.daum.net/image/20320F0E4A7CD41074198D&quot; class=&quot;tx-daum-image&quot; style=&quot;CLEAR: none; FLOAT: none&quot; actualwidth=&quot;578&quot; hspace=&quot;1&quot; width=&quot;578&quot; vspace=&quot;1&quot; border=&quot;0&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfile215.uf.daum.net/image/11320F0E4A7CD41075F340&quot; class=&quot;tx-daum-image&quot; style=&quot;CLEAR: none; FLOAT: none&quot; actualwidth=&quot;578&quot; hspace=&quot;1&quot; width=&quot;578&quot; vspace=&quot;1&quot; border=&quot;0&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfile211.uf.daum.net/image/12320F0E4A7CD41076D0A6&quot; class=&quot;tx-daum-image&quot; style=&quot;CLEAR: none; FLOAT: none&quot; actualwidth=&quot;578&quot; hspace=&quot;1&quot; width=&quot;578&quot; vspace=&quot;1&quot; border=&quot;0&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfile228.uf.daum.net/image/14320F0E4A7CD411770B27&quot; class=&quot;tx-daum-image&quot; style=&quot;CLEAR: none; FLOAT: none&quot; actualwidth=&quot;578&quot; hspace=&quot;1&quot; width=&quot;578&quot; vspace=&quot;1&quot; border=&quot;0&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>[ES 2.0] 정리</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331986"/>
		<id>tag:blog.daum.net,2009:purume77.7331986</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-07-14T06:44:59Z</updated>
	    <published>2009-07-14T06:44:59Z</published>
	    <content type="html">
	    	&lt;p&gt;에뮬레이터, 샘플 코드등을 받을 수 있는 사이트 : http://www.opengles-book.com/&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;OpenGL ES specifications와 OpenGL의 역관 관계&lt;br&gt;&lt;/p&gt;&lt;p&gt;OpenGL ES 1.0&amp;nbsp; &lt;--- OpenGL 1.3&lt;br&gt;&lt;/p&gt;&lt;p&gt;OpenGL ES 1.1&amp;nbsp; &lt;--- OpenGL 1.5&lt;/p&gt;&lt;p&gt;OpenGL ES 2.0&amp;nbsp; &lt;--- OpenGL 2.0&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;OpenGL ES의 목적은&lt;br&gt;&lt;/p&gt;&lt;p&gt;1. creating an API suitable for constrained devices.&lt;br&gt;&lt;/p&gt;&lt;p&gt;2. removing redundancy compatibility with OpenGL.&lt;br&gt;&lt;/p&gt;&lt;p&gt;3. new features. 예를들면, 저전력소모 shading language추가&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>iCong첫 릴리즈 하던 날</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331985"/>
		<id>tag:blog.daum.net,2009:purume77.7331985</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-07-14T06:19:10Z</updated>
	    <published>2009-07-14T06:19:10Z</published>
	    <content type="html">
	    	&lt;p&gt;iCong첫 릴리즈 하던 날 블로깅 하신다고 사진 찍을 때&lt;br&gt;&lt;/p&gt;&lt;p&gt;양재 사옥 버거킹 옆에 간판에서 한 컷! &lt;br&gt;&lt;/p&gt;&lt;p&gt;대발이다!! ㅋㅋ&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://cfile234.uf.daum.net/image/14705C0C4A5BA47A51501C&quot; class=&quot;tx-daum-image&quot; actualwidth=&quot;578&quot; style=&quot;clear: none; float: none;&quot; vspace=&quot;1&quot; width=&quot;578&quot; border=&quot;0&quot; hspace=&quot;1&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>[예제] ifstream으로 바이너리 파일을 읽어 들이기</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331983"/>
		<id>tag:blog.daum.net,2009:purume77.7331983</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-07-06T14:41:25Z</updated>
	    <published>2009-07-06T14:41:25Z</published>
	    <content type="html">
	    	&lt;p&gt;&lt;span style=&quot;color: rgb(92, 127, 176);&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: rgb(200, 66, 5);&quot;&gt;&lt;fstream&gt;&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: rgb(92, 127, 176);&quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: rgb(200, 66, 5);&quot;&gt;&lt;iostream&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style=&quot;color: rgb(92, 127, 176);&quot;&gt;using namespace&lt;/span&gt; std;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;void Loadfile() &lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; std::ifstream infile;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;// 파일을 읽어들일 스트림 인스턴스.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile.open( _T(&quot;C:\\TestSample.jpg&quot;), (std::ios::in | std::ios::ate | std::ios::binary) );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile.seekg(0, std::ios::end);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;// 끝 위치로 이동후&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(25, 61, 169);&quot;&gt;long&lt;/span&gt; size = infile.tellg();&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;// 끝 위치를 읽어서 파일 사이즈를 구한다.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile.seekg(0, std::ios::beg);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(25, 61, 169);&quot;&gt;unsigned char&lt;/span&gt;* imageBuffer = &lt;span style=&quot;color: rgb(25, 61, 169);&quot;&gt;new unsigned char&lt;/span&gt;[size];&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile.read( (&lt;span style=&quot;color: rgb(25, 61, 169);&quot;&gt;char&lt;/span&gt;*)imageBuffer, size );&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile.close();&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;// 여기서 할일을 다 하고 나서&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(25, 61, 169);&quot;&gt;delete&lt;/span&gt; [] imageBuffer;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;// 할당된 메모리 해제&lt;/span&gt;&lt;br&gt;}//------------------------------------------------&lt;br&gt;&lt;/p&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>[경험담] OpenGL ES Vertex 설정시 주의사항</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331982"/>
		<id>tag:blog.daum.net,2009:purume77.7331982</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-06-04T21:42:09Z</updated>
	    <published>2009-06-04T21:42:09Z</published>
	    <content type="html">
	    	&lt;p&gt;렌더할 모델을 만들때, 기준 크기를 어떻게 잡을 것인가.&lt;br&gt;&lt;/p&gt;&lt;p&gt;OpenGL ES의 경우 일반 GL의 경우와는 다르게 너무 작아도, 너무 커도 안 된다. &lt;br&gt;&lt;/p&gt;&lt;p&gt;( iPhone기반의 OpenGL ES에서는 일반GL의 경우처럼 잘 동작한다.하지만, &lt;br&gt;&lt;/p&gt;&lt;p&gt;vincent Library라고 하는 Khronos에서 나온 라이브러리를 사용할 경우 이 내용은 매우 중요하다. )&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;1. 너무 작게 잡은 경우&lt;br&gt;&lt;/p&gt;&lt;p&gt;구면 매핑을 위하여 구 모델의 기준 크기를 1.0으로 잡았었다. 컴터할때 기준 크기를 1.0 으로 잡으려고 &lt;br&gt;&lt;/p&gt;&lt;p&gt;하는 이유는 뻔하다. Normalized 되어 있어서 다른 크기로 변환이 쉽기 때문이다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;그런데.. 이게 문제를 일으킬 수있다. vertex나 기하파라미터가 0.0에 가까워 질수록 SNR이 거진다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;잘려나가는 데이터가 무시 하지 못할 수준이 되어 버린다. &lt;br&gt;&lt;/p&gt;&lt;p&gt;( 정확한지는 모르겠지만. Vincent lib가 내부적으로 정수형으로 데이터를 변환해서 처리 하는 걸로 알고 있다. 부동소수점 프로세서가 없던 시대의 모바일 디바이스에 맞춰서 만들어져서 정수형으로 해야 연산이 빠르기 때문이라고 알고 있다. )&lt;br&gt;&lt;/p&gt;&lt;p&gt;실지 구면 매핑을 해본 경험으로는 구가 한 바뀌 돌면서 점점 깨진다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;그리고 일반적으로 텍스쳐 매핑시나 다른 때도 퀄리티가 떨어지는 찌그리가 발생하는 원인이 된다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;절대 ( 1.0, 0.0, 0.0 ), ( 0.5, 0.0, 0.0 )이런 식으로 크기 잡지 않는 것이 좋다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;2. 너무 크게 잡은 경우&lt;br&gt;&lt;/p&gt;&lt;p&gt;1번의 문제를 해결 하기 위해서 기준 크기를 아주 크게 잡았다. 그러면 실지 값 대비 잘려서 버려지는 값의 비율이 커서 기하가 깨지는 것을 방지 할 수 있을 것 같았다. 실지로 그렇다. 그런데 문제는&lt;br&gt;&amp;nbsp;데이터가 약 40000 정도 넘어 가니깐 깨지기 시작했다.( 정확한 값은 삽질이 필요할것 같아 계산해 보지 않았다. ) &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;그래서 만약 구면 매핑을 한다라고 생각하면,&lt;br&gt;&lt;/p&gt;&lt;p&gt;기준 구의 반지름을 약 1000 정도 잡으면 좋은 것 같다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;이리 밀고 땡기고 돌리고 해도 기준치를 안 넘어 가니깐..&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;크기를 너무 크게 잡아 구가 깨진 형태를 일단 첨부해 봤다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;찌글 짜글 부분이 깨진 부분이라고 생각하면 된다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://cfile205.uf.daum.net/image/1358F60C4A27BF35248CB7&quot; class=&quot;tx-daum-image&quot; actualwidth=&quot;326&quot; style=&quot;clear: none; float: none;&quot; vspace=&quot;1&quot; width=&quot;326&quot; border=&quot;0&quot; hspace=&quot;1&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;크기 조정해서 내가 원했던 결과를 아래에 다시 첨부한다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://cfile234.uf.daum.net/image/126F290F4A27C04FA08F0A&quot; class=&quot;tx-daum-image&quot; actualwidth=&quot;322&quot; style=&quot;clear: none; float: none;&quot; vspace=&quot;1&quot; width=&quot;322&quot; border=&quot;0&quot; hspace=&quot;1&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;실은 이유를 몰라 애매한 커맨드 들만 열심히 의심하고 테스트하면서&lt;br&gt;&lt;/p&gt;&lt;p&gt;1주일의 시간을 보냈다. &lt;br&gt;&lt;/p&gt;&lt;p&gt;챙피한 노릇이다!&lt;br&gt;&lt;/p&gt;&lt;p&gt;다른 분들은 이런 실수 하지 않으시기를..&lt;br&gt;&lt;/p&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>사자소학 효행편</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331972"/>
		<id>tag:blog.daum.net,2009:purume77.7331972</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-04-15T01:27:16Z</updated>
	    <published>2009-04-15T01:27:16Z</published>
	    <content type="html">
	    	&lt;object type='application/x-shockwave-flash' width=&quot;502&quot; height=&quot;399&quot; align='middle' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'&gt;&lt;param name='movie' value='http://flvs.daum.net/flvPlayer.swf?vid=BEDgMo9kvcg$' /&gt;&lt;param name='allowScriptAccess' value='always' /&gt;&lt;param name='allowFullScreen' value='true' /&gt;&lt;param name='bgcolor' value='#000000' /&gt;&lt;embed src='http://flvs.daum.net/flvPlayer.swf?vid=BEDgMo9kvcg$' width=&quot;502&quot; height=&quot;399&quot; allowScriptAccess='always' type='application/x-shockwave-flash' allowFullScreen='true' bgcolor='#000000' &gt;&lt;/embed&gt;&lt;/object&gt;
&lt;P&gt;&lt;/P&gt;&lt;object type='application/x-shockwave-flash' width=&quot;502&quot; height=&quot;399&quot; align='middle' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'&gt;&lt;param name='movie' value='http://flvs.daum.net/flvPlayer.swf?vid=T5fA0XWt8Oc$' /&gt;&lt;param name='allowScriptAccess' value='always' /&gt;&lt;param name='allowFullScreen' value='true' /&gt;&lt;param name='bgcolor' value='#000000' /&gt;&lt;embed src='http://flvs.daum.net/flvPlayer.swf?vid=T5fA0XWt8Oc$' width=&quot;502&quot; height=&quot;399&quot; allowScriptAccess='always' type='application/x-shockwave-flash' allowFullScreen='true' bgcolor='#000000' &gt;&lt;/embed&gt;&lt;/object&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>[code-GL ES] Simple Texture mapping</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/purume77/7331971"/>
		<id>tag:blog.daum.net,2009:purume77.7331971</id>
	    <author>
		    <name>푸르매(양정석)</name>
	    </author>
	    <updated>2009-04-06T20:25:37Z</updated>
	    <published>2009-04-06T20:25:37Z</published>
	    <content type="html">
	    	&lt;p&gt;단순히 1개의 텍스쳐를 매핑하는 기본 로직이다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;OpenGL ES의 경우 기본 스펙이 2의 자승 크기로만 텍스쳐가 매핑 될 수 있다.&lt;br&gt;&lt;/p&gt;&lt;p&gt;(2,4,8,16,32,64... )&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; GLuint _textureIndex;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp; unsigned char ptImage[nWidth*nHeight*4];&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;- (void) SetTexture { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // OpenGL ES chogiwha &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glEnable(GL_CULL_FACE);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glEnable(GL_TEXTURE_2D); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glEnable(GL_BLEND); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(ptImage, 0, nWidth*nHeight*4); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x,y; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(y=0;y&lt;nHeight;y+=10) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(x=0;x&lt;nWidth;++x) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ptImage[4*(nWidth*y+x)] = 255; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ptImage[4*(nWidth*y+x)+1] = 0; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ptImage[4*(nWidth*y+x)+2] = 0; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ptImage[4*(nWidth*y+x)+3] = 0; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // deleteTexture(); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glGenTextures(1, &amp;_textureIndex); &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glBindTexture(GL_TEXTURE_2D, _textureIndex); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, nWidth, nHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, ptImage); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, nWidth, nHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, ptImageData); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Texture와 Texture사이에 경계선이 생기는 문제 때문에 추가함.. CLAMP &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;}//---------------------------------------------------------------------------&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;- (void) RenderDrawTexture_Test {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_textureIndex &lt;= 0) return; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const GLfloat squareVertices[] = {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; -0.5f, -0.5f, 0.8f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0.5f, -0.5f, 0.8f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; -0.5f, 0.5f, 0.8f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0.5f, 0.5f, 0.8f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const GLfloat squareTexCord[] = {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0f, 0.0f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 1.0f, 0.0f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0f, 1.0f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 1.0f, 1.0f, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glViewport(0, 0, 320, 480); //width(320), height(480) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glMatrixMode(GL_PROJECTION); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glLoadIdentity(); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glFrustumf(-1.0f, 1.0f, -1.5f, -1.5f, 0.4, 1.5); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glMatrixMode(GL_MODELVIEW); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glRotatef(1.0f, 0.0f, 0.0f, 1.0f); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glClearColor(0.1f, 0.1f, 0.1f, 1.0f); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glClear(GL_COLOR_BUFFER_BIT); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glBindTexture(GL_TEXTURE_2D, _textureIndex); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSLog(@&quot;_textureIndex: %d&quot;,_textureIndex);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glVertexPointer(3, GL_FLOAT, 0, squareVertices); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glEnableClientState(GL_VERTEX_ARRAY); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glTexCoordPointer(2, GL_FLOAT, 0, squareTexCord); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glEnableClientState(GL_TEXTURE_COORD_ARRAY); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); &lt;br&gt;}//-------------------------------------------------&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;
	    </content>
	    	</entry>
      </feed>
