プログラミング

引数の評価順序

ちょっと気になって調べてみたところ、Javaではメソッドに渡す引数の評価順序が決まってるみたいですね。 a = b.method(f(), g(), h()); みたいなコードを書いた場合、f(), g(), h()の順に評価されることが保証されている、と。でも、これが当たり前だと思っ…

くるくる3Dデモ v1.0.0公開

くるくる3Dデモ v1.0.0を公開しました。auケータイのオープンアプリにおいて、3D描画の可能性を示すために作ったアプリです。オープンアプリの環境には3D描画のライブラリが用意されていないので、自作してみました。 バイナリはこちら (auケータイでアクセ…

くるくる3Dデモ 更新

くるくる3Dデモをv0.1.2に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちら 2画面モードを作りました。2つの視点から物体を眺められます。#キーで2画面モードです。*キーで1画面に戻ります。 2画面モードの処理が重いので、鏡面反射と…

くるくる3Dデモ 更新

くるくる3Dデモをv0.1.1に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちら 0キーを押すことで、視点を最初の位置に戻せるようにしました。一瞬で戻るのではなく、「うにょっ」と戻ります。この動きを実現するのに、かなり苦労しました…

くるくる3Dデモ 更新

くるくる3Dデモをv0.1.0に更新しました。ただし今回は、アプリの(見た目の)動作には変更ありません。ソースはこちら アプリ名、アイコン、サイトのURLをちゃんと設定しました。(やっと) (内部的に)カメラオブジェクトを複数作れるようになりました。が、まだ…

くるくる3Dデモ 更新

くるくる3Dデモをv0.0.9に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちら キー操作で視点を動かせるようにしました。↑↓←→キーでそれぞれ上下左右を向きます。1,3キーで左右に傾きます。2キーで物体に近づき、8キーで遠ざかります。な…

くるくる3Dデモ 更新

くるくる3Dデモをv0.0.8に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちら点光源を実装しました。減衰率のシミュレートがこれでいいのか自信がありませんが、だいたいそれらしく動いているようなので良しとします。Z座標によるカリン…

更新 本日2回目

くるくる3Dデモをv0.0.7に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちら鏡面反射光を実装しました。ハイライトが出るわけではないので、見た目分からないと思いますが……。三角形以外のポリゴンに対応しました。v0.0.6でも立方体を表…

くるくる3Dデモ 更新

くるくる3Dデモをv0.0.6に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちらライティングを実装しました。今のところ、環境光と拡散反射光を計算しています。鏡面反射光も実装するつもりですが、フラットシェーディングなのであまり効果…

クォータニオン難しい……

クォータニオンを経由して回転行列を求めるのに、3D‐CGプログラマーのための実践クォータニオン―「スケーリング」「平行移動」「回転」…のプログラミングが分かる! (I・O BOOKS)に載っている式とサンプルコードを参考にしてやっていたところ、なぜか回転の向…

くるくる3Dデモ 更新

くるくる3Dデモをv0.0.5に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちら面法線ベクトルの向きによるカリングを実装しました。これで、正二十面体が破綻なく表示できるようになりました。(上側の正二十面体は旧方式で表示、下側のは…

くるくる3Dデモ 難航中

あまり考えずにコーディングを進めていたので、早速ぐちゃぐちゃになってきました。このデモを自分の手でゲームなどに発展させる気はまったくないんですが、誰か他の人がソースを見て、何かに利用しようという気が起きる程度には整理しておきたいと考えてい…

くるくる3Dデモ 更新

くるくる3Dデモをv0.0.4に更新しました。バイナリはこちら (auケータイでアクセス)ソースはこちら見た目は(まだ)何も変わってません。ボクもワタシもみんながっかり!でも、ソースのほうはいろいろ変わってます。また、今回からMercurialのリポジトリを丸ごと…

くるくる3Dデモのソース公開

Molecule FactorialのケータイJavaのコーナーで、くるくる3Dデモのソースを公開しました。本当は、もうちょっと作り込んでから公開するつもりだったのですが、いつまで経ってもやる気が起きず、進行する見通しが立たないので、エイヤで公開してしまいました…

VisualC#2008によるリハビリ

職業プログラマを辞めてからというもの、プログラミングがだんだん縁遠いものになっていく感じで、特にここ数か月は開発環境を立ち上げてもヘルプだけ見てすぐに終了、を繰り返すような鬱々とした日々を過ごしていました。が、これではいかんということで、…

カウンタが動かない

久々に少しやる気が出て、iアプリのダウンロードカウンタを設置しようともがいてみたものの、ことごとく失敗。結局あきらめました。オープンアプリ用のカウンタはうまくいったんだけどなぁ。

一歩

久方ぶりに、Javaのソースコードに手を入れました。

WonderWitch

なんとなく、WonderWitchの開発環境を再構築してみました。いや、本気でWonderWitchを再開するつもりではないんですが、何かの弾みになればと思って……。

Scala

2chをちょっと眺めていたら、"Scala"なる単語が出てきたので調べてみました。へー、プログラミング言語なのか……。JVMの上で動いて、Javaのライブラリもそのまま呼び出せたりするようで。(Javaではなく.NET Frameworkを利用する実装もある模様)そして、J2ME上…

互換性

ケータイJavaはキャリア間、機種間で非互換な部分が相当あって大変なわけですが、Flash LiteはJavaより操作性とかで制限がある代わりに互換性は保たれてるのかと思ってました。でも、ちょっとググってみたら、どうやらそうでもなさそうですねー。キャリア毎…

Cマガ

Broomの記事が載ってるCマガ2002年12月号を、段ボール箱から引っ張り出した。Cマガは「まるまるC MAGAZINE」のDVDとCDで全号分揃ってるので、紙媒体はほとんど捨てたのだけど、WonderWitchやP/ECE関連の記事が載ってる号だけ残してあったりする。

魔女のほうき

ケータイJavaとかキャリア間共通フレームワークとかRPG用スクリプトとか3D描画デモとか、うにゃうにゃうにゃ〜っと考えていたら、WonderWitch用携帯プログラミング環境 Broom のことを思い出していた。作者のわんだらぁさんのサイトがWeb上から消滅して久し…

くるくるデモ

面の前後関係がめちゃくちゃですが、とりあえず何か3次元物体がくるくる回っているデモができました。http://mole.skr.jp/ez/にある、「3D描画サンプル」がそれです。表示をまともにするには、今のところ凸物体が1個あるだけなので、面法線ベクトルの向きで…

増殖できない

Object#clone()メソッドがないー! こんなのまで削られてるのか……MIDP恐るべし。

TortoiseHg

TortoiseHg 0.3をインストールしてみました。以前コマンドライン版Mercurialをインストールしたこともあったのですが使っていないので、今回も使うようになるかは分かりません。ただ、Mercurialについて日本語で分かりやすく解説しているページが見つかった…

product 2つ

とりあえずベクトルの内積と外積を実装。え、今日これだけ?

描画性能測定

手持ちのW52CAで、描画性能を測定してみた。画面初期化 + 三角形20個の描画で、28msぐらい。思ってたよりけっこう速い。あと、このテストプログラムをアップロードするときに、この前設置したダウンロードカウンタをついでに確認してみたら、カウンタ値が増…

ソートとか

MIDPには配列をソートするメソッドも用意されてないのか……。DoJaもなさそうだけど。ということで、ソート処理を用意する。でも、ほんとはjavax.microedition.lcdui.Graphics#fillTriangle()がどのくらい性能出るかを調べるのが先か……。

リハビリちぅ

プログラミングの勘というか感覚のようなものが、かなり抜けてしまってる感じ……。いや、Javaはそもそも6年くらい前にちょろっとかじっただけで、業務では使いそうで結局使わなかったから、こんなもんかもしれんけど。でも、Cだったらスラスラ書けるかという…

ダウンロードカウンタのスクリプト

昨日作ったダウンロードカウンタのRubyスクリプトを貼っときます。例としてaiue.jadのカウントをしたいとすると、 device:jam?http://hoge/ez_download.cgi?file=aiueのようにします。file=の後に指定するファイル名は、半角英数字とアンダーバーしか使えな…