アルファブレンディングについて【教えてほしい】

アルファブレンドで下記の合成はわかった

  • 通常合成(1*srcColor + 0*destColor)
  • 加算合成(1*srcColor + 1*destColor)
  • 半加算合成(srcA * srcColor + 1*destColor)
  • 半透明合成(srcA * srcColor + (1-srcA) * destColor)

しかしこれらがアルファ値だけ別の計算が出来るという仕組みが用意されていたりする。
これの有効な利用が思いつかない。

OpenGLやDirectXではアルファブレンドセパレートとして機能があったりするが。

D3DRS_SEPARATEALPHABLENDENABLE を有効化して
なにかやっているサンプルもまた見つからなかったし。
有効に使えている例、使える例を知っている人は是非教えてください。


Windows7のエディション選択

Windows7のエディションでは上位エディションが
下位エディションの内容を包含するようになった。
Vistaの頃のHomeとBusinessでバラバラになった機能があったことを考えるとわかりやすくなったと思う。

Windows7 Home Premium

  • Media Centerを搭載。
  • XPModeが使用できない。
  • リモートデスクトップ接続先となることができない。
    • 逆にほかの端末へのリモートデスクトップ接続は可能。
    • 他からのアクセスを出来るように考えるならこのエディションは選ばない方が無難。
  • オフラインフォルダが使えない。
    • 2台のPCでデータを共有してオフライン時アクセスを可能にしてくれる機能。
    • 同期が取れているならデータが2台のPCに書き込まれることになっているわけで、バックアップとしても使えそう。
  • ネットワークバックアップ機能が使えない
    • ネットワークに接続されたHDDにバックアップファイルを書き込むことが出来ない。
    • Home Premiumではローカルに接続されたHDDにのみバックアップが可能

Windows7 Professional

  • WindowsServerへのドメイン参加が可能。
  • 他のPCからリモートデスクトップ接続を受け付けられる。
  • オフラインフォルダが使用可能。
  • ネットワークバックアップ機能が使用可能。
  • XPModeが使用できる。
  • セキュリティに関することが出来ない。
    • AppLocker,BitLocker
      • BitLockerはハードディスク暗号化、AppLockerはアプリケーションの実行を禁止する機能
  • DirectAccessが使えない。
  • 仮想HDDからの起動が出来ない。
    • VHDファイルから起動ができないということ。

Windows7 Enterprise

企業向けエディション。普通購入は出来ない。
これらの機能を個人で使用するためにはUltimateを購入する必要がある。

  • DirectAccessが使用可能
  • 仮想HDDから起動ができる。
  • セキュリティに関する機能(AppLocker,BitLocker)が使えるようになる。

Windows7 Ultimate

Enterpriseと同機能を備えている。
意外なことにProのエディションよりサポート期間が短い。

どれを選択すべきか

個人で使う環境を考えたときにどうエディションを選んでいくべきか考えてみました。

Home Premiumで良い

  • PCが1台のみ。
  • PCが複数台あるけど使うのはファイルやプリンタ共有程度。
  • ネットワークも単にWebをみたりメール使ったりするだけという状況。

これらの状況に当てはまるならHome Premiumでよいでしょう。

Professionalが良い

  • 複数のPCを使用していて、リモートデスクトップを便利に使いたい場合
  • Windowsドメインを使いたい環境の場合
  • バックアップ機能を有意義に使いたい場合
  • XPModeを使いたい

これらの条件で満足出来る人はProfessionalを選ぶべきかも。

Ultimateが良い

  • 全ての機能を使いたい人向け
  • BitLocker/AppLockerなどセキュリティを向上させたい場合
  • DirectAccessを使用したい場合。
    • たとえば出先から自宅PCにアクセスする場合には有効でしょう。
  • 仮想HDDを有効に活用していきたい人向け
    • 環境ごとに起動するHDDファイルを切り替えて動かせるというメリットがあります。

上記の条件に当てはまるならUltimateがよいでしょう。

Home Premium vs Professional

リモートデスクトップの機能と、XPModeを使用するか否かが選択基準になりそうです。

Windows7をインストールしたPCは唯一でそれがメインPCとなる場合、
他からアクセスすることはなく、むしろ他のPCへのリモートデスクトップが出来ればよい、という状況ならHome Premiumで良さそうです。
もしも2台目以降でのWindows7が必要になったらそのときにはProfessionalを選択すればいいでしょうし。

Professional vs Ultimate

セキュリティ関連機能を使いたい場合はUltimateでしょう。
Ultimateでは仮想HDDファイルから起動できるため、環境を切り替えて使うことが可能です。
外からノートPC等で自宅PCに安全に手軽にアクセスしたいという要求があるなら、Ultimateでしょう。

感想

万人にお勧めできるのがUltimateとは言い切れないのが判明。
ほとんどの人はHomePremiumかProで十分そうです。
またライトユーザーならほぼHome Premiumで良さそうです。
Professionalの魅力と思われるドメイン参加とXPMode、リモートデスクトップがありますが
ドメイン参加機能以外は別のソフトで代替が可能でしょう。

  • XPMode代替としてはVMPlayerかVirtualBoxとか。
    • 別途XPのライセンスが必要にはなりますが、持っている人も多いでしょうし。
  • リモートデスクトップもいろいろなソフトで代替が利きます

また、割高にはなりますが、とりあえず導入ならHomePremiumを選んでおいて、
必要な機能が出てきたときにProfessionalを選択するという手段もとれそうです。

自分が今使っている環境はUltimateですが、
使用状況を考えるとProfessionalでも十分みたいでした。

おまけ

DSP版では32bit/64bitを購入時に選択購入になるけど、
パッケージでの購入ならば32bit/64bit両方とも含まれているようです。
再インストールという形にはなりますが、それぞれを試してみるという使い方もできるようです。
(ただしライセンス違反には注意。同時に使えるのは片方のみ)


テクスチャアドレッシングモード

テクスチャアドレッシングモード

テクスチャを張ったときに、1.0以上の値をどう扱って、
テクスチャを張るかのモード設定です。

出来ることの代表的なものとして、

  • 繰り返し貼る(リピート)
  • 反転しながら貼る(ミラー)
  • 繰り返さずに残った部分は引き延ばし

というのがあります。

OpenGL vs DirectX

で今回感じたのが、OpenGLとDirectXでこれらの機能の差違。
同じ挙動をする設定でも、画面の描画結果が違うということになりました。
もっとも大まかな挙動という点では一緒で、
今回の違いというのは、描画ピクセルが完全一致しないということを示しています。

どうも境界あたりの処理でそれぞれ差違が出ていました。
GL_CLAMP_TO_EDGEやGL_CLAMP_TO_BORDERなど標準機能ではなく
拡張機能で試したのですがうまくいきませんでした。

どうでもいいこと

テクスチャラッピングモードというとまた別のことを指すようです。
少しわかりにくい気がするのは自分だけでしょうか…


OpenGLのメモ

テクスチャのアドレッシングモードで、
境界色へのクランプってソフトウェア処理と思っていたが、
ちょっと前からそれは違っていたらしい。発覚したのは GL_CLAMP_TO_BORDER について調べてみたからで、
ある海外サイトによると、GeForce2のころはソフトウェア処理となっていたようだ。

あと、GL_CLAMP_TO_BORDERが3.0仕様では deprecatedになっている!という
記述を見かけたけど、OpenGL 3.1の仕様書を見てみたところ、
普通に記載があった。海外サイトのコメントをみていたら廃止というのがミスだったようで…

廃止になったのは、GL_CLAMP のようです。


ディスクフル

気づいたらサーバーのディスクフル。
いろいろなデータが飛んで、悲惨なことに。

DirectXのデバッグランタイム不具合

Windows7 (x64)の環境で、DirectX9を用いた開発を行おうとすると、
SDKのバージョンによっては問題を引き起こすことがわかった。検索しても海外でしか、同じ症状が発見されず、また解決法も不明だったので、
問題のあるバージョンを使用しない方法でしか解決が出来ないようだ。
それでも、別バージョンを使えばOKという点はまだ救いなのかもしれない。

問題

Windows7(x64)において、DirectX9のデバッグランタイムを有効にすると、
CreateDeviceで失敗する。
そのときのエラーメッセージは次の通り。

コメントもらったので修正
試したのは全て、Windows7(x64)環境下です。
x86環境では問題が起こらないのかもしれません。
どうやらx86,x64環境ともに発生するようです。

SDKバージョン 使用可否 Windows仕様
2008Nov 使用不可能 Win7(x64)
2009Mar 使用不可能 Win7(x64)
2009Aug 使用可能 Win7(x64)
2010Feb 使用可能 Win7(x64)

 

まとめ

このような結果になったので、Windows7環境でまともに使おうと思っても、
古すぎるSDKは使いにくい。2009Augがいいところだろうか。


リバースプロキシ背後でRedmine

2010/4/16現在の環境で、
リバースプロキシ背後でRedmineを動かそうとして、
ちょっとばかり苦戦したのでそのメモです。

redmine動作サーバー(バックエンド)

サーバーを設定して準備できているものとします。
仮にここでは 192.168.1.1 というマシンAで動いていると仮定します。
また、redmineのページへアクセスするのに、
http://192.168.1.1/ というようにDocumentRoot設定が成されているとします。

リバースプロキシ側(フロントエンド)

リバースプロキシは、192.168.1.254で動いてるとします。
ここにアクセスして、特定のURL時にredmineのサーバーへ転送するようにするのが目的です。

設定について

本来素直にやるならば、リバースプロキシ側の httpd.confにて下記のように書けば終了です。

しかしこれではうまくいきません。
スタイルシートが読み込まれないし、画面上のリンクを押しても対象のページへジャンプ出来ません。

そこで、redmine側の設定を変更します。
設置してある場所で config/routes.rb を開きます。
そして2行目に、次の1文を入力します。

旧バージョンでは、ActionController::AbstractRequest.relative_url_root という設定項目だったとのこと。
これがどうやら現在のRailsで変更になっているようで、この修正に到達できるまでが大変でした。

この変更を適用することで、http://youraddress/redmine/ というアクセスを正しく処理できるようになります。


CATV環境

今更ながら建物自体でCATV導入で、本日工事に。
第3希望だったんだけど、なぜか選択されてしまった。

作業に着た人に”なぜ?”って聞いてみたところ、
「土日以外の希望がかかれていた場合、それを優先して採用」とのことで。
土日はすでにいっぱいいっぱいになっていて大変そうだった。
一方平日はゆっくりと作業できるらしい。

CATVで電話も、ネットも出来ると営業していて、
現在のままで満足しているこちらとしてはあまり乗り気じゃなかったんだけど、
とりあえずお試しでプラン選択してみた。

実際に試せるのは来月だけど、
全てにおいて問題がないなら、トータル料金は確かに安くなるし乗り換えを検討するところ。

固定電話については、心配点はないので検証から除外

ネットでの検証で不安な点は、下記の項目

  • 通信速度。今光ファイバーだがこれと比較してどのくらい変わるのか。
    • 現在の通信実行速度計っておかないと。
  • 通信速度2。いわゆる上り帯域計測
  • グローバルIPをきちんともらえるかどうか。
    • 説明ではもらえるといっていたが…
  • レンタルの専用モデム(orルータ)の性能
    • PPPoEブリッジがあるか、あるいは、ポートフォワーディング出来るか
  • パケットはきちんと通るか
    • GREパケット通らないとかあり得るので。
    • GREパケット通らないと、PPTP使えないし。

まずはこんなところだろうか。
自宅サーバーとして上記がクリアできないと乗り換えできない。


R2VB

どうやら最近のNVIDIAドライバ+新しめのボードだと、
R2VB(Render To VB)は使えないようだ。チェックしてみてもNGとなってしまう。
これってGeForce6200とかで使えたという噂を聞いたけど、
そのくらい昔のハードでしか使えないってことなんだろうか。

※ R2VB使うくらいなら DirectX10以降のストリームアウト使えってことか

DirectX9で、ストリームアウトはあきらめろということで結論かも。
OpenGLならエクステンション駆使して何とかできるのかもしれない。


WebMailの xuhekiを試す その2

前回はCentOSでダメだったので、
本家で対応が記載されているUbuntuで試してみることにしました。

しかし、結果は失敗でどうやってもインストールが完了させられませんでした。
(回避方法知っている方は是非教えてください)

確認環境

  • Ubuntu 9.10 Server

インストール手順

ひたすらapt-getでインストールしていく

Xuheki本体のインストール

ひたすらデフォルトのままEnterを押していく。
パスの入力させられる場面では

  • /usr/sbin/apache2
  • /usr/bin/apxs2

を設定した。

しかし、このまま継続してもunzipが発見出来ないのか失敗する。
”Cannot unzip, no unzip program available”というエラーメッセージが出てくるが、
unzipがインストールされていても出てくる。
そこで、CPANの環境設定を変更する。

この後再度インストールスクリプトを実行させてみると、また別の場所で失敗する。

というエラーメッセージで終わったため、ログをのぞいていくと

となっているのが発見できた。Smtpsendのテストで失敗しているようだ。
テストの該当箇所をのぞいて、acceptの前にsleepを入れると良いとあったので試してみたが、
これでもダメだった。

Smtpsend.tの中身

*1 : インストールの必要条件にあったりするけど