<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>DragonPush-compiz</title>
    <link rel="alternate" type="text/html" href="http://dragonpush.com/computer/compiz/" />
    <link rel="self" type="application/atom+xml" href="http://dragonpush.com/computer/compiz/index.xml" />
    <id>tag:dragonpush.com,2008-05-22://1</id>
    <updated>2008-05-02T00:21:12Z</updated>
    


<entry>
    <title>Ubuntu Hardyで最新のCompiz Fusionをビルド</title>
    <link rel="alternate" type="text/html" href="http://dragonpush.com/2008/04/ubuntu-hardycompiz-fusion.html" />
    <id>tag:dragonpush.com,2008://1.17</id>

    <published>2008-04-29T07:57:21Z</published>
    <updated>2008-05-02T00:21:12Z</updated>

    <summary>Ubuntu 8.04 HardyでCompiz FusionのGitリポジトリ...</summary>
    <author>
        <name>unpush</name>
        <uri>http://dragonpush.com/unpush/</uri>
    </author>
    
        <category term="compiz" />
    
        <category term="コンピューター" />
    
    <category term="804" label="8.04" />
    <category term="compiz" label="compiz" />
    <category term="hardy" label="hardy" />
    <category term="ubuntu" label="ubuntu" />
    
    <content type="html" xml:lang="ja" xml:base="http://dragonpush.com/">
        <![CDATA[<p>Ubuntu 8.04 HardyでCompiz FusionのGitリポジトリから最新のソースコードを持ってきてビルドしてみた。</p>

<p>個人的に必要な条件として、任意のディレクトリにビルドしたものをインストールしておいて、いつでもバックアップして元に戻せるようにしておくこと。<br />
これは、Gitで取得した最新のソースコードが調子良く動くとも限らないため。もしビルドしたものの安定して動かなかったら、以前にビルドしたのに戻せるようにしたかったのです（Compizが全く使えなくなるのはキビシイので）</p>

<p>結果としては成功でした。<br />
HardyはXCBがパッケージで使えるので、Gutsyの時よりも幾分やりやすくなっています。</p>]]>
        <![CDATA[<h2>ビルドの準備</h2>

<h6>Compizパッケージを削除</h6>

<p>Hardyにパッケージで入っているCompizを削除しておく</p>

<pre><code>$ sudo aptitude remove compiz-core compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compizconfig-settings-manager libcompizconfig0 libdecoration0 compizconfig-settings-manager python-compizconfig emerald</code></pre>

<p>以下のように出たらYを押して削除してもらう</p>

<pre><code>以下のアクションでこれらの依存関係の問題は解決されます:

以下のパッケージを削除します:
compiz
compiz-plugins
compizconfig-backend-gconf
ubuntu-desktop

スコアは 328 です

この解決方法を受け入れますか? [Y/n/q/?] Y</code></pre>

<h6>ビルドに必要なパッケージをインストール</h6>

<p>Compiz Fusionのビルドで必要なもの</p>

<pre><code>$ sudo aptitude install build-essential libxcomposite-dev libpng12-dev libsm-dev libxrandr-dev libxdamage-dev libxinerama-dev libstartup-notification0-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libmetacity-dev librsvg2-dev libdbus-1-dev libdbus-glib-1-dev libgnome-desktop-dev libgnome-window-settings-dev gitweb curl autoconf automake automake1.9 libtool intltool libxslt1-dev xsltproc libwnck-dev python-dev python-pyrex libx11-xcb-dev</code></pre>

<p>以下はプラグインによっては必要なのでとりあえず入れておく。</p>

<pre><code>$ sudo aptitude install x11proto-scrnsaver-dev libxss-dev</code></pre>

<h6>必要なディレクトリを作成</h6>

<p>ソースコードを置く場所</p>

<pre><code>$ mkdir -p ~/local/src/compiz-fusion</code></pre>

<p>インストール先</p>

<pre><code>$ mkdir -p ~/local/compiz-fusion/build</code></pre>

<h6>ビルド便利スクリプトを取得</h6>

<pre><code>$ cd ~/local/src/compiz-fusion
$ git clone git://anongit.compiz-fusion.org/users/omega/scripts</code></pre>



<h6>ビルド便利スクリプトを改造</h6>

<p>任意のディレクトリにインストールできるようにビルド便利スクリプトを改造する。</p>

<div style="font-size: 85%; margin-left: 3em;">
パッチ：<span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a 
href="http://dragonpush.com/patches/0001-local-build.patch">0001-local-build.patch</a></span>

<p>パッチの内容</p>


<ul>
<li>sudoしないように</li>
<li><span class="caps">PREFIX</span>を上書きしないように</li>
<li><span class="caps">PKG</span>_CONFIG_PATHの指定<br />
</div></li>
</ul>



<pre><code>$ cd scripts
$ git am 0001-local-build.patch</code></pre>

<div style="border: 1px dashed grey; padding: 0.3em; margin-left: 2em;">

<p>パッチに失敗する場合は、以下のように3wayオプションをつけてみて下さい</p>

<pre><code>git am -3 0001-local-build.patch</code></pre>

</div>

<h2>ビルド</h2>

<h6>全ビルドする</h6>

<pre><code>$ cd ~/local/src/compiz-fusion
$ PREFIX=~/local/compiz-fusion/build ./scripts/git-compiz</code></pre>

<p>本家Gitリポジトリからソースコードを取得し、その後全ビルドされる。<br />
けっこう時間がかかる。</p>

<h6>compiz-deskmenu</h6>

<p>途中、compiz-deskmenuのインストールが失敗する。これはcompiz-deskmenuがPREFIXに対応しておらず、/usr/binにインストールしようとしたため。<br />
とりあえずAbort? [Y/n]でnを押してビルド続行。</p>

<p>２回目以降は前回から変更があったものだけビルドされる。</p>

<h2>起動</h2>

<p>fusion-iconを起動する</p>

<pre><code>PATH=~/local/compiz-fusion/build/bin:$PATH PYTHONPATH=~/local/compiz-fusion/build/lib/python2.5/site-packages ~/local/compiz-fusion/build/bin/fusion-icon &amp;</code></pre>

<h2>安定版を残す</h2>

<p>次回からは以下のようにして以前のビルドを残すようにする</p>

<pre><code>$ mv ~/local/compiz-fusion/build ~/local/compiz-fusion/20080429_build
$ mkdir ~/local/compiz-fusion/build</code></pre>

<p>空のbuildディレクトリが出来ているので、この状態でビルドする。</p>]]>
    </content>
</entry>

<entry>
    <title>Atlantis2のビルド方法</title>
    <link rel="alternate" type="text/html" href="http://dragonpush.com/2008/04/atlantis2-2.html" />
    <id>tag:dragonpush.com,2008://1.10</id>

    <published>2008-04-15T21:45:17Z</published>
    <updated>2008-04-22T08:15:56Z</updated>

    <summary>Atlantis2をビルドするのは、compiz-fusionのビルド環境があれ...</summary>
    <author>
        <name>unpush</name>
        <uri>http://dragonpush.com/unpush/</uri>
    </author>
    
        <category term="compiz" />
    
        <category term="コンピューター" />
    
    <category term="atlantis" label="atlantis" />
    <category term="cg" label="CG" />
    <category term="compiz" label="compiz" />
    <category term="opengl" label="openGL" />
    
    <content type="html" xml:lang="ja" xml:base="http://dragonpush.com/">
        <![CDATA[<p>Atlantis2をビルドするのは、compiz-fusionのビルド環境があれば以下のようにして出来る。</p>

<pre><code>$ git clone git://anongit.compiz-fusion.org/users/metastability/atlantis2
$ cd atlantis2
$ make install
</code></pre>

<p>~/.compiz/pluginsにインストールされて、こちらのほうが優先されます。</p>

<p>ただし、AtlantisはAtlantis2で上書きされるため、共存はできず・・・。</p>
]]>
        

    </content>
</entry>

<entry>
    <title>atlantis2での描画速度改善</title>
    <link rel="alternate" type="text/html" href="http://dragonpush.com/2008/04/atlantis2-1.html" />
    <id>tag:dragonpush.com,2008://1.4</id>

    <published>2008-04-10T09:33:58Z</published>
    <updated>2008-04-21T20:56:05Z</updated>

    <summary>Atlantis2の作者さん(metastability)曰く「glBegin/...</summary>
    <author>
        <name>unpush</name>
        <uri>http://dragonpush.com/unpush/</uri>
    </author>
    
        <category term="compiz" />
    
        <category term="コンピューター" />
    
    <category term="atlantis" label="atlantis" />
    <category term="cg" label="CG" />
    <category term="compiz" label="compiz" />
    <category term="opengl" label="openGL" />
    
    <content type="html" xml:lang="ja" xml:base="http://dragonpush.com/">
        <![CDATA[<p>Atlantis2の作者さん(metastability)曰く「glBegin/glVertexの代わりにglDrawElementsを使えばもっと速くできるよ」ということだったので、挑戦してみた。<br />結果、気持ち速くなったような、気がする。<br /><br />やったこと。<br /><ul><li>ShadeからDXFで書き出したものをBlenderで読みこむ。</li><li>Blenderでマテリアルを設定する</li><li>Blenderでobj形式で書き出す</li><li>metastability作のJavaのツールでobj形式からC言語ソースコードに変換</li></ul> </p>]]>
        <![CDATA[<p>これで法線データとマテリアル付きのglDrawElements版ソースコードになる。<br />glDrawElementsでは複数の頂点データをまとめて流し込むので、glVertexで頂点を１つずつ設定するのに比べて関数をコールするオーバーヘッドが抑えられる、らしい。<br /><br />調子に乗って魚を100匹まで増やしてみた。<br /><br />
ニコニコ<br />
<iframe width="312" height="176" src="http://www.nicovideo.jp/thumb/sm2951146" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm2951146">【ニコニコ動画】Compiz Fusion:Atlantis2 - 100s of fishes!</a></iframe><br />
YouTube<br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/bAyAAd4xH7I&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/bAyAAd4xH7I&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br />
<br />Atlantis2はBoidというかなりちゃんとした(?)群集シミュレーションアルゴリズムを使っているらしく、数を多くしたらすごい良い感じになりました。</p>]]>
    </content>
</entry>

<entry>
    <title>チョウチョウウオとスズメダイがAtlantis2に採用された</title>
    <link rel="alternate" type="text/html" href="http://dragonpush.com/2008/04/atlantis2.html" />
    <id>tag:dragonpush.com,2008://1.3</id>

    <published>2008-04-05T09:01:48Z</published>
    <updated>2008-04-21T20:57:07Z</updated>

    <summary>compiz-fusionの本家フォーラムにパッチを投稿したところ、Atlant...</summary>
    <author>
        <name>unpush</name>
        <uri>http://dragonpush.com/unpush/</uri>
    </author>
    
        <category term="compiz" />
    
        <category term="コンピューター" />
    
    <category term="atlantis" label="atlantis" />
    <category term="cg" label="CG" />
    <category term="compiz" label="compiz" />
    <category term="opengl" label="openGL" />
    
    <content type="html" xml:lang="ja" xml:base="http://dragonpush.com/">
        <![CDATA[<p>compiz-fusionの<a href="http://forum.compiz-fusion.org/">本家フォーラム</a>にパッチを投稿したところ、Atlantis2の作者さんが興味を持ってくれて、Atlantis2に採用されました。<br />うれしいなー<br /><br /><br />
</p>]]>
        <![CDATA[<p>ニコニコ<br />
<iframe width="312" height="176" src="http://www.nicovideo.jp/thumb/sm2903958" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm2903958">【ニコニコ動画】Compiz Fusion:Atlantis2 - Chromis</a></iframe><br />
YouTube<br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/gTyaR9_oBGQ&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/gTyaR9_oBGQ&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br />
</p>]]>
    </content>
</entry>

<entry>
    <title>チョウチョウウオとスズメダイを追加</title>
    <link rel="alternate" type="text/html" href="http://dragonpush.com/2008/03/post.html" />
    <id>tag:dragonpush.com,2008://1.2</id>

    <published>2008-03-31T08:17:03Z</published>
    <updated>2008-04-21T20:58:40Z</updated>

    <summary>Atlantisプラグインにチョウチョウウオとスズメダイを追加してみた。モデルデ...</summary>
    <author>
        <name>unpush</name>
        <uri>http://dragonpush.com/unpush/</uri>
    </author>
    
        <category term="compiz" />
    
        <category term="コンピューター" />
    
    <category term="atlantis" label="atlantis" />
    <category term="cg" label="CG" />
    <category term="compiz" label="compiz" />
    <category term="opengl" label="openGL" />
    
    <content type="html" xml:lang="ja" xml:base="http://dragonpush.com/">
        <![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="bfish9.jpg" src="http://dragonpush.com/bfish9.jpg" class="mt-image-right" style="margin: 0pt 0pt 20px 20px; float: right;" height="146" width="240" /></span>Atlantisプラグインにチョウチョウウオとスズメダイを追加してみた。<br />モデルデータはマキがShadeで作ったもの。これをunpushがC言語のプログラムに変換するスクリプトを書いて、どうにか泳がせられるようにした。<br /><br /><div><br /></div></p>]]>
        <![CDATA[<p>ShadeからDXFという形式でデータを書き出して、これはテキスト形式なので、解析してOpenGLの命令に変換するスクリプトをPerlで書いた。しかしDXFには法線というデータが入っていないため、最初は影の全くないものになってしまった。<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="bfish1b.jpg" src="http://dragonpush.com/bfish1b.jpg" class="mt-image-right" style="margin: 0pt 0pt 20px 20px; float: right;" height="126" width="231" /></span><div><br />法線データを計算するようにしてようやく陰影付きの魚を出せるようになった。後で分かったことだけど、obj形式というのもあって、これなら法線データ付きらしく、Shadeをバージョンアップすればobj形式で出力できるのであった。<br /></div><br />
ニコニコ<br />
<iframe width="312" height="176" src="http://www.nicovideo.jp/thumb/sm2870469" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm2870469">【ニコニコ動画】Compiz Fusion:Atlantis hack - Butterflyfish/Chromis</a></iframe><br />
YouTube<br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/7ez80_MNj2s&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/7ez80_MNj2s&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>]]>
    </content>
</entry>

</feed>