bf-blender / Windows & Linux (2005/05/02)

投稿日時 2005年05月04日 | カテゴリ: テストビルド

元記事:bf-blender / Windows & Linux (2005/05/02)

gabio氏による5/2付bf-blender Windows & Linux版のビルドの配布です。

皆さんこんにちは。CVSの新鮮なアップデートをお届けします。新機能が来ました。リリースはもう間近のようです。テストのために作品を作ってみることを提案します。

Windows版は、SConsとMSVC 7によるビルド、
Linux版は、SConsとGCC 3.4.5によるビルドです。
-----------------------
概要
- zblur プラグイン(別名DoF)のレンダラへの統合
- UV Editor の 移動とズームがスムーズに
- 新しい Ipo のメソッド。IPO.delCurve()、Ipocurve.delBezier()
- バグ修正。
- ビューの回転に、以前のコードのエラーのない、旧TurnTableを復活。
- TextWindow で、カーソル位置の括弧と対応する物をハイライト表示するように。
- "tech stat" で、Transform()中に変更されるすべての値を描画するように。
- ヘッダにマニピュレータ Widget の方向についてのメニューを追加。
- Imageモジュールの新しいメソッド:.getPixel() .getMaxXY()。
- Jean-Luc Peuriere氏提供の依存グラフのパッチ。
- SoftBodyの焼付け。

Commit
ton氏
Log:
zblur プラグイン(別名DoF)がレンダラに統合されました。Alexander氏提供のパッチと比べて変更・改良された点は以下のとおりです。

- Scene([F10])の新しいパネル、"Post Effects"パネルに移動しました。Edge Render などのような、他のポストプロセスオプションと一緒に集めました。また、これは DoF とは呼んでいません。そう呼ぶには、現時点ではまだ少しウソっぽいからです。よって、今は zblur なのです!

- アルファレンダリングも同様に行うようにしました。

- float バッファの使用と引渡しを行うように。

- 非常に汚かった zblur.c のコードは大きくクリーンアップされました。
すべてがレンダリングコードにはいっており、これ以上何も(ウィンドウ行列、Face の変換などが)必要ありませんでした。

- Z値使用によるエラーを修正。(Zバッファは signed int)

- front/back half の非常に妙なガンマ補正を削除。

- ガウシアンテーブルの調整、パラメータ 'Sigma'により、ガウスカーブの設定ができるように。

- 'auto focus' はまだコピーしていません。使用が非常に限られており、ユーザに間違った期待をさせ、deamon によるアニメーションのレンダリングも上手く動作しないからです。

大きな問題も残っています。あまり先進的な機能ではないこと…私はまだ、これ
にリリースする値打ちがあるかどうか非常に疑問に思っています。二日を費やし
問題を解決する糸口を得ようとしましたが、あまり成果が得られていません。

- ガウスフィルタのコードが大きな Blur サイズでは端に奇妙なエフェクトがかかります。
- 前面にぼやけた(ブラーのかかった)部分があると、背面のその周囲もブラーがかかります。
- ひどいエリアシングのエラーが…コードが二つに分割されていることも原因です。
- Unified Render ではまだ動作しません。
- Halo、Spot Halo、半透明の Face では動作しません。

いずれにせよ…コミットの約束はしましたので、アーティスト達はこれを使用することができるようになりました。
結局これが便利であるかわかるでしょうし、いくつかの修正も実装される可能性があります。

theeth氏
Log:
中マウスボタンの挙動を少しいじってみました。
軸制限していない状態で中クリックすると、すぐに軸制限が選択されます(軸選択機能は光りません)
軸制限中で中クリックすると、軸制限が解除されます。
両方のケース(軸制限ON/OFF)で中ドラッグすると、軸選択機能を使用します。

stopConstraint が CON_SELECT を消去していなかったので、軸選択中の Transform のキャンセルと、Transform への再移行がおかしくなっています。修正済です。

blendix氏
Log:
UV Editor のビューの移動とズームを「スムーズ」に。二つの倍率のズームレベルが View メニュー→View Navigation にあります。また、[Ctrl]+中クリックによるズームが追加されています。

[E]キーによる、LSCM 展開のポップアップが復活しました。

ton氏
Log:
Transform マニピュレータの議論の反映…。

画像と文章が以下にあります。
http://www.blender3d.org/cms/Manipulator_Widgets.548.0.html

Rotate Widgetの代案はまだ rt=2 と rt=3 でゆれています。

まだTodo には多くの作業がありますが、これが前進のためのいいステップになることを祈ります!

stiv氏
Log:
新しい Ipo のメソッド。
Ipo.delCurve( curve_name ):Ipo からその名前の Curve を削除。
Ipocurve.delBezier( int ):Ipo Curve から、その添字のポイントを削除。

Ken Hughes(khughes)氏による貢献です。感謝!

ton氏
Log:
バグ#2467
同一でないスケール+回転している Object で、Normal軸モードのマニピュレータが変形(複数の Face の選択時)、もしくは位置がおかしくなっていました。有名な逆行列により変換するトリックがここに必要でした。

bjornmose氏
Log:
SoftBodyDetectCollision(...)のパラメータリストのクリーンアップ。
SoftBodyDetectCollision()を「ユーザが SB Object を deflection のターゲットとして宣言することにより、自身の交差を防ぎたい」時に取り扱います。
ああ…そう…これに関するバグ報告をみることができます(私は肩身が狭いです…動作の保証はできません)

ton氏
Log:
バグ修正 #2469

明確に DXF がレイヤも読み込めるように…これは二つの方法が間違っていました。
- object->lay は base->lay と等価ではない。
- DXF がレイヤ情報を持っており、しかしそれが読めない場合、object->lay には「カレントのレイヤ」を使用する代わりに1を設定していた。

Log:
transform() が使用されている場合、sbObjectStep()からの脱出するようにしました。Lattice を処理するのに必要です…これらは Transform 中この関数を呼び出し続け、その結果、Lattice 自身とその子(SoftBodyの場合)が同じ場所に静止したままになってしまいます。

実際の解決には二つの包囲網が必要です:
- Lattice の変形されたLatticeのポイントを "DispList" として格納。
- 正しい依存グラフの使用。

また、Transform 中に SoftBody のシミュレーションを続け、SoftBody の挙動に対しフィードバックするアイデアもあります…これは後ほど。

Log:
環境マップ(envmap)+スレッドレンダリングの小さな修正… Linux と Windows では修正されているか確認していません…テストする予定です!

環境マップの立方体の側面の画像(6枚)が他のスレッドと共有する tex->ima に格納されていたのを修正しました。

guitargeek氏
Log:
Rotate Edges の #2472の修正。Edge の Hide フラグが消去されていました。
この追加で、これらのフラグの保存と復活をするようになりました。


ton氏
Log:
報告されていた(Jens Ole氏に感謝!)UVマップテクスチャのレンダリング時のエラーの修正。
スレッドセーフな環境マップレンダリングにした所為で起こりました…。

convertblenderscene.c のコミットは単に#define で const を置き換えているだけです。

Log:
ビューの回転に、しばらくたってから斜めに傾いていた以前のコードのエラーのない、旧Turntableを復活。
John Aughey氏の提供によるパッチです。感謝!

(John氏は trackball から Turntable にしたときの修正を行う追加のパッチを送って下さる予定です)

stiv氏
Log:
テキストエディタに、すべての括弧のマッチング(訳注:カーソル位置の括弧と対応する物をハイライト表示)を追加。
Patch Trackerの#2437 からです。
Ricki Myers(themyers)氏の貢献です。感謝します!

ハイライトカラーは、UserPreference の Theme にあるカラーです。


ton氏
Log:
ステータスマニアの皆さんへ:"tech stat" で、Transform()中に変更されるすべての値を描画するように。

残りの描画は実際の選択と、ビューを非常にごちゃごちゃにして困ることになります。これが受け入れられることを祈ります。

Log:
ヘッダにマニピュレータ Widget の方向についてのメニューを追加。
また、メニューボタンの文字列描画の閾値を少し調整。文字列がクリッピングされ、速くなります。

Log:
Circle 選択のイベントキューのチェックが改善、マウスボタンを離した後に、選択状態を維持しないように。

ton氏
Log:
Mesh EditMode の "Centre" に "Around" 設定が反映するように(バウンディングボックスの中心だけでなく)なり、Vertexの重心も使用できるように。
"Cursor" では行いませんが…Object の Center でセンタリングでいいですよね?

Log:
一つのコミットに二つの修正。

- ORTHO レンダリング時、レンダリング空間のZ値(shi.co[2])の計算方法に弱点がありました。通常のレンダリングではOKですが、Ortho + Unified Render では、大きな間違いが起こります。
面の方程式、a*x+b*y+c*y=d の使用により、正しく計算することで解決しました。なぜ私がまず最初にこれを行わなかったのかは判りません。

- バグ修正#2493。Edge レンダリングがOrthoでは非常に違う結果になっていました。これはZバッファの値をフィルタリングする整数計算でオーバーフローが発生していたからです。
演算を正しくクリーンアップし、どんな整数のオーバーフローも防ぐようにしました。

Log:
さらなるステータスマニアのための機能!

EditMode 時の[N]キーパネル(Transform Properties)に、値の表示をグローバル座標かローカル座標かの選択をするオプションを追加。
同じオプションは "Tech draw" オプションでも動作します。

Log:
マニピュレータの "Normal alignment(Normalでの操作モード)" が、Edge(Face が選択されていない場合)と Vertex にも使用できるように。Vertex の Normal が編集コマンド毎に更新されないことだけが問題です(かなりのオーバーヘッドになります…)。よって、[Tab]を二回押して強制的に正しい Vertex の Normal にして下さい。

Log:
- ファイルサイズ > 4GB だと、FileWindow で正しい表示がされなくなります。これはまだ int が計算に使用されていたからです…64bit の int を使用するようにしました。

- ヘッダの "disk free" インジケータが、#ifdef __APPLE_ がなかった所為で OSX では動作していませんでした。

Log:
バグ #2497

[Ctrl]+左ドラッグの投げ縄選択が、偶然 ImageWindow でも呼び出されていました。3DWindow 以外の場所では動作しないことになっていました。

stiv氏
Log:
Image module の新しいモジュール。
.getPixel( x, y ) ピクセルを float のリスト [r, g, b, a] で返します。
.getMaxXY() 画像のサイズを float のリスト [x, y] で返します。

Austin Benesh (mchs3d)氏の貢献です。感謝します!

また、コードのインデントも変更しました。

ton氏
Log:
Rotate-Widget 描画用平面のクリッピングのエラー。
ズームアウト・インで、このクリッピングがより狭く・広くなっていました…恐らく修正されているでしょう。

Log:
旧 Transform() 削除(泣)その1。
Removal of old transform() part one.

- 新 Transform に(そんなに便利でないかもしれませんが)、古い機能の Transform 中のマウスホイールによるズームを追加。

- uv-window/sequence/oops での Transform の呼び出しの引数を新 Transform のマウスのコールバック時の物とマッチするよう変更する必要がありました。

TODO (martin用?)

- プルダウンメニューのホットキーの押下にしたがった、ローカル軸の呼び出しのサポート。
- mirrormenu() がまだ旧 Transform を使用しています…。

Log:
Jean-Luc Peuriere氏提供の依存グラフのパッチ。

動作は魔法のようです…これで古い改造を元にした類を置き換えました。
次の段階は更なる統合方法を定めることです。プラス、いくつかの小さなコードのクリーンアップ…static/内部関数対外部関数など。

Log:
Spot の Halo + sky に被さる通常の Halo の組み合わせに、OSA + ガンマコレクションを使用した際のエラー。

ガンマコレクションが抜けていました…。

theeth氏
Log:
ローカル軸制限の外部コール。コードのデザインの問題に注目した、非常に改造度の高い方法で行う必要がありました。この解決には(そして他の問題の解決も行おうとするなら)、初期化する関数を分割しなければなりませんでした。ものすごく難しい作業ではないのですが、私はこの作業に打ちのめされてしまいました…。

Push/Pull は 軸制限のON/OFF時に問題がありました。修正済です。

ミーティングの議論にあった、軸制限の描画用(マニピュレータを使用していない場合)の無限線を再度作成。


ton氏
Log:
SoftBody に bake(焼付け)を追加。

以下で動作します:
- 'show bake settings' ボタンを押します (もうスペースが…。
- 焼き付ける開始・終了フレーム、間隔(step)を設定します。
焼付け結果の補間は良好です(Bスプライン、4キー)ので、一般的に step の大きさは2もしくは3でOKです。
- "BAKE" を押します。完全なアニメーション+プレイバックが行われます。[Esc]でキャンセルできます。

一度焼付けすると、この "BAKE" ボタンは "FREE BAKE" になります。焼付けしたことを思い出させるため、SoftBodyのボタンはerror()メニューでブロックされます。

ファイルへの保存もOKです。どのフレームからも field や mblur を含むレンダリングが可能です。
また、"Timeoffs" を SoftBody に設定することができます。そして、NLAにも…。

注意!このコミットでは、Jens Ole氏による古い(最初のコミット)バージョンで保存されたファイルの設定は読み込めません…氏はすべての SoftBody の変数を Object に格納されていましたが、(ひと月以上前)私が SoftBody の最初コミットをした時は、新しい構造体に移動されていました。

また、新しいインクルードファイルにParticle Deflect と SoftBody を移動したことにも注意して下さい。




Blender.jpにて更に多くのニュース記事をよむことができます
https://blender.jp

このニュース記事が掲載されているURL:
https://blender.jp/modules/news/index.php?page=article&storyid=1287