投稿

3月, 2013の投稿を表示しています

Tutorial Swig 2.0.9 and Ubuntu12.10(64bit)

Now, swig tutorial is as follows. ( http://www.swig.org/tutorial.html ) Building a Python module $ sudo apt-get install python3.2-dev-all $ swig -python example.i $ gcc -c example.c example_wrap.c -I/usr/include/python3.2 -fPIC $ ld -shared example.o example_wrap.o -o _example.so $ python3.2 Python 3.2.3 (default, Oct 19 2012, 19:53:16)  [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import example >>> example.fact(5) 120 >>> example.my_mod(7,3) 1 >>> example.get_time() 'Sun Mar 31 11:48:42 2013\n' >>>  If you do not specify the '-fPIC' of options to the compiler, the following error occurs in GNU/Linux(ELF system).  $ ld -shared example.o example_wrap.o -o _example.so  ld: example_wrap.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -

Blender 2.67 3D ruler

イメージ
Blenderでモデリングをしている際、割と苦労するのが各faceの正確な位置である。建築物や、圧縮効率を高くしたいゲーム開発では必須のことだ。いまはEdit modeにしてVertex選択で座標を見たり、決して見やすいとは思えなかったAddonを使っている。が、2.67には正確な長さや角度を見やすくする定規ツール(3D Ruler)が追加になるらしい。すでに開発版にはいっているのでDLして試すことが可能なようだ。なお、ボクはまだDLすらしていないw いずれ試す予定。 詳細はココ

開発言語は人気があればなんでもいい

ボクの好きなコンピュータ言語はC/C++言語。いままで一番利用してきた言語である。だた最近のものは機能がありすぎてゲップがでるほどだけどw シンプルなほうが一番である。ここ3,4年は使っているのがjavaである。一番の理由は iOSも含めモバイルに対応 してきたためだ。ただC/C++と比べ処理速度が遅い。マニュアルのスポーツカーが好きなボクには少し物足りない。 しかし、javaを使うのはクロスプラットフォーム対応で、コンパイル時間がものすごく高速なのがいい。pythonも好きな言語だが、インタープリターのため実行しなければバグが発見されないのが少々イライラする。まぁ、ともかくjavaとpython。そして、痒いところに手が届くためにSWIG(GUIじゃないぞw)などを利用しC/C++言語を使っていく。サーバー側の開発が多いならばrubyも使いたいけどもしばらくなさそうだ。またjavascriptはいまのところ、Webで遊び程度に使っているだけだ。 ただし、所詮開発言語も人気次第(特に英語圏)、優れた言語でも人気がなければ意味がない、言語と言っても優秀なライブラリや、クラスプラットフォーム、情報の質の高さ、ツールの優秀さ、独占者がいないか?などできるだけ自由で子供が鉛筆を持つように気軽に使えなければならない。そういう意味ではdart、C#などはまだまだボクには手が出しにくい言語である。 今年から、息子たち(とくに長男)にコンピュータ言語を教えようと予定しているがどの言語から始めようか迷っている。候補はjavaかpythonである。 PS Swigは http://www.swig.org/ を参照

Open source java for ios

http://www.javaworld.com/javaworld/jw-03-2013/130327-open-source-java-iphone-tools-compared.html ios上でのjavaプラットフォームの紹介の記事である。基本的にはjavaをアセンブラに出力して使うことになるが、実用に耐えるものとなってきた。ただボクのすきなlibgdxの紹介がないw ここに出ている環境は時間があったときに調べたいと思う。

Google readerがクローズする前に

イメージ
ご存知よように2013年7月1日 Google リーダー がクローズしてしまいます。 ボクもここを利用し、約25のブログをチェックするために使っているですが、引越しをおこなわなければなりません。 つまり、         完全にリーダー難民になってしまいます         今後、同じような問題でGoogleに泣かされそうです;-) 引越し先は? 適当なクラウドに任せると結局はいつかは終了するので、しばらくは様子見をしようと決めました。つまり、どこのサービスがstableで人気があるか? その間、ニュースフィードはクライアントをインストールすることにしました。 Liferead です。 Ubuntuのアプリ検索で簡単に表示されますが、なかなか軽くて良さそうです。欠点はクラウドではないため、すべてのコンピュータにインストールしなければならない手間と、Feed URLsの同期(Dropboxを利用して防ぐがimport/exportの手間はある)。そして、Linuxのみ対応という問題があります。そのため、別のクライアントへ変えるかもしれません。 なお、現時点ではクラウドは http://www.feedly.com/ や http://newsblur.com が良いらしいのですが、そこを中心にみていきます。 参考: http://www.h-online.com/open/features/Replacing-Google-Reader-1829086.html

Blender keyboard and mouse macro for linux

メッシュにテクスチャ貼り付ける際、モバイル機のために効率化のため、手作業をしなければならないことがあります。つまり、通常3Dアニメーションではあまり使わないため、そのための細かな機能がBlenderになかったりすることがあります。通常はpythonを使ってAddonを作ることになるのですが、これは面倒で非直感的です。 いままでにボクはAI用navi-mesh(Blender標準よりも細かいnavi-data)やcustom-propertiesをjson出力するaddonを書いていますが、1,2週間かかり、しかもメンテナンスもあります。残念ながら、こんなことはやってられないことが多いのです。 そこで登場するのが、OS(Linux)に備わっているキーボード&マウス、マクロ再生です。しかし、ツールによっては機能が足りなかったりしてなかなか使い物にはなりませんでした。 以下が候補です。 xdotool xnee xmacro xneeはgnome3ではクラッシュするようです。なんとなく開発に熱意がたりない。また、レガシーなxmacroはシンプルで好きなのですが、マウスの相対位置が指定できない(ボクが発見していない?)という欠陥があります。 xdotoolはマウスの相対位置の指定が可能です。しかし、再生のみでレコードができません。 この中ではxdotoolが、不満があるものの、ボクの用途には使えました。 検索をすればよいtutorialがありますので、すぐに使えます。 以下がサンプルです。 #!/bin/bash for i in `seq 1 $1` do   sleep 0.3   xdotool key c   sleep 0.1   # select   xdotool click 1   sleep 0.1   # cancel c   xdotool click 3   sleep 0.5   # u,v   xdotool key u   sleep 0.1   xdotool key b   sleep 0.1   xdotool mousemove_relative --sync 60 0   sleep 0.1   # unselect   xdotool k

Blender Addon 'Mesh F2'

Blenderでfaceを作る作業は骨が折れる(効率化のためシンプルにするときなど)。vertexを4箇所選択し、F。 または対のedgeを選択しF。10個のFaceぐらいなら、イライラも少ないが、多くなるとフラストレーションがたまり、やってられるか!となってしまう。 何か効率のいい方法がないかと思っていたときに以下のMesh F2チュートリアルが紹介されていた。対角にあるVertexを選択すればできたり、対面のEdgeを一回選択すれば次々と生成できる。簡単な数学で予測可能なものは自動というわけだ。素晴らしい! Blender Mesh F2 addonのチュートリアルの紹介 Blog http://www.blendernation.com/2013/03/20/tip-using-the-f2-add-on/#utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Blendernation+%28BlenderNation%29&utm_content=Google+International Full-size HD https://vimeo.com/57686760 詳細 https://sites.google.com/site/bartiuscrouch/scripts/f2 ついでだが、Blenderで欠けている機能としてはVertexを絶対値(平均でなく)で揃えること。以下が参考になる。テクニックとしてはスケール0を応用している。 http://wiki.tesnexus.com/index.php/Aligning_vertices_in_Blender さらに、Povot:Active elementにすれば、最後に選択したものに合わせることが可能。

作品のイメージがわかないときは

はじめてのことを挑戦するときは、もともとはじめてなので、当然、その部分では経験がなく実力がないので、デザインや完成物のイメージがわかない。こんなときは、アタリマエのことであるがプレッシャーがあると自分を見失いやすい。そして、時間だけを浪費する。。。 そんなときは、机の前に座って、ちまちまと、何か鉛筆やgimp、MyPaint, Inkscape、blender(いずれもfreeで評判)で書いてみる。1mmの線でもいい。すると、カタツムリのようにゆっくりだがイメージが確立されていくことがある。 と、これを期待して今日も机に座るボクであった。

steam for linuxとwine1.5.x+steam for windows

イメージ
steam for linuxが登場して気になったのはwine(PlayOnLinux)上で動作するsteamのゲームは動作するのか?という疑問がおきる。つまり、ふたつのsteamが存在するのでconflictが発生して動作しないのではないか?...と。 結論からすると、問題なく動作する。steam clientは別ものとして動作してくれる。 なお試したのはThe Elder Scroll V SKYRIM(1.9patched)のみなので、ほかのゲームはわからない。 一応、安定しているのだが長いプレイではないので、どこかでcrashにするかもしれない(Windowsでも、たまにCrashが起きるので何が原因かは特定が難しけどw)。 PlayOnLinux について Fallout 3やSkyrimなどはこのツールによってあっという間にインストールが可能である。ただしFallout 3(1.7 and GOTY+Wine 1.5.26)はラジオを鳴らした後、しばらくすると前触れもなく止まってしまう( pulseaudioとの相性? )。そのため、RadioをOFFにして遊んでいる。なお、Fallout3をWine1.5.xで遊ぶには xlive.dllとmsasn1.dllを手動でインストール すれば遊ぶことが可能である。どちらにせよPlayOnLinuxでインストールしてからの話。 通常はfull-screenですがubuntuをみせるため、 windows-modeで動かしている様子 P.S.1 PlayOnLinux Ver4.1.9はUbuntu12.10でDVD-ROMドライブを見つけられないバグがある。これはUbuntuの仕様変更が理由だが、次のバージョンでは修正されている。Vet4.2以上を使うこと。 P.S.2 ボクは英語の勉強のため、ゲームは英語版で遊んでいる。ので、日本語版については不明。ご容赦を。もちろんMacBook Pro 17inchでもUbuntu12.10+PlayOnLinuxで上記のゲームは遊んでいるがUbuntu上のほうがWineを使っているため遅めw P.S.3 My Gameのフォルダーはsteamを使わずgitによって管理している。そのため、ゲーム終了後はgit pushし、コンピ

管理者のいないgitとコミニティへの参加

イメージ
TED クレイ・シャーキー 「インターネットが (いつの日か) 政治を変える」 http://www.ted.com/talks/lang/ ja/ clay_shirky_how_the_internet_wi ll_one_day_transform_governmen t.html 法律の改正に使うアイデアはgitを数年使っている者として、泣 きたくなるほど同感しました。  さっくり書くと、ここではgitのモデルが新しい人々の関わり方を暗示しているのではないか?ということを述べているのですがgitをしっているとなるほどと思います。 ただし、問題は英語が堪能でないため、なかなかコミニティに参加できないことです。これをどうするか?がここ半年ぐらいの悩みでもあります。 3月までに自分でgithubを公開するしか手はないのかとは思っていますが。。。(準備は1ヶ月ほど前からしている。) 要は、作って話しかけられたほうが、まだマシに英語が使えるのではないかと思います。 つまり、話しかけてきた人はこのOpenSourceに興味があるのであって、僕が英語が堪能か2のつぎだからです。 逆の、話しかけた場合は、よい英語ができないと、(少しは持ちますが)最終的には会話が終わってしまいます... ということで、計画を進めてみる予定です。 PS ちなみに、使いにくいけど、好きなコマンドはgit bisect:-)です。

Steam for linux

イメージ
先月からLinux対応(Ubuntu推奨)になった steam 。steam_latest.debをインストールしてみた。 まだまだLinuxも対応したゲームが少ないが今後の展開ではsteam専用ハードウェアの登場も考えてのことで楽しみな展開がまっていると思う。まぁ、最近は1年にゲームをまともには1,2回おこなう程度なので、ほんとうに面白そうというゲームはしかやらない。あまり購入することはないと思うのだけど。とりあえずLinux対応ということで2,3のゲームを試す予定だ。 Linuxにゲームを対応させるとWindows版よりも、 高速になると思われる 。 人によっては frame rates are at least 15% higherらしい . といいても数FPSなのであまり関係ないかw e.g.  http://www.h-online.com/open/news/item/Valve-says-Left-4-Dead-2-runs-faster-on-Linux-1658602.html もちろん、Wine使用の場合は、その層が遅延の原因となるのでほとんどの場合遅くなる。 少々、気になるのは The Elder Scrolls Online のようなWindows専用ソフトはどうなるのか? Wineを使ってUbuntu上で実行 することになるためsteamが混乱する可能性があるのではないか? Linux対応が原因でWindowsでしか起動できないと、ちょと、めんどくさい。時間ができたら試したいと思う。(Update: 確かめた ) 参考: http://steamcommunity.com/linux Linux向けTips http://steamcommunity.com/sharedfiles/filedetails/?id=127235417#25477

Cycles render

イメージ
ここ1,2年の NVIDIA  GTXのビデオカードを持っていれば、やってみたくなるのがBlender cycles。わかりやすいTutorialが公開されているのでおすすめである(英語)。 Node Editorを使いMaterialを編集&チェックを繰り返しながら作りこんでいく基礎が説明されている。 ちょと音がうるさいがシンプル http://www.man-i-can.com/category/cycles-videos/ おなじみのCgcook http://cgcookie.com/blender/2011/09/16/introduction-blender-cycles-render-engine/ 若干Ver2.66とはメニューの細かなところが異なるが、ちょと考えればわかると思う。 2万円以下で入手可能になってきたGTX660では問題なく、試すことが可能である。 Ubuntu(Linux)の注意点として、NVIDIAのProprietary driverを使わないとGPU/CUDAを使えるようにならないので注意されたい。ボクはVersion 310.14を使った。現在のNouveau driverではCUDAを使えない。また最新のKernel3.8はNVIDAの3Dアクセラレータがほとんど対応になるだけで、ぱっとみたところCUDAについては一切書かれていない(たぶんw)。 他にはお馴染みの http://www.blendtuts.com がある。 http://www.blendtuts.com/Cycles_intro  なお、レンダリングを美しくみたいときはRender->Sampling tab内 Samples/Render:を200, 500にすればいい。ただし、当然、遅くなる。

Blender 2.66とGTX 660 CUDA

イメージ
Blender 2.66でNVIDIA GeForce GTX 660 CUDAを使って以下のサイトにあるBMWをCycles レンダリングし、時間をはかってみました。 http://blenderartists.org/forum/showthread.php?239480-2-61-Cycles-render-benchmark ここに各カードの結果 Spreadsheet https://docs.google.com/spreadsheet/ccc?key=0As2oZAgjSqDCdElkM3l6VTdRQjhTRWhpVS1hZmV3OGc#gid=0 System info. Intel i7  MB:X58 8core/6GRAM Graphic card 玄人志向(KUROUTOSHIKOU.COM) GF-GTX660-E2GHD/DF/OC/2GB Core Clock:1.006GHz Memory Clock:6.008GHz OS:Ubuntu 12.10/Kernel 3.5 Driver:Nvidia 310.14 Compute Device CUDA Rendering time 1:34.39 Compute Device none /CPU Rendering time 3:25.18 でした。CPUと比較して2倍以上高速なことがわかりました。2万円もしないカードでこれだけ高速になるとはいい時代になりました。これは作業の効率化になります。 なお、GPGPU有上位カード(Note:600シリーズはなし)だと一枚差しでも1分以内にRendering終了するようです。ボクのPCは予算と電源が乏しいためこれには手がでませんでした。将来、どうしても高速にしたい場合は電源を拡張しGTX660を SLIで 2個にしておこなえば倍速になるでしょう。 PS spreadsheetによるとCPUやOCも関係するが、1枚差しに限定すると (注意:目測なので誤差大)、 GTX TITAN  38秒(現在1件だけの報告) GTX 580  45秒前後 GTX 570 1分5秒前後 GTX 680  ばらつきが多い約1分前後(SLIも含まれている?) GTX 670  1分15前後・ばら

Visual Studio 2012 expressとfbx-conv

fbx-conv をコンパイルしようとしたら、slnファイルしか存在しないため、Windows7で再起動。 その後、VisualStdio2008で開こうとしたら、 2010でなければならないとのこと、しかたがないのでMSからVisual VisualStudo 2012expressをDLしインストールした。人生のなかで一番開発でつかっているのはVisual Studioなのだが、この2年間はほとんど使わず、もっぱらeclipse(Or KDevelop を試している)のため、少々使いにくく感じた。 Linuxのinstall速度の素早さに慣れていると、相変わらずのインストーラの遅さはどうにかならないものかと思う。しかも、やっとインストールが終わったと思ったら、次はUpdateしかも、それをやっている間、VSは使えない。。。 ご存知のようにUbuntu(Linux)はアップデート中でもOSをほぼ普通に使うことができる。 でinstall&Update後、プロジェクト(sln)をロードしてF7を押してコンパイルしたらLinkerで以下のエラーが発生。 Error 43 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in FbxConverter.obj C:\cygwin\home\myname\develop\fbx-conv\fbxsdk-2013.3-mdd.lib(fbxdebug.obj) fbx-conv 結局、VS2012ではフォーマットがかわり、既存のライブラリとリンクできないらしい。ということで、 VS2010express を探しだして、再びInstall&Update。。。 そしてIncremental LinkをOFFしてコンパイル。 終わり。 MSの製品と付き合うとあっという間に時間が過ぎてしまうと感じるのはボクだけだろうか;-)

Unityとgnome-shell

気分によって、使い分けている。 unityとgnome3 shellはそれぞれ良悪しがある。 unity Ubuntuを使っているため基本はunityであるが、ただ最近商用主義に走りだした感があったり、一見安定的にみえるが細かな点でバグが多い。 しかし、Dash操作を慣れると手放せなくなる。 ただし、さらにUIデザインが良くない。 せめてgnome-shellなみにしてほしい。 またUIに余計な機能があり、OFFにできないので困ってい る。 e.g. 3, 4 fingersの動作など。 gnome-shell Unityと比べ、一行どうしてもとられてしまうので、blenderなどの複雑なアプリがNote bookでは使いにくい。 これはUnityは元々Note book用に設計されていたので歴史の差だと思う。が、Unityになれるとこれが妙に引っかかる。また、Notifications Panelの出現操作がもう少し何とかならないかと思う (3.8+X.org1.4でよくなるか?)。 gnome-shellにしても、不安定であり、起動時フォントが壊れている(3.6.3で修正か?)   Update Fixed?. とまぁ、それぞれ完璧でないが、Ubuntu(ほかのディストリビューションは知らないし、試す時間もないw)はLogin時に気軽に選べるので、気分で変えて使っている。 クリーンインストールしたUbuntu12.10でgnome-shellを使うには。 sudo apt-get install gnome-shell を実行するだけ。 login時に名前の横にあるアイコンをClick、shellを変えられる。 ほかの情報元のようにgnomeのPPAを追加すると、gnomeのライブラリはUnityでも使われているため、モジュールが混乱し、将来不安定の原因になる。 最悪、OSの再インストールのリスクがあると思う。 そのため、ボクはgnome PPAを追加していない。

メインPCをSSD化

MacBookPro17(Ubuntu/Windows/MacOSX)は1年半以上、SSD(300GB・インテル)で使っているが、すこぶる快適に使えている。 大容量が必要なメインPC。 SSDが随分下がってきたのでUbuntu/OS部分だけSSD(128GM・サムスン)に変更した。価格は8500円だった。 昨年購入した300Gはかるく4万を超えたので、どれだけ安価になったかわかるだろう。 PCはHPE-190jp, i7のX58。ssdをata1, いままでのhdd(古いubuntu/Windows7 64bits)をata2, dvd-driveをata3, data-hddをata4に接続。 こうすると新しくインストールされたGrub2ですべてのOSが選択可能になるし、必要なデータも比較的安全。 Ubuntu12.10をクリーンインストールしたのだが、インストールが速い。 LiveCDで起動し、必要な入力をした後、コーヒーを入れて戻ったら、終わっていた。 結果、Ubuntu12.10はGrub2からの起動が約10秒で起動した。 Resumeも速い。 HDDsを使っているならば、RAMを増やしたりVideoカードをGeForceGTX660以上にするよりも、一番、高速化効率費用が安く省エネにもなるパーツではないだろうか? しかも、MacBookとは違って、普通の最新PCはBIOSを設定するだけでAHCIになるので便利である。 MacBookはGrub2のscriptを変え、Kernelソースにpatchをして、毎回コンパイルして、対応しているのでMacBookに対応して欲しいもである。(ahciにしても体感的にはわかりにくいのでideのままでもいいけど、当時は死語になりつつあるプチフリがあったw) なお、以下がssdにチューンした/etc/fstab、TRIMを有効にしたり、/tmpをRAM化してSSDアクセスを減らし寿命を伸ばしている。 swapも必要ないと思うが大量のMeshをrenderingすることを考えてHDD領域に残している。 古いprocは必要ない。 # /etc/fstab: static file system information. # # Use 'blkid' to print the uni