1.3 の新機能
Java3D 1.3 の新機能についての概要です。
新機能について / 
新機能 / 
戻る / 
トップページ
    新機能について
- 1.3 の新機能についての概要です。
    β2 からの仕様の変更はないようです。当然、バグ修正はされています。
-  
- バージョン 1.2 からの変更点は少なく、マイナーリリースとの位置付けです。
    とはいえ、不具合修正を中心に細かな使い勝手の向上がされています。
    シーングラフをファイルに読み書きできるユーティリティークラス
    (com.sun.j3d.utils.scenegraph.io パッケージ) が追加されている
    点は嬉しい改良点です。
-  
- 原文は
    Java 3D(TM) API - Current Releases/Specification From Sun
    に書かれています (英語)。
     
    新機能
- バージョン 1.2 から 1.3 になり、追加・変更された API 仕様についてです。
-  
    - 新しいレンダリング機能
    
 -  
    
 
        view ごとの物体指定
    - ViewSpecificGroup クラスが追加されました。
        この Group の子ノードは指定された
        View の元においてのみ見ることができます。
    
-  
    
  
        背景画像のスケール
    - Background ノードで画像の伸縮指定を行うことができるようになりました。
    
-  
    
  
        Background 形状の意味合いの変更
    - Background ノードに設定する形状 (BranchGroup) の扱いが
        以下のように変更されました。
        ViewSpecificGroup、OrientedShape3D ノードは含まれてはいけない。
        Light、Fog ノードは含んでも良いが、
        その影響範囲は外部のノードには及ぼさず、
        また BranchGroup 内部全体に行き届くこと。
        上記制約を違反した場合は IllegalSceneGraphException 例外が投げられる。
        picking、collision はこれらノードは扱わない。
    
-  
    
  
        Behavior の同期
    - Behavior にその動作間隔を取得・設定するメソッドが追加されました。
    
-  
    
  
        大きさ固定の OrientedShape3D
    - OrientedShape3D クラスに大きさを固定する
        (透視投影に影響されない) 機能が追加されました。
    
-  
    
  
        順番指定可能な OrderedGroup
    - OrderedGroup クラスで、その子ノードの処理順を
        自由に指定することができるようになりました。
        これまでは追加順 (インデックス順) 固定でした。
    
-  
    
  - 新しい幾何・テクスチャ機能
    
 -  
    
 
        Raster の書き込み先オフセット
    - Raster の書き込み先のピクセルにオフセット値を
        指定することができるようになりました。
        またそれに伴い、読み込み元のピクセルのオフセット値指定の
        メソッドの名称が分かりやすく変更されました。
    
-  
    
  
        テクスチャの LOD 制御
    - ミップマップを使用したテクスチャの LOD (level-of-detail)
        の値を細かく制御できるようになりました。
        ただし、Java3D の下位の 3D API の実装状況に依存する為、
        すべてのプラットフォームで使用可能とは限りません。
    
-  
    
  
        ImageComponent の更新
    - ImageComponent の一部を切り出した画像の取得や
        ImageComponent の書き換えができるようになりました。
    
-  
    
  
        テクスチャ境界
    - テクスチャの境界領域の幅の指定、新しい CLAMP 機能の追加がされました。
        ただし、Java3D の下位の 3D API の実装状況に依存する為、
        すべてのプラットフォームで使用可能とは限りません。
    
-  
    
  
        テクスチャ合成
    - テクスチャ合成に様々な式を指定することができるようになりました。
        ただし、Java3D の下位の 3D API の実装状況に依存する為、
        すべてのプラットフォームで使用可能とは限りません。
    
-  
    
  
        Cube 環境マッピング
    - Cube 環境マッピングが可能になりました。 
        ただし、Java3D の下位の 3D API の実装状況に依存する為、
        すべてのプラットフォームで使用可能とは限りません。
    
-  
    
  
        テクスチャフィルタの追加
    - テクスチャフィルタの種類が増えました。
    
-  
    
  - 新しい見掛けの機能
    
 -  
    
 
        透過物体の Depth ソートの切り替え
    - 透過する物体を描画するために、
        物体の描画順が Java3D によって制御されていますが、
        View オブジェクトでこの描画順の並び替え (Depth ソート)
        の有無を制御できるようになりました。
    
-  
    
  
        Material の対象色の指定
    - ColorInterpolator などで制御の対象となる色の種類
        (diffuse、specular など) を指定するメソッドが
        Material クラスに追加されました。
    
-  
    
  - 新しい音響機能
    
 -  
    
 
        パラメータの追加
    - リバーブや環境パラメータが追加されました。
    
-  
    
  - その他の新機能
    
 -  
    
 
        Vecmath パッケージの Cloneable 化
    - Vecmath パッケージに含まれるクラスが全て Cloneable
        インターフェースを実装し、
        clone() メソッドが使用できるようになりました。
    
-  
    
  
        Alpha クラスの一時停止
    - Alpha オブジェクトを一時停止させることができるようになりました。
    
-  
    
  
        グローバルプロパティー
    - VirtualUniverse クラスにクラスメソッド
        getProperties() が追加されました。
        Java3D の下位の 3D API の実装状況に依存する機能が
        現在のプラットフォームで使用可能かどうかを調べる為などに使います。
    
-  
    
  
        J3DGraphics2D クラスの描画&フラッシュ
    - J3DGraphics2D クラスに画像の描画と同時にフラッシュを行う
        メソッドが追加されました。
    
-  
    
  
        Capability bits の更新頻度
    - Java3D の最適化のヒントとしてアプリケーションから
        Capability bits の更新頻度を通知することができるようになりました。
        前もって頻繁に Capability bits を頻繁に更新するか
        どうかを指定しておけば、その情報を使って Java3D が最適化を
        してくれる可能性があります。
    
-  
    
  - きれいになった API
    
 -  
    
 
        Font3D クラスの親クラス
    - Font3D クラスの親クラスが NodeComponent クラスに変更されました。
    
-  
    
  
        IllegalSceneGraphException 例外
    - IllegalSharingException、SceneGraphCycleException
        などの例外の親クラスとして IllegalSceneGraphException
        クラスが新設されました。
    
-  
    
  
        TransformInterpolator クラスの新設
    - TransformGroup の値を変化させていく Interpolator の親クラスとして
        TransformInterpolator クラスが新設されました。
        このクラスは PathInterpolator クラス、PositionInterpolator クラス、
        RotationInterpolator クラス、ScaleInterpolator クラスなどの
        親クラスとなり、これら子クラスのメソッドも継承を考慮して
        一部名称が変えられました。
    
-  
    
  
        交差判定メソッド
    - Shape3D、Morph クラスに PickShape オブジェクトに対しての
        交差点への距離を取得するメソッドが追加されました。
    
-  
    
  
        get メソッドの追加
    - set メソッドがありながら get メソッドがなかった各クラスのメソッドに、
        get メソッドが追加されました。
    
-  
    
  
        Capability Bit の追加
    - RenderingAttributes.ALLOW_DEPTH_ENABLE_WRITE、
        TexCoordGeneration.ALLOW_PLANE_WRITE の
        Capability Bit が追加されました。
    
-  
    
  
        Collection 風味なメソッドの追加
    - Java3D では SceneGraph を構成するオブジェクトが
        他のオブジェクトの集まりへの参照を持っている事が多々あります。
        それらに対して、指定したオブジェクトのインデックスを得るメソッド、
        指定したオブジェクトを取り除くメソッド、
        全てのオブジェクトを取り除くメソッドが追加されました。
    
-  
    
  
        NodeComponent の共有
    - immediate mode、背景 SceneGraph、通常の SceneGraph において、
        NodeComponent が共有できるように条件が緩和されました。
    
-  
    
  
        コンパイルされた Group の階層スコープの厳格化
    - コンパイルされた Group に対して、その保持している
        階層スコープの値を変更する際、
        capability bit を設定しなくても変更ができてしまっていました。
        この点を厳しくする為に RestrictedAccessException 例外が
        正しく投げられるようになりました。
    
-  
    
  
        Sensor Hotspot の意味
    - Sensor クラスのクラスメソッド setHotspot の意味が
        これまであいまいだったため、仕様と実装が正しくされました。
    
-  
    
  - ユーティリティークラス
    
 -  
    
 
        シーングラフのファイル化
    - シーングラフをファイルに読み書きできるユーティリティークラス
        (com.sun.j3d.utils.scenegraph.io パッケージ) が追加されました。
    
-  
    
  
        GeometryInfo のマルチテクスチャ対応
    - GeometryInfo クラスがマルチプルテクスチャに対応しました。
    
-  
    
  
        obj ローダーの URL サポート
    - obj ファイルローダーが URL 指定をサポートしました。
    
-  
    
  
        高解像度インターバルタイマー
    - 高解像度のインターバルタイマーを実現するクラス
        (com.sun.j3d.utils.timer パッケージ) が追加されました。
    
-  
    
  
        ConfiguredUniverse クラス
    - 多数の View オブジェクトを持つ SimpleUniverse クラスの拡張、
        ConfiguredUniverse クラスが追加されました。
        使用には JDK 1.4 以降が必要です。
    
-  
    
  
        仮想スクリーン環境でのマルチスクリーン
    - GraphicsConfigTemplate3D クラスで単一の仮想スクリーンを
        複数の物理的なマルチスクリーンに対応させることが
        できるようになりました。
    
 
  
戻る