<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>iPhoneDev. &#187; プログラム</title>
	<atom:link href="http://www.electrodream.jp/iphonedev/index.php/category/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.electrodream.jp/iphonedev</link>
	<description>　　　　　iPhoneアプリ制作日記</description>
	<lastBuildDate>Sat, 15 May 2010 23:46:18 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/category/%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0/feed/" />
		<item>
		<title>着信音アプリ、簡単とはいえやはりいろいろありますね・・</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2010/04/%e7%9d%80%e4%bf%a1%e9%9f%b3%e3%82%a2%e3%83%97%e3%83%aa%e3%80%81%e7%b0%a1%e5%8d%98%e3%81%a8%e3%81%af%e3%81%84%e3%81%88%e3%82%84%e3%81%af%e3%82%8a%e3%81%84%e3%82%8d%e3%81%84%e3%82%8d%e3%81%82%e3%82%8b/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2010/04/%e7%9d%80%e4%bf%a1%e9%9f%b3%e3%82%a2%e3%83%97%e3%83%aa%e3%80%81%e7%b0%a1%e5%8d%98%e3%81%a8%e3%81%af%e3%81%84%e3%81%88%e3%82%84%e3%81%af%e3%82%8a%e3%81%84%e3%82%8d%e3%81%84%e3%82%8d%e3%81%82%e3%82%8b/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 05:24:48 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=583</guid>
		<description><![CDATA[先日、Android向け着信音集アプリをリリースしました。 簡単だよなあと思ったのですが、何点か結構かかってしまった点があるので、 メモ代わりに残します。 ■後方互換（1.6と2.1への両対応） 基本的に、1.6向けのプログラムは2.1で動くのですが、 一点だけ、アドレス帳の1人1人に着信音を設定出来るのですが、 それが2.1では貼り付けることが出来ませんでした。 （音自体は、リストには入るのですが） それで、2.1向けに書くと、 Cursor c = mAdapter.getCursor(); int dataIndex = c.getColumnIndexOrThrow(People._ID); String contactId = c.getString(dataIndex); Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, contactId); ArrayList ops = new ArrayList(); ContentProviderOperation.Builder builder = ContentProviderOperation.newUpdate(uri); builder.withValue(ContactsContract.Contacts.CUSTOM_RINGTONE, newRingtoneUri.toString()); ops.add(builder.build()); try{ getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); } catch(Exception e) { } という様に変えることで動作するようになったものの、 2.1向けのapiを使っている部分があり、このままでは1.6では動かないことに。 こういう場合、 http://www.textdrop.net/soft/android-backword-compatibility/ にあるように、1.6設定で、2.1向けの部分のみ、 if(Integer.valueOf(Build.VERSION.SDK) >= 5) で分離させ、reflectionを駆使して [...]]]></description>
			<content:encoded><![CDATA[<p>
先日、Android向け着信音集アプリをリリースしました。<br />
簡単だよなあと思ったのですが、何点か結構かかってしまった点があるので、<br />
メモ代わりに残します。<br />
<br />
<br />
<strong>■後方互換（1.6と2.1への両対応）</strong><br />
基本的に、1.6向けのプログラムは2.1で動くのですが、<br />
一点だけ、アドレス帳の1人1人に着信音を設定出来るのですが、<br />
それが2.1では貼り付けることが出来ませんでした。<br />
（音自体は、リストには入るのですが）<br />
<br />
それで、2.1向けに書くと、<br />
<br />
Cursor c = mAdapter.getCursor();<br />
int dataIndex = c.getColumnIndexOrThrow(People._ID);<br />
String contactId = c.getString(dataIndex);<br />
<br />
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, contactId);<br />
<br />
ArrayList ops = new ArrayList();<br />
ContentProviderOperation.Builder builder = ContentProviderOperation.newUpdate(uri);<br />
builder.withValue(ContactsContract.Contacts.CUSTOM_RINGTONE, newRingtoneUri.toString());<br />
ops.add(builder.build());<br />
			        <br />
try{<br />
getContentResolver().applyBatch(ContactsContract.AUTHORITY,  ops);<br />
} catch(Exception e) { }<br />
<br />
という様に変えることで動作するようになったものの、<br />
2.1向けのapiを使っている部分があり、このままでは1.6では動かないことに。<br />
<br />
こういう場合、<br />
<br />
http://www.textdrop.net/soft/android-backword-compatibility/<br />
<br />
にあるように、1.6設定で、2.1向けの部分のみ、<br />
if(Integer.valueOf(Build.VERSION.SDK) >= 5)<br />
で分離させ、reflectionを駆使して<br />
以下のように書き換える必要がありました。<br />
<br />
<br />
ArrayList ops = new ArrayList(); <br />
<br />
Class contentProviderOperation = Class.forName(&#8220;android.content.ContentProviderOperation&#8221;);<br />
Method newUpdate = contentProviderOperation.getMethod(&#8220;newUpdate&#8221;, new Class[] { Uri.class } );<br />
<br />
Class contentProviderOperation_Builder = Class.forName(&#8220;android.content.ContentProviderOperation$Builder&#8221;);<br />
Method build = contentProviderOperation_Builder.getMethod(&#8220;build&#8221;, null );<br />
Method withValue = contentProviderOperation_Builder.getMethod(&#8220;withValue&#8221;, new Class[] { String.class , Object.class } );<br />
			        <br />
Class ContactsContract_Contacts = Class.forName(&#8220;android.provider.ContactsContract$Contacts&#8221;);<br />
Uri CONTENT_URI = (Uri)ContactsContract_Contacts.getField(&#8220;CONTENT_URI&#8221;).get(ContactsContract_Contacts);<br />
Uri uri = Uri.withAppendedPath(CONTENT_URI, contactId);<br />
			        <br />
String customRingTone = (String)ContactsContract_Contacts.getField(&#8220;CUSTOM_RINGTONE&#8221;).get(ContactsContract_Contacts);<br />
			        <br />
Object builderObject = ((Object) newUpdate.invoke(null, uri));<br />
withValue.invoke(builderObject, customRingTone, newUri.toString());<br />
			        <br />
ops.add(build.invoke(builderObject, null));<br />
			        <br />
Class ContactsContract = Class.forName(&#8220;android.provider.ContactsContract&#8221;);<br />
String AUTHORITY = (String)ContactsContract.getField(&#8220;AUTHORITY&#8221;).get(ContactsContract);<br />
			        <br />
Method applyBatch = ContentResolver.class.getMethod(&#8220;applyBatch&#8221;, new Class[] { String.class , ArrayList.class});<br />
applyBatch.invoke(mainContext.getContentResolver(), AUTHORITY, ops);<br />
<br />
全くreflectionなど使ったこと無かったので、<br />
java的に、書いていくのが大変でした。<br />
<br />
<br />
<br />
<strong>■HT-03Aで・・</strong><br />
着信音を登録していくと、どんどん着信音リストに貯まって行ってしまうので、<br />
端末にある着信音のリストを見て、もし既にあればそのUriから設定するようにしたところ、<br />
HT-03Aでは「アプリが停止しています　強制終了しますか、待機しますか」<br />
というような”待ち”ウインドウが出てしまいました。<br />
（他の端末や、エミュレーションでは問題なし。）<br />
<br />
ちなみにリストからのチェックは、以下のような関数を実行していて、<br />
音は30個とか40個とかしかなくとも、もうその数だけでも”待ち”状態になってしまいました。<br />
<br />
public static Uri ringtoneExsistUri(Context mainContext , String soundName , int RingToneType){<br />
	    	<br />
	    	RingtoneManager rm = new RingtoneManager(mainContext);<br />
	    	rm.setType(RingToneType);<br />
	    	<br />
	    	Cursor cursor = rm.getCursor();<br />
	    	<br />
	    	if (cursor != null) {<br />
	    		int repeatCount = cursor.getCount();<br />
	        	for(int i = 0 ; i < repeatCount ; i++){<br />
	        		Ringtone ringtone = rm.getRingtone(i); <br />
	        		<br />
	        		String currentTitle = ringtone.getTitle(mainContext);<br />
	        		if(currentTitle.equals(soundName)){<br />
	        			return rm.getRingtoneUri(i);<br />
	        		}<br />
	        		<br />
	        	}<br />
	    	}<br />
	    	<br />
	    	return null;<br />
}<br />
<br />
登録までには、<br />
上記の既にあるかチェック→リソースから音ファイルに変換（ファイル化してどこかに置かないと着信音として設定出来ないので）→設定<br />
という流れがあるのですが、それらを全てバックグラウンド動作に書き換えることで、<br />
この現象は回避出来ました。<br />
<br />
（バックグラウンド動作は、<br />
<br />
http://wikiwiki.jp/android/?AsyncTask%A4%C7%A5%D0%A5%C3%A5%AF%A5%B0%A5%E9%A5%A6%A5%F3%A5%C9%BD%E8%CD%FD%A4%F2%B9%D4%A4%A6<br />
<br />
を参考にさせていただきました。）<br />
<br />
やはり「1本ちゃんと出す」と言うことは<br />
結構いろいろありますが、すごく勉強になりました。<br />
<br />
<br />
ちなみに、アプリは「<strong>着信音～日本の音</strong>」<br />
<a href="http://www.zerohachi.jp/ringtone01/index_jp.html">http://www.zerohachi.jp/ringtone01/index_jp.html</a><br />
<img src="http://www.electrodream.jp/iphonedev/wp-content/uploads/2010/04/QRcode.png" alt="QRcode_ringtone_jp" title="QRcode_ringtone_jp" width="147" height="147" class="alignnone size-full wp-image-586" />
<br />
という、そのままの名前で99円でマーケットで販売しております、<br />
もしよければご購入いただければありがたいです。<br />
<br />
<br />
※その他、参考にさせていただいたサイト<br />
<br />
http://d.hatena.ne.jp/tomorrowkey/20090826/1251294895<br />
<br />
<br />
http://code.google.com/p/ringdroid/<br />
<br />
<br />
http://clipboard.blog.so-net.ne.jp/2010-05-01<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2010/04/%e7%9d%80%e4%bf%a1%e9%9f%b3%e3%82%a2%e3%83%97%e3%83%aa%e3%80%81%e7%b0%a1%e5%8d%98%e3%81%a8%e3%81%af%e3%81%84%e3%81%88%e3%82%84%e3%81%af%e3%82%8a%e3%81%84%e3%82%8d%e3%81%84%e3%82%8d%e3%81%82%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2010/04/%e7%9d%80%e4%bf%a1%e9%9f%b3%e3%82%a2%e3%83%97%e3%83%aa%e3%80%81%e7%b0%a1%e5%8d%98%e3%81%a8%e3%81%af%e3%81%84%e3%81%88%e3%82%84%e3%81%af%e3%82%8a%e3%81%84%e3%82%8d%e3%81%84%e3%82%8d%e3%81%82%e3%82%8b/" />
	</item>
		<item>
		<title>Androidのライブ壁紙のタッチイベント</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2010/04/android%e3%81%aelive%e5%a3%81%e7%b4%99%e3%81%ae%e3%82%bf%e3%83%83%e3%83%81%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2010/04/android%e3%81%aelive%e5%a3%81%e7%b4%99%e3%81%ae%e3%82%bf%e3%83%83%e3%83%81%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 04:33:57 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=578</guid>
		<description><![CDATA[public void onTouchEvent(MotionEvent event) でタッチを拾うと、Homeのメニューを開くボタンや、 そのメニューのアイコンをクリックしたときなどにもタッチを拾ってしまう。 そこで、 http://developer.android.com/intl/ja/resources/articles/live-wallpapers.html にも載っているが、onCommandを書き、 setTouchEventsEnabled(false); を入れonTouchEventへ渡らないようにすることで、 壁紙へのタッチのみを拾うことが出来るようになる。 @Override public Bundle onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested) { if (&#8220;android.wallpaper.tap&#8221;.equals(action)) { //action } return super.onCommand(action, x, y, z, extras, resultRequested); } ただ、なぜかエミュレーターでは動作せず、実機（Desire）では動作するという、 変な状況になってしまっている。]]></description>
			<content:encoded><![CDATA[<p>
 public void onTouchEvent(MotionEvent event)<br />
でタッチを拾うと、Homeのメニューを開くボタンや、<br />
そのメニューのアイコンをクリックしたときなどにもタッチを拾ってしまう。<br />
<br />
そこで、<br />
<br />
http://developer.android.com/intl/ja/resources/articles/live-wallpapers.html<br />
<br />
にも載っているが、onCommandを書き、<br />
setTouchEventsEnabled(false); <br />
を入れonTouchEventへ渡らないようにすることで、<br />
壁紙へのタッチのみを拾うことが出来るようになる。<br />
<br />
 @Override<br />
		public Bundle onCommand(String action, int x, int y, int z,<br />
				Bundle extras, boolean resultRequested) {<br />
			if (&#8220;android.wallpaper.tap&#8221;.equals(action)) {<br />
				//action<br />
			}<br />
			<br />
			return super.onCommand(action, x, y, z, extras, resultRequested);<br />
		}<br />
<br />
ただ、なぜか<strong>エミュレーターでは動作せず、実機（Desire）では動作する</strong>という、<br />
変な状況になってしまっている。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2010/04/android%e3%81%aelive%e5%a3%81%e7%b4%99%e3%81%ae%e3%82%bf%e3%83%83%e3%83%81%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2010/04/android%e3%81%aelive%e5%a3%81%e7%b4%99%e3%81%ae%e3%82%bf%e3%83%83%e3%83%81%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88/" />
	</item>
		<item>
		<title>Your Web Application Project must be configured to use a JDK in order to use JSPs</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2010/02/your-web-application-project-must-be-configured-to-use-a-jdk-in-order-to-use-jsps/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2010/02/your-web-application-project-must-be-configured-to-use-a-jdk-in-order-to-use-jsps/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 23:53:51 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=565</guid>
		<description><![CDATA[GAE/JAVAで、なんてことは無いエラーだったのですが、 JSPファイルを追加しただけでエラー（JSPに赤い×マークが付いてコンパイルできない）になるのが 何でなのかわからず、しばらく調べてしまいました。 http://groups.google.com/group/google-appengine/browse_thread/thread/6f445b256a5aec0f によると、JDKが入っているフォルダを選択しないとだめで (自分の環境だと、eclipseの、window→preferences→JAVA→Installed JREsから、 C:\program files\Java\jdk1.6.0_18 のフォルダを選択して追加し、 それを選択することでエラーは出なくなりました。)、 JREにはコンパイラが付いていないからだそうです。]]></description>
			<content:encoded><![CDATA[<p>
GAE/JAVAで、なんてことは無いエラーだったのですが、<br />
JSPファイルを追加しただけでエラー（JSPに赤い×マークが付いてコンパイルできない）になるのが<br />
何でなのかわからず、しばらく調べてしまいました。<br />
<br />
http://groups.google.com/group/google-appengine/browse_thread/thread/6f445b256a5aec0f<br />
<br />
によると、JDKが入っているフォルダを選択しないとだめで<br />
(自分の環境だと、eclipseの、window→preferences→JAVA→Installed JREsから、<br />
C:\program files\Java\jdk1.6.0_18 のフォルダを選択して追加し、<br />
それを選択することでエラーは出なくなりました。)、<br />
JREにはコンパイラが付いていないからだそうです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2010/02/your-web-application-project-must-be-configured-to-use-a-jdk-in-order-to-use-jsps/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2010/02/your-web-application-project-must-be-configured-to-use-a-jdk-in-order-to-use-jsps/" />
	</item>
		<item>
		<title>久しぶりのFLASH AS3で　mcがnullでしか取得できない</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2009/12/%e4%b9%85%e3%81%97%e3%81%b6%e3%82%8a%e3%81%aeflash-as3%e3%81%a7%e3%80%80mc%e3%81%8cnull%e3%81%a7%e3%81%97%e3%81%8b%e5%8f%96%e5%be%97%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2009/12/%e4%b9%85%e3%81%97%e3%81%b6%e3%82%8a%e3%81%aeflash-as3%e3%81%a7%e3%80%80mc%e3%81%8cnull%e3%81%a7%e3%81%97%e3%81%8b%e5%8f%96%e5%be%97%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 12:12:22 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=538</guid>
		<description><![CDATA[こんな問題あったっけ？という問題にはまってしまいました。 classのコンストラクタで、 gotoAndStop(1); を実行してはいけないのですね。 １フレームで止めるように使うことすら、だめなんですね。 そういう時はStopにしろと。 （でも、初期化の関数を再利用したい場合などで、 そういう風に書くこともありえますよね。 自分がそうだったからなんですが・・。） これを行ってしまうと、一見エラーなどは当然出ず、正常に動くんですが、 それを設定しているオブジェクト（詳細は未確認ですが、設定しているオブジェクトを内包しているmcでもだめかも） への参照が、どうやっても取得できず、nullになってしまいます。 それで、 「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」 がいろんな所で出て、かなり焦りました・・。 でも、自分でそのクラスをnewして、addChildして使う分には正常に動くという・・。 FLASHの仕様でしょうか・・。]]></description>
			<content:encoded><![CDATA[<p>
こんな問題あったっけ？という問題にはまってしまいました。<br />
<br />
classのコンストラクタで、<br />
gotoAndStop(1);<br />
を実行してはいけないのですね。<br />
<br />
１フレームで止めるように使うことすら、だめなんですね。<br />
そういう時はStopにしろと。<br />
（でも、初期化の関数を再利用したい場合などで、<br />
そういう風に書くこともありえますよね。<br />
自分がそうだったからなんですが・・。）<br />
<br />
これを行ってしまうと、一見エラーなどは当然出ず、正常に動くんですが、<br />
それを設定しているオブジェクト（詳細は未確認ですが、設定しているオブジェクトを内包しているmcでもだめかも）<br />
への参照が、どうやっても取得できず、nullになってしまいます。<br />
<br />
それで、<br />
「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」<br />
がいろんな所で出て、かなり焦りました・・。<br />
<br />
でも、自分でそのクラスをnewして、addChildして使う分には正常に動くという・・。<br />
FLASHの仕様でしょうか・・。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2009/12/%e4%b9%85%e3%81%97%e3%81%b6%e3%82%8a%e3%81%aeflash-as3%e3%81%a7%e3%80%80mc%e3%81%8cnull%e3%81%a7%e3%81%97%e3%81%8b%e5%8f%96%e5%be%97%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2009/12/%e4%b9%85%e3%81%97%e3%81%b6%e3%82%8a%e3%81%aeflash-as3%e3%81%a7%e3%80%80mc%e3%81%8cnull%e3%81%a7%e3%81%97%e3%81%8b%e5%8f%96%e5%be%97%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/" />
	</item>
		<item>
		<title>iPhoneアプリからのムービーファイル再生時にチャプターを持てるか？</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2009/12/iphone%e3%82%a2%e3%83%97%e3%83%aa%e3%81%8b%e3%82%89%e3%81%ae%e3%83%a0%e3%83%bc%e3%83%93%e3%83%bc%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e5%86%8d%e7%94%9f%e6%99%82%e3%81%ab%e3%83%81%e3%83%a3%e3%83%97/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2009/12/iphone%e3%82%a2%e3%83%97%e3%83%aa%e3%81%8b%e3%82%89%e3%81%ae%e3%83%a0%e3%83%bc%e3%83%93%e3%83%bc%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e5%86%8d%e7%94%9f%e6%99%82%e3%81%ab%e3%83%81%e3%83%a3%e3%83%97/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 02:07:42 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=535</guid>
		<description><![CDATA[チャプター情報付きの動画の話なのですが、 mac上のQuickTimeで見たり、iTunesから同期してムービーファイルとして扱うときには チャプターを操作出来るのですが、アプリに入れた際にはそのボタンが出なくなってしまっていて、 調べたのですが、やはり・・出来ないようです。 http://stackoverflow.com/questions/96156/chapters-in-videos-for-the-iphone ただ、OS３.0からinitialPlaybackTimeというプロパティができ、 ムービーの開始時間を指定できるようになったので、 メニューを作って、そこから再生と言うことをやれば、 DVDのメニューなどと少しは似たような事が出来そうです。 （開始時間が変わるだけで、再生してしまえば、後は通常の再生と変わりなく、 開始に指定したよりも前の時間に戻ったりと言ったことも問題ない）]]></description>
			<content:encoded><![CDATA[<p>
チャプター情報付きの動画の話なのですが、<br />
mac上のQuickTimeで見たり、iTunesから同期してムービーファイルとして扱うときには<br />
チャプターを操作出来るのですが、アプリに入れた際にはそのボタンが出なくなってしまっていて、<br />
調べたのですが、やはり・・出来ないようです。<br />
<br />
http://stackoverflow.com/questions/96156/chapters-in-videos-for-the-iphone<br />
<br />
ただ、OS３.0からinitialPlaybackTimeというプロパティができ、<br />
ムービーの開始時間を指定できるようになったので、<br />
メニューを作って、そこから再生と言うことをやれば、<br />
DVDのメニューなどと少しは似たような事が出来そうです。<br />
（開始時間が変わるだけで、再生してしまえば、後は通常の再生と変わりなく、<br />
開始に指定したよりも前の時間に戻ったりと言ったことも問題ない）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2009/12/iphone%e3%82%a2%e3%83%97%e3%83%aa%e3%81%8b%e3%82%89%e3%81%ae%e3%83%a0%e3%83%bc%e3%83%93%e3%83%bc%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e5%86%8d%e7%94%9f%e6%99%82%e3%81%ab%e3%83%81%e3%83%a3%e3%83%97/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2009/12/iphone%e3%82%a2%e3%83%97%e3%83%aa%e3%81%8b%e3%82%89%e3%81%ae%e3%83%a0%e3%83%bc%e3%83%93%e3%83%bc%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e5%86%8d%e7%94%9f%e6%99%82%e3%81%ab%e3%83%81%e3%83%a3%e3%83%97/" />
	</item>
		<item>
		<title>OpenGL ES(1.1)への道のり・・番外編</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%e7%95%aa%e5%a4%96%e7%b7%a8/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%e7%95%aa%e5%a4%96%e7%b7%a8/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 09:45:02 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>
		<category><![CDATA[openGL]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=521</guid>
		<description><![CDATA[2Dの画像の上に３Dオブジェクトを合成できたと言うことは、 カメラの映像とも合成できるのかな？と思い、やってみることにしました。 カメラの動画部分は自由に取れないので（非公開apiを使えば出来る？）、 撮影前は3Dモデルを上に載せ、撮影後に didFinishPickingMediaWithInfoでイベントを拾い、画像合成を行うことにしました。 （なので実用アプリとしては少し矛盾も出てしまっています・・。 撮影後、Preview画面がどうしても出てしまい、その画面に移行したことが SDKからは取れないので、そこでも3Dモデルが動かせてしまう・・とか） OpenGLESのViewからUIImageへは、 ■iPhone – saving OpenGL ES content to the Photo Album http://www.bit-101.com/blog/?p=1861&#038;paged=2 をそのまま使わせていただきました。 （※上記blogのコメントの通り、 ２７行目、CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault; の部分を CGBitmapInfo bitmapInfo = kCGImageAlphaPremultipliedLast; とすると背景が抜け、上手く背景と合成することが出来ました。） 動作画面 撮影後の写真 自分は上手くいかなかったのですが、 カメラのアクションをぶんどる方法 http://devlog.feedtailor.jp/items/detail/5/iPhone 等があるようなので、こういうのを入れていけば、もっと完成度は上げられるかもしれません・・。]]></description>
			<content:encoded><![CDATA[<p>
2Dの画像の上に３Dオブジェクトを合成できたと言うことは、<br />
カメラの映像とも合成できるのかな？と思い、やってみることにしました。<br />
<br />
カメラの動画部分は自由に取れないので（非公開apiを使えば出来る？）、<br />
撮影前は3Dモデルを上に載せ、撮影後に<br />
didFinishPickingMediaWithInfoでイベントを拾い、画像合成を行うことにしました。<br />
（なので実用アプリとしては少し矛盾も出てしまっています・・。<br />
撮影後、Preview画面がどうしても出てしまい、その画面に移行したことが<br />
SDKからは取れないので、そこでも3Dモデルが動かせてしまう・・とか）<br />
<br />
OpenGLESのViewからUIImageへは、<br />
■iPhone – saving OpenGL ES content to the Photo Album<br />
<br />
http://www.bit-101.com/blog/?p=1861&#038;paged=2<br />
<br />
をそのまま使わせていただきました。<br />
（※上記blogのコメントの通り、<br />
２７行目、CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault;<br />
の部分を<br />
CGBitmapInfo bitmapInfo = kCGImageAlphaPremultipliedLast;<br />
とすると背景が抜け、上手く背景と合成することが出来ました。）<br />
<br />
動作画面<br />
<img src="http://www.electrodream.jp/iphonedev/wp-content/uploads/2009/11/IMG_0004.PNG" alt="IMG_0004" title="IMG_0004" width="320" height="480" class="alignnone size-full wp-image-525" />
<br />
<br />
撮影後の写真<br />
<img src="http://www.electrodream.jp/iphonedev/wp-content/uploads/2009/11/IMG_0035-200x300.jpg" alt="IMG_0035" title="IMG_0035" width="200" height="300" class="alignnone size-medium wp-image-528" />
<br />
<br />
自分は上手くいかなかったのですが、<br />
カメラのアクションをぶんどる方法<br />
<br />
http://devlog.feedtailor.jp/items/detail/5/iPhone<br />
<br />
等があるようなので、こういうのを入れていけば、もっと完成度は上げられるかもしれません・・。<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%e7%95%aa%e5%a4%96%e7%b7%a8/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%e7%95%aa%e5%a4%96%e7%b7%a8/" />
	</item>
		<item>
		<title>OpenGL ES(1.1)への道のり・・５</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%95/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%95/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 10:58:45 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>
		<category><![CDATA[openGL]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=495</guid>
		<description><![CDATA[チュートリアル３でテクスチャ付き Cubeの読み込みが出来ました。 ■ブレンダーからiPhoneへ（SIO2エクスポータの実験） http://pastel.slmame.com/e656887.html も非常に参考にさせていただいたのですが、 これによると、単純にモデルを変換した「.sio2」ファイルを 自動的に読み込む訳ではなくて、 sio2側(xcode側)からどの部分を読み込むのか 指定が必要っぽい事が分かりました。 (※チュートリアル２と比べても、 sio2ResourceBindAllImages( sio2->_SIO2resource ); sio2ResourceBindAllMaterials( sio2->_SIO2resource ); と言った命令が「templateLoading」 部分に増えている。 しかし、特に変わっているのはそこだけのようなので、 以外に簡単にいろいろ読み込めるようになる？とも思いました。） 引き続きチュートリアル4へと行き、 もっとsio2を見ていきたいのですが・・ ひとまず先に、xcode上で2Dの画像と合成する と言うのをやってしまおうと思います。 (Blender上でPlaneを作り、そこに画像を貼った方が 早そうなんですが、今回の場合、仕様的にxcode上で 操作したいんですよね・・。) どういう風にやるのかどこかに載っていないかなあと思いきや、 ■iPhone SDK OpenGLのビューの背景を透明にする方法 http://d.hatena.ne.jp/uosoft/20090807/1249570897 という風にまさにやりたいことが書いてあるサイトがあり、 この手順通りにし、合成を行うことが出来ました。 （ビデオチュートリアル２と合成） おお、これで取りあえずの仕様は満たせたのかな？ しかしモデルやカメラを動かしたりしたいと言ったことは 必ず出てくると思うのと、 まだ自由にBlenderモデルを読み込めていないので、 引き続きsio2のビデオチュートリアルを見ていこうと思います。]]></description>
			<content:encoded><![CDATA[<p>
チュートリアル３でテクスチャ付き<br />
Cubeの読み込みが出来ました。<br />
<img src="http://www.electrodream.jp/iphonedev/wp-content/uploads/2009/11/03-150x150.jpg" alt="03" title="03" width="150" height="150" class="alignnone size-thumbnail wp-image-497" />
<br />
<br />
<strong>■ブレンダーからiPhoneへ（SIO2エクスポータの実験）</strong><br />
<br />
http://pastel.slmame.com/e656887.html<br />
<br />
も非常に参考にさせていただいたのですが、<br />
これによると、単純にモデルを変換した「.sio2」ファイルを<br />
自動的に読み込む訳ではなくて、<br />
sio2側(xcode側)からどの部分を読み込むのか<br />
指定が必要っぽい事が分かりました。<br />
<br />
(※チュートリアル２と比べても、<br />
sio2ResourceBindAllImages( sio2->_SIO2resource );<br />
sio2ResourceBindAllMaterials( sio2->_SIO2resource );<br />
と言った命令が「templateLoading」<br />
部分に増えている。<br />
しかし、特に変わっているのはそこだけのようなので、<br />
以外に簡単にいろいろ読み込めるようになる？とも思いました。）<br />
<br />
引き続きチュートリアル4へと行き、<br />
もっとsio2を見ていきたいのですが・・<br />
ひとまず先に、xcode上で2Dの画像と合成する<br />
と言うのをやってしまおうと思います。<br />
(Blender上でPlaneを作り、そこに画像を貼った方が<br />
早そうなんですが、今回の場合、仕様的にxcode上で<br />
操作したいんですよね・・。)<br />
<br />
<br />
どういう風にやるのかどこかに載っていないかなあと思いきや、<br />
<strong>■iPhone SDK OpenGLのビューの背景を透明にする方法</strong><br />
<br />
http://d.hatena.ne.jp/uosoft/20090807/1249570897<br />
<br />
という風にまさにやりたいことが書いてあるサイトがあり、<br />
この手順通りにし、合成を行うことが出来ました。<br />
<br />
<img src="http://www.electrodream.jp/iphonedev/wp-content/uploads/2009/11/04-150x150.jpg" alt="04" title="04" width="150" height="150" class="alignnone size-thumbnail wp-image-516" />
（ビデオチュートリアル２と合成）<br />
<br />
おお、これで取りあえずの仕様は満たせたのかな？<br />
しかしモデルやカメラを動かしたりしたいと言ったことは<br />
必ず出てくると思うのと、<br />
まだ自由にBlenderモデルを読み込めていないので、<br />
引き続きsio2のビデオチュートリアルを見ていこうと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%95/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%95/" />
	</item>
		<item>
		<title>OpenGL ES(1.1)への道のり・・４</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%94/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%94/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 05:32:19 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>
		<category><![CDATA[openGL]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=475</guid>
		<description><![CDATA[なんとなくOpenGLの命令群が分かってきたので、 時間もないのでいきなりSIO2のチュートリアルに 行くことに。 幸い、ビデオチュートリアルがかなり充実しているので、 それを見ていくことにし、 チュートリアル２まで見て、自作のモデル （というかチュートリアルとほぼ同じ・・）を 表示させるところまではなんとか成功。 で、では窓の杜で作ったやつを読み込ませてみようと思ったのですが、 Blenderに読み込ませても、メニュー「Help」の右隣、 「SR:screen〜」と書いてある選択ボックスの所に、 「script」などの選択肢がありませんでした。 なので、 「/Applications/blender/blender.app/Contents/MacOS/.blender/scripts/」に直接、sio2のエクスポーター （sio2_exporter.py）を入れ、メニューの「File」「Export」から直接出すことで、モデルの書き出しが行えました。 ※このBlenderのパスなどに付いては、 ■[iPhone]SIO2 SDK+Blenderのハマり所 http://d.hatena.ne.jp/makimoke/20091115/1258273515 を参考にさせていただきました。 （名前を付けたフォルダと「.sio2」ファイルが出来るのですが、 フォルダは特にこの場合、使わないですね。 また、Export前にモデルを「A」キーで全部選択しておかないと、0KBの「.sio2」ファイルが出来てしまうので注意。） ですが、これを表示してみても白いモデルのまま・・。 Blenderではきちんとペンギンが表示出来ているのですが、 それを何らかの方法で、上手く持ってくるか、 Blender側で変更の必要がありそうです。 （※他の方が公開しているモデル ■Kator Legaz http://www.katorlegaz.com/3d_models/index.php などを入れてみても、そもそもモデルが表示されなかったりするので、やはりもう少しチュートリアルを見ていく必要がありそうです。） ただ、OpenGLとESは、 glBegin〜endが無いなど違いはありますが、 同じ命令も結構あり、全くやっていることが分からない・・ と言う訳ではないと言った感じでした。 （OpenGLの説明ページ、かなり読み返しましたけどね・・。） では、なんとかちゃんと表示できるよう、 次のチュートリアルを進めていこうと思います。]]></description>
			<content:encoded><![CDATA[<p>
なんとなくOpenGLの命令群が分かってきたので、<br />
時間もないのでいきなりSIO2のチュートリアルに<br />
行くことに。<br />
<br />
幸い、ビデオチュートリアルがかなり充実しているので、<br />
それを見ていくことにし、<br />
チュートリアル２まで見て、自作のモデル<br />
（というかチュートリアルとほぼ同じ・・）を<br />
表示させるところまではなんとか成功。<br />
<img src="http://www.electrodream.jp/iphonedev/wp-content/uploads/2009/11/011-150x150.jpg" alt="01" title="01" width="150" height="150" class="alignnone size-thumbnail wp-image-484" />
<br />
で、では窓の杜で作ったやつを読み込ませてみようと思ったのですが、<br />
Blenderに読み込ませても、メニュー「Help」の右隣、<br />
「SR:screen〜」と書いてある選択ボックスの所に、<br />
「script」などの選択肢がありませんでした。<br />
<br />
なので、<br />
「/Applications/blender/blender.app/Contents/MacOS/.blender/scripts/」に直接、sio2のエクスポーター<br />
（sio2_exporter.py）を入れ、メニューの「File」「Export」から直接出すことで、モデルの書き出しが行えました。<br />
<br />
※このBlenderのパスなどに付いては、<br />
<strong>■[iPhone]SIO2 SDK+Blenderのハマり所</strong><br />
<br />
http://d.hatena.ne.jp/makimoke/20091115/1258273515<br />
<br />
を参考にさせていただきました。<br />
<br />
（名前を付けたフォルダと「.sio2」ファイルが出来るのですが、<br />
フォルダは特にこの場合、使わないですね。<br />
また、Export前にモデルを「A」キーで全部選択しておかないと、0KBの「.sio2」ファイルが出来てしまうので注意。）<br />
<br />
ですが、これを表示してみても白いモデルのまま・・。<br />
Blenderではきちんとペンギンが表示出来ているのですが、<br />
それを何らかの方法で、上手く持ってくるか、<br />
Blender側で変更の必要がありそうです。<br />
<img src="http://www.electrodream.jp/iphonedev/wp-content/uploads/2009/11/02-150x150.jpg" alt="02" title="02" width="150" height="150" class="alignnone size-thumbnail wp-image-483" />
<br />
（※他の方が公開しているモデル<br />
<strong>■Kator Legaz</strong><br />
<br />
http://www.katorlegaz.com/3d_models/index.php<br />
<br />
などを入れてみても、そもそもモデルが表示されなかったりするので、やはりもう少しチュートリアルを見ていく必要がありそうです。）<br />
<br />
<br />
ただ、OpenGLとESは、<br />
glBegin〜endが無いなど違いはありますが、<br />
同じ命令も結構あり、全くやっていることが分からない・・<br />
と言う訳ではないと言った感じでした。<br />
（OpenGLの説明ページ、かなり読み返しましたけどね・・。）<br />
<br />
では、なんとかちゃんと表示できるよう、<br />
次のチュートリアルを進めていこうと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%94/feed/</wfw:commentRss>
		<slash:comments>255</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%94/" />
	</item>
		<item>
		<title>OpenGL ES(1.1)への道のり・・３</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%93/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%93/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 10:02:59 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>
		<category><![CDATA[openGL]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=446</guid>
		<description><![CDATA[次に、やっとと言いますか、 OpenGL自体の勉強をと思い、 入門用のページを見ていきました。 ■「GLUTによる「手抜き」OpenGL入門」 http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#2 見直しも含め、ページに書いてあるとおり ６時間程度で実験前部分まで完了。 macなため導入が簡単でした。 （既にＯＳに入っているので、 特に何かインストールする必要がない） 但し実験部分をやれる実力は・・ ちょっと付いていないですね・・。 （かなりの時間をかければ出来るのかもしれませんが、 今は時間無いので、実験前までで止めようと思います。） 中で重要と自分が思ったのは・・ ・６．１ 座標軸とビューポート（開いたウィンドウの中で, 実際に描画が行われる領域のこと） ・８．３ 透視投影する（gluPerspectiveを行い透視投影しないと、平面にしか見えない） ・９．１ 図形を動かす 座標変換のプロセスは、 1. 図形の空間中での位置を決める「モデリング変換」 2. その空間を視点から見た空間に直す「ビューイング (視野、視界) 変換」 （１，２をまとめて「モデルビュー変換」と言うこともある。 なんでまとめられるかというと、どちらが動いても、 映し出される情報は変化するから・・と言うことらしい。） 3. その空間をコンピュータ内の空間にあるスクリーンに投影する「透視変換」(射影変換) 4. スクリーン上の図形をディスプレイ上の表示領域に切り出す「ビューポート変換」 という４つのステップで行われる。 全部を実行する必要がないとき、 １（物体が移動したり回転したり）と２（カメラの位置、方向）は glMatrixMode(GL_MODELVIEW) で実行、 ３（カメラの画角などの変更）は glMatrixMode(GL_PROJECTION) で実行できる。 余談 ・１０．隠面消去処理 http://ameblo.jp/xcc/entry-10281908348.html にZソート法とZバッファ法の違いが。 バーチャ２はZソート法らしいです。 ・１１．２ 光源を設定する 座標変換のプロセスは “モデリング変換→ビューイング変換→透視変換→…” という順に行われると書きましたが，プログラムのコーディング上は，これらの設定が 逆順になる [...]]]></description>
			<content:encoded><![CDATA[<p>
次に、やっとと言いますか、<br />
OpenGL自体の勉強をと思い、<br />
入門用のページを見ていきました。<br />
<br />
<br />
<strong>■「GLUTによる「手抜き」OpenGL入門」</strong><br />
<br />
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#2<br />
<br />
見直しも含め、ページに書いてあるとおり<br />
６時間程度で実験前部分まで完了。<br />
macなため導入が簡単でした。<br />
（既にＯＳに入っているので、<br />
特に何かインストールする必要がない）<br />
<br />
但し実験部分をやれる実力は・・<br />
ちょっと付いていないですね・・。<br />
（かなりの時間をかければ出来るのかもしれませんが、<br />
今は時間無いので、実験前までで止めようと思います。）<br />
<br />
<br />
中で重要と自分が思ったのは・・<br />
<strong><br />
・６．１ 座標軸とビューポート</strong>（開いたウィンドウの中で, 実際に描画が行われる領域のこと）<br />
<br />
<strong>・８．３ 透視投影する</strong>（gluPerspectiveを行い透視投影しないと、平面にしか見えない）<br />
<br />
<strong>・９．１ 図形を動かす</strong><br />
座標変換のプロセスは、<br />
<br />
   1. 図形の空間中での位置を決める「モデリング変換」<br />
   2. その空間を視点から見た空間に直す「ビューイング (視野、視界) 変換」<br />
（１，２をまとめて「モデルビュー変換」と言うこともある。<br />
なんでまとめられるかというと、どちらが動いても、<br />
映し出される情報は変化するから・・と言うことらしい。）<br />
<br />
   3. その空間をコンピュータ内の空間にあるスクリーンに投影する「透視変換」(射影変換)<br />
<br />
   4. スクリーン上の図形をディスプレイ上の表示領域に切り出す「ビューポート変換」<br />
<br />
という４つのステップで行われる。<br />
<br />
全部を実行する必要がないとき、<br />
１（物体が移動したり回転したり）と２（カメラの位置、方向）は<br />
glMatrixMode(GL_MODELVIEW)<br />
で実行、<br />
<br />
３（カメラの画角などの変更）は<br />
glMatrixMode(GL_PROJECTION) <br />
で実行できる。<br />
<br />
<br />
余談<br />
<strong>・１０．隠面消去処理</strong><br />
<br />
http://ameblo.jp/xcc/entry-10281908348.html<br />
<br />
にZソート法とZバッファ法の違いが。<br />
バーチャ２はZソート法らしいです。<br />
<br />
<br />
<strong>・１１．２ 光源を設定する</strong><br />
<em>座標変換のプロセスは “モデリング変換→ビューイング変換→透視変換→…” という順に行われると書きましたが，プログラムのコーディング上は，これらの設定が 逆順になる ことに注意してください．</em> <br />
<br />
<br />
という部分かな？と思いました。<br />
<br />
<br />
全体的に、順を追ってソースを書いていくので、<br />
すごくわかりやすかったです。<br />
<br />
<br />
引き続き、<br />
<br />
<strong>■OpenGL入門</strong><br />
<br />
http://wisdom.sakura.ne.jp/system/opengl/<br />
<br />
を見ていきました。<br />
「GLUTによる「手抜き」OpenGL入門」に書かれていないような<br />
事も書いてあり（テクスチャ、フォグ、ディスプレイリストなど）、<br />
続けて見ることで上手く補完できたような気がします。<br />
<br />
<br />
ただやはりまだすごく表面的なことしか分かっていないような・・<br />
そんな気がしてます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%93/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%93/" />
	</item>
		<item>
		<title>OpenGL ES(1.1)への道のり・・２</title>
		<link>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%92/</link>
		<comments>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%92/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 08:30:13 +0000</pubDate>
		<dc:creator>kuni</dc:creator>
				<category><![CDATA[プログラム]]></category>
		<category><![CDATA[openGL]]></category>

		<guid isPermaLink="false">http://www.electrodream.jp/iphonedev/?p=442</guid>
		<description><![CDATA[次に行ったことは、 実際にどのように実装していくか？ ということでした。 最終的には、何らかのモデルデータをiPhoneOS上で受け取り、 それが表示できないといけなく、 その辺りは自前で行うのは恐らく無理と思ったので、 何か間に入れて行おうと思いました。 いろいろ検索してみると、 ■SIO2（MITライセンス、オープンソース） http://d.hatena.ne.jp/nakamura001/20081029/1225287233 対応読み込み形式 Blender形式のみ ■Unity（$598~$2,998） http://www.kagoota.com/2009/05/iphoneiphone-fb.html 対応読み込み形式 「.FBX, .dae, .3DS, .dxf .obj」 というのがありました。 http://www.kagoota.com/2009/01/iphoneopengl-4c.html のページに、それぞれのポリゴン数などが載っているのですが、 Unityの方が優秀っぽいですね・・。 これはどちらにするか悩みどころですが、 ひとまず、オープンソースなSIO2の方を触っていこうと思います。 それにはBlenderのモデリングデータとはどういうものか？ が分かる必要があると思い、 そこまで本格的にやる訳ではないのですが、 ソフトを少し分かった方が良いと思い、 ゼロからはじめる3D CG道場 http://www.forest.impress.co.jp/article/dojo.html を読んで実際にモデルデータを作っていきました。 実際に自分がモデリングをやる訳ではないので、 最後の方はかなり省きましたが、 大体これも４時間ほどで完了。 Blenderで、モデリング、アニメーションなど 全て１本で出来てしまうんですね。（当たり前か） しかしモデルデータ作るのって、 かなり大変なんですね・・・。 全然ページのように出来ず、 かなりいびつなモデルになってしまいました。]]></description>
			<content:encoded><![CDATA[<p>
次に行ったことは、<br />
実際にどのように実装していくか？<br />
ということでした。<br />
<br />
最終的には、何らかのモデルデータをiPhoneOS上で受け取り、<br />
それが表示できないといけなく、<br />
その辺りは自前で行うのは恐らく無理と思ったので、<br />
何か間に入れて行おうと思いました。<br />
<br />
<br />
いろいろ検索してみると、<br />
<br />
<strong>■SIO2（MITライセンス、オープンソース）</strong><br />
<br />
http://d.hatena.ne.jp/nakamura001/20081029/1225287233<br />
<br />
対応読み込み形式<br />
Blender形式のみ<br />
<br />
<strong>■Unity（$598~$2,998）</strong><br />
<br />
http://www.kagoota.com/2009/05/iphoneiphone-fb.html<br />
<br />
対応読み込み形式<br />
「.FBX, .dae, .3DS, .dxf .obj」<br />
<br />
というのがありました。<br />
<br />
http://www.kagoota.com/2009/01/iphoneopengl-4c.html<br />
<br />
のページに、それぞれのポリゴン数などが載っているのですが、<br />
Unityの方が優秀っぽいですね・・。<br />
<br />
これはどちらにするか悩みどころですが、<br />
ひとまず、オープンソースなSIO2の方を触っていこうと思います。<br />
<br />
<br />
それにはBlenderのモデリングデータとはどういうものか？<br />
が分かる必要があると思い、<br />
そこまで本格的にやる訳ではないのですが、<br />
ソフトを少し分かった方が良いと思い、<br />
<br />
<strong>ゼロからはじめる3D CG道場</strong><br />
<br />
http://www.forest.impress.co.jp/article/dojo.html<br />
<br />
を読んで実際にモデルデータを作っていきました。<br />
<br />
実際に自分がモデリングをやる訳ではないので、<br />
最後の方はかなり省きましたが、<br />
大体これも４時間ほどで完了。<br />
Blenderで、モデリング、アニメーションなど<br />
全て１本で出来てしまうんですね。（当たり前か）<br />
<br />
しかしモデルデータ作るのって、<br />
かなり大変なんですね・・・。<br />
全然ページのように出来ず、<br />
かなりいびつなモデルになってしまいました。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%92/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.electrodream.jp/iphonedev/index.php/2009/11/opengl-es1-1%e3%81%b8%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%bb%e3%83%bb%ef%bc%92/" />
	</item>
	</channel>
</rss>

