前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0
SFB3D
I3D インターフェイスのラッパークラスです。
#include <SFB3D.h.hpp>
class SFB3D : public SFBQuery;
SFMTYPEDEFWRAPPER(SFB3D)

継承図

SFB3D クラスの継承図

協調図

SFB3D クラスの協調図

バージョン

このクラスは BREW 2.1 以降でのみ使用できます。

参照

BREW API I3D

バグ情報

I3D インターフェイスの廃止について
Tips 2.1 エミュレータ及び実機

I3D インターフェイスは仕様変更に伴い、BREW 3.0 で廃止されることになりました。 新しい 3D 機能については別途リリースされる予定です。

I3D_SetFocalLength
ドキュメントエラー BREW2.1 新インタフェースリファレンス(SDK2.1.0 Ja)

本 API の第 2 引数に 0 をセットすると、透視分割(原文では Projection Division) を行わない (つまり、平行投影を行う) という記述がありますが、これは誤りです。 BREW 2.1 では、第 2 引数に 0 を渡した場合 EBADPARAM が返ります。

メンバ

パブリック関数
SFCError ApplyModelViewTransform( AEE3DTLVertex* vertex , AEE3DPoint* vertexBuf , UInt32 numVertices )
一連の頂点座標ベクトルへのポインタと、 変換する頂点の数を指定して、 モデル ビュー変換を行うための汎用の関数です。
SFCError CalcVertexArrayColor( AEE3DTLVertex* vertexArray , UInt16Ptr vertexIndexArray , UInt32 numVertices , AEE3DPoint16* vertexNormal , AEE3DPrimitiveType primType )
AEETLVertex 配列内のカラー(RGB)値を計算します。
SFCError CalcVertexArrayNormal( AEE3DPoint16* vertexNormal , UInt16Ptr vertexIndexArray , UInt32 numTriangles , AEE3DPoint* vertexArray , AEE3DPrimitiveType primType )
頂点法線配列内の法線コンポーネント (nx, ny, nz) を計算します。
SFCError GetClipRect( SFXRectanglePtr rect )
クリッピング(切り抜き)長方形を取得します。 出力パラメータはすべてピクセル数で表されます。
SFCError GetCoordTransformMode( AEE3DCoordinateTransformType* type )
グラフィックスコンテンツから座標変換タイプを取得します。 これは、三角形をレンダリングする前にどの座標変換を適用するかを示します。
SFCError GetCullingMode( AEE3DCullingType* facing )
カリング タイプを取得します。
SFCError GetDestination( SFBBitmapSmpPtr destBmp )
SFBBitmap インターフェースからフレームバッファを取得します。
SFBBitmapSmp GetDestination( Void )
SFBBitmap インターフェースからフレームバッファを取得します。
SFCError GetFocalLength( UInt16Ptr focalLength )
焦点距離を取得します。
SFCError GetLight( AEE3DLightType type , AEE3DLight* light )
指定されたライトタイプの照明のプロパティを取得します。
SFCError GetLightingMode( AEE3DLightingMode* mode )
照明モード値を取得します。 このモードは、レンダリング用にどの照明が使用可能かを示します。
SFCError GetMaterial( AEE3DMaterial* material )
現在の素材のプロパティを取得します。
SFCError GetModelViewTransform( AEE3DTransformMatrix* matrix )
固定小数点の変換マトリックスを取得します。
SFCError GetRenderMode( AEE3DRenderType* type )
レンダリングタイプを取得します。これは、表面の色、生地、およびシェーディング モードに基づき、三角形をどのように塗りつぶすかを示します。
SFCError GetScreenMapping( SInt32Ptr sx , SInt32Ptr sy , SInt32Ptr shftx , SInt32Ptr shfty )
固定小数点の画面マッピングを取得します。
SFCError GetTexture( AEE3DTexture* texture )
3D レンダリングに使用される特定のタイプのテクスチャを取得します。
SFCError GetViewDepth( UInt16Ptr nearView , UInt16Ptr farView )
グラフィックス コンテキストのビュー深度を取得します。
static
SFB3DSmp
NewInstance( Void )
SFB3D インターフェイスのインスタンスを取得します。
SFCError PopMatrix( Void )
現在のマトリックスをスタックからポップします。
SFCError PushMatrix( Void )
現在のマトリックスをスタックにプッシュします。
SFCError RegisterEventNotify( PFN3DEVENTNOTIFY notify , VoidPtr data )
非同期のI3D 操作について通知する新しいイベント、または、 情報が何かあると必ず呼び出されるイベント コールバック関数を登録します。
SFCError RenderTriangleFan( AEE3DTLVertex* vertexArray , UInt16ConstPtr vertexIndexArray , UInt32 numOfTriangles , UInt32 numOfVertices )
最初の2つの頂点が定義された後に追加の各頂点が新しい三角形を定義するような 三角形扇をレンダリングします。最初の頂点はすべての三角形の一部になります。
SFCError RenderTriangleStrip( AEE3DTLVertex* vertexArray , UInt16ConstPtr vertexIndexArray , UInt32 numOfTriangles , UInt32 numOfVertices )
最初の2つの頂点が定義された後に追加の各頂点が新しい三角形を定義するような 三角形片をレンダリングします。
SFCError RenderTriangles( AEE3DTLVertex* vertexArray , UInt16ConstPtr vertexIndexArray , UInt32 numOfTriangles , UInt32 numOfVertices )
1 つまたは複数の三角形をレンダリングします。
Void ResetZBuf( Void )
Z バッファを最高の深度値(16 ビットの z バッファでは 65535)にリセットします。
SFCError SetClipRect( SFXRectangleRef rect )
クリッピング長方形を設定します。
SFCError SetCoordTransformMode( AEE3DCoordinateTransformType type )
座標変換タイプを設定します。
SFCError SetCullingMode( AEE3DCullingType facing )
「前向き」または「後向き」のカリングを設定します。
SFCError SetDestination( SFBBitmapSmpConstRef frameBuffer )
フレームバッファを設定します。
SFCError SetFocalLength( UInt16 length )
焦点距離を設定します。
SFCError SetLight( AEE3DLight* light )
指定されたライトタイプの照明のプロパティを設定します。
SFCError SetLightingMode( AEE3DLightingMode mode )
照明モードを設定します。 このモードは、レンダリング用にどの照明が使用可能かを示します。
SFCError SetMaterial( AEE3DMaterial* material )
現在の素材のプロパティを設定します。
SFCError SetModelViewTransform( AEE3DTransformMatrix* matrix )
固定小数点の変換マトリックスを設定します。
SFCError SetRenderMode( AEE3DRenderType type )
レンダリングタイプを設定します。これは、三角形をどのように色または テクスチャピクセルで塗りつぶすかを決定します。
SFCError SetScreenMapping( SInt32 sx , SInt32 sy , SInt32 shftx , SInt32 shfty )
固定小数点の画面マッピングマトリックスを設定します。
SFCError SetTexture( AEE3DTexture* texture )
3D レンダリングに使用するテクスチャを設定します。
SFCError SetViewDepth( UInt16 nearView , UInt16 farView )
グラフィックスコンテキストに使用するビュー深度を設定します。 このビュー深度の外のオブジェクトはレンダリングされません。
SFCError StartFrame( Void )
3D グラフィックス エンジンに、 現在のフレームの処理とレンダリングを開始するよう指示します。 この関数はブロックせずに、非同期で動作します。
SFCError UnregisterEventNotify( Void )
イベントコールバック関数を登録解除します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インタフェースで実装する際に使用します。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インタフェースで実装する際に使用します。

SFB3D::ApplyModelViewTransform
一連の頂点座標ベクトルへのポインタと、 変換する頂点の数を指定して、 モデル ビュー変換を行うための汎用の関数です。
[ public ]
SFCError ApplyModelViewTransform(
    AEE3DTLVertex* vertex   // 3D レンダリング用の頂点構造体
    AEE3DPoint* vertexBuf   // 一連の頂点 (x,y,z) へのポインタ
    UInt32 numVertices      // 頂点の数
);

参照

BREW API I3D_ApplyModelViewTransform


SFB3D::CalcVertexArrayColor
AEETLVertex 配列内のカラー(RGB)値を計算します。
[ public ]
SFCError CalcVertexArrayColor(
    AEE3DTLVertex* vertexArray    // AEETLVertex のリストへのポインタ
    UInt16Ptr vertexIndexArray    // 頂点のインデックスリスト
    UInt32 numVertices            // 頂点の数
    AEE3DPoint16* vertexNormal    // 頂点法線のリスト
    AEE3DPrimitiveType primType   // pVertexList が参照しているプリミティブのタイプ(つまり、三角形、三角形扇など)
);

参照

BREW API I3D_CalcVertexArrayColor


SFB3D::CalcVertexArrayNormal
頂点法線配列内の法線コンポーネント (nx, ny, nz) を計算します。
[ public ]
SFCError CalcVertexArrayNormal(
    AEE3DPoint16* vertexNormal    // 頂点法線配列へのポインタ
    UInt16Ptr vertexIndexArray    // インデックス頂点配列へのポインタ
    UInt32 numTriangles           // 三角形の数
    AEE3DPoint* vertexArray       // 頂点の配列へのポインタ
    AEE3DPrimitiveType primType   // 頂点インデックス配列が参照しているプリミティブのタイプ(つまり、三角形、三角形扇など)
);

参照

BREW API I3D_CalcVertexArrayNormal


SFB3D::GetClipRect
クリッピング(切り抜き)長方形を取得します。 出力パラメータはすべてピクセル数で表されます。
[ public ]
SFCError GetClipRect(
    SFXRectanglePtr rect   // クリッピング長方形
);

参照

BREW API I3D_GetClipRect


SFB3D::GetCoordTransformMode
グラフィックスコンテンツから座標変換タイプを取得します。 これは、三角形をレンダリングする前にどの座標変換を適用するかを示します。
[ public ]
SFCError GetCoordTransformMode(
    AEE3DCoordinateTransformType* type   // 座標変換タイプへのポインタ
);

バージョン

現在、この関数は BREW でサポートされていません。

参照

BREW API I3D_GetCoordTransformMode


SFB3D::GetCullingMode
カリング タイプを取得します。
[ public ]
SFCError GetCullingMode(
    AEE3DCullingType* facing   // カリングタイプへのポインタ
);

解説

カリング タイプを取得します。 これは、三角形を画面にマッピングする前に どの三角形を廃棄すべきかを示します。 デフォルトでは、頂点が反時計回り 回転で配置された三角形が表示されます。 反時計回りの向きは前向きを表します。 時計回りの向きは後向きを表します。

参照

BREW API I3D_GetCullingMode


SFB3D::GetDestination
SFBBitmap インターフェースからフレームバッファを取得します。
[ public ]
SFCError GetDestination(
    SFBBitmapSmpPtr destBmp   // 3D グラフィックスのフレームバッファの SFBBitmap インターフェース
);
[ public ]
SFBBitmapSmp GetDestination(Void);

参照

BREW API I3D_GetDestination


SFB3D::GetFocalLength
焦点距離を取得します。
[ public ]
SFCError GetFocalLength(
    UInt16Ptr focalLength   // 焦点距離へのポインタ
);

参照

BREW API I3D_GetFocalLength


SFB3D::GetLight
指定されたライトタイプの照明のプロパティを取得します。
[ public ]
SFCError GetLight(
    AEE3DLightType type   // 照明タイプ
    AEE3DLight* light     // 素材へのポインタ
);

参照

BREW API I3D_GetLight


SFB3D::GetLightingMode
照明モード値を取得します。 このモードは、レンダリング用にどの照明が使用可能かを示します。
[ public ]
SFCError GetLightingMode(
    AEE3DLightingMode* mode   // 現在の照明モードへのポインタ
);

参照

BREW API I3D_GetLightingMode


SFB3D::GetMaterial
現在の素材のプロパティを取得します。
[ public ]
SFCError GetMaterial(
    AEE3DMaterial* material   // 素材へのポインタ
);

参照

BREW API I3D_GetMaterial


SFB3D::GetModelViewTransform
固定小数点の変換マトリックスを取得します。
[ public ]
SFCError GetModelViewTransform(
    AEE3DTransformMatrix* matrix   // 変換マトリックスへのポインタ
);

解説

固定小数点の変換マトリックスを取得します。 これは、グラフィックスコンテキスト構造体の ModelViewTransform メンバからコピーされます。

参照

BREW API I3D_GetModelViewTransform


SFB3D::GetRenderMode
レンダリングタイプを取得します。これは、表面の色、生地、およびシェーディング モードに基づき、三角形をどのように塗りつぶすかを示します。
[ public ]
SFCError GetRenderMode(
    AEE3DRenderType* type   // レンダリングタイプへのポインタ
);

参照

BREW API I3D_GetRenderMode


SFB3D::GetScreenMapping
固定小数点の画面マッピングを取得します。
[ public ]
SFCError GetScreenMapping(
    SInt32Ptr sx      // Q12 形式での X スケーリングを含むポインタ
    SInt32Ptr sy      // Q12 形式での Y スケーリングを含むポインタ
    SInt32Ptr shftx   // ピクセル数での X シフトを含むポインタ
    SInt32Ptr shfty   // ピクセル数での Y シフトを含むポインタ
);

解説

固定小数点の画面マッピングを取得します。 出力のスケーリング部分は Q12 形式です。 移動またはシフト部分はピクセル単位です。

参照

BREW API I3D_GetScreenMapping


SFB3D::GetTexture
3D レンダリングに使用される特定のタイプのテクスチャを取得します。
[ public ]
SFCError GetTexture(
    AEE3DTexture* texture   // グラフィックスコンテキストからのテクスチャを含むポインタ
);

参照

BREW API I3D_GetTexture


SFB3D::GetViewDepth
グラフィックス コンテキストのビュー深度を取得します。
[ public ]
SFCError GetViewDepth(
    UInt16Ptr nearView   // ポインタは、近いビュー面の値(1 <= z0 <= z1)を含む
    UInt16Ptr farView    // ポインタは、遠いビュー面の値(z0 <= z1 < 2^15)を含む
);

解説

グラフィックス コンテキストのビュー深度を取得します。 このビュー深度の外のオブジェクトはレンダリングされません。

参照

BREW API I3D_GetViewDepth


SFB3D::NewInstance
SFB3D インターフェイスのインスタンスを取得します。
[ public, static ]
SFB3DSmp NewInstance(Void);

SFB3D::PopMatrix
現在のマトリックスをスタックからポップします。
[ public ]
SFCError PopMatrix(Void);

参照

BREW API I3D_PopMatrix


SFB3D::PushMatrix
現在のマトリックスをスタックにプッシュします。
[ public ]
SFCError PushMatrix(Void);

参照

BREW API I3D_PushMatrix


SFB3D::RegisterEventNotify
非同期のI3D 操作について通知する新しいイベント、または、 情報が何かあると必ず呼び出されるイベント コールバック関数を登録します。
[ public ]
SFCError RegisterEventNotify(
    PFN3DEVENTNOTIFY notify   // イベントのアプリケーションを通知するため呼び出すコールバック関数へのポインタ(登録解除の場合はnull)
    VoidPtr data              // 呼び出し時にコールバック関数に渡されるユーザー定義データ
);

参照

BREW API I3D_RegisterEventNotify


SFB3D::RenderTriangleFan
最初の2つの頂点が定義された後に追加の各頂点が新しい三角形を定義するような 三角形扇をレンダリングします。最初の頂点はすべての三角形の一部になります。
[ public ]
SFCError RenderTriangleFan(
    AEE3DTLVertex* vertexArray        // 頂点のリスト
    UInt16ConstPtr vertexIndexArray   // 頂点リストへのインデックスリスト
    UInt32 numOfTriangles             // 三角形の数
    UInt32 numOfVertices              // 頂点の数
);

参照

BREW API I3D_RenderTriangleFan


SFB3D::RenderTriangleStrip
最初の2つの頂点が定義された後に追加の各頂点が新しい三角形を定義するような 三角形片をレンダリングします。
[ public ]
SFCError RenderTriangleStrip(
    AEE3DTLVertex* vertexArray        // 頂点のリスト
    UInt16ConstPtr vertexIndexArray   // 頂点リストへのインデックスのリスト。連続の3 つの頂点が1 つの三角形を定義する
    UInt32 numOfTriangles             // 三角形の数
    UInt32 numOfVertices              // 頂点の数
);

参照

BREW API I3D_RenderTriangleStrip


SFB3D::RenderTriangles
1 つまたは複数の三角形をレンダリングします。
[ public ]
SFCError RenderTriangles(
    AEE3DTLVertex* vertexArray        // 頂点のリスト
    UInt16ConstPtr vertexIndexArray   // 頂点リストへのインデックスのリスト。連続の 3 つの頂点が 1 つの三角形を定義する
    UInt32 numOfTriangles             // 三角形の数
    UInt32 numOfVertices              // 頂点の数
);

参照

BREW API I3D_RenderTriangles


SFB3D::ResetZBuf
Z バッファを最高の深度値(16 ビットの z バッファでは 65535)にリセットします。
[ public ]
Void ResetZBuf(Void);

参照

BREW API I3D_ResetZBuf


SFB3D::SetClipRect
クリッピング長方形を設定します。
[ public ]
SFCError SetClipRect(
    SFXRectangleRef rect   // クリッピング長方形へのポインタ
);

解説

クリッピング長方形を設定します。 入力パラメータはすべてピクセル単位です。 このクリッピング長方形の外のオブジェクトはレンダリングされません。 デフォルトでは、クリッピング長方形が全表示領域です。

参照

BREW API I3D_SetClipRect


SFB3D::SetCoordTransformMode
座標変換タイプを設定します。
[ public ]
SFCError SetCoordTransformMode(
    AEE3DCoordinateTransformType type   // 座標変換タイプ
);

解説

座標変換タイプを設定します。これは、三角形をレンダリングする前に どの座標変換を適用するかを示します。デフォルトでは、モデルビュー変換、投影、 およびスクリーンマッピングのすべてが適用されます。

バージョン

この関数は現在 BREW でサポートされていません。

参照

BREW API I3D_SetCoordTransformMode


SFB3D::SetCullingMode
「前向き」または「後向き」のカリングを設定します。
[ public ]
SFCError SetCullingMode(
    AEE3DCullingType facing   // 「前向き」か「後向き」かいずれかの多角形がカリングされる
);

解説

「前向き」または「後向き」のカリングを設定します。 これは、三角形をレンダリングする前にどの三角形を廃棄すべきかを示します。 デフォルトでは、頂点が反時計回り回転で配置された三角形が表示されます。 反時計回りの回転は前向きを表します。時計回りの回転は後向きを表します。

参照

BREW API I3D_SetCullingMode


SFB3D::SetDestination
フレームバッファを設定します。
[ public ]
SFCError SetDestination(
    SFBBitmapSmpConstRef frameBuffer   // 3D グラフィックスのフレームバッファの SFBBitmap インターフェース
);

参照

BREW API I3D_SetDestination


SFB3D::SetFocalLength
焦点距離を設定します。
[ public ]
SFCError SetFocalLength(
    UInt16 length   // 焦点距離(0 <= f < 2^16)
);

解説

焦点距離を設定します。 引数の値の範囲は、z バッファの深度内になります。 f = 0 (デフォルト値) のときは、透視分割は実行されません。

参照

BREW API I3D_SetFocalLength


SFB3D::SetLight
指定されたライトタイプの照明のプロパティを設定します。
[ public ]
SFCError SetLight(
    AEE3DLight* light   // 設定する照明の値
);

参照

BREW API I3D_SetLight


SFB3D::SetLightingMode
照明モードを設定します。 このモードは、レンダリング用にどの照明が使用可能かを示します。
[ public ]
SFCError SetLightingMode(
    AEE3DLightingMode mode   // 照明モード
);

参照

BREW API I3D_SetLightingMode


SFB3D::SetMaterial
現在の素材のプロパティを設定します。
[ public ]
SFCError SetMaterial(
    AEE3DMaterial* material   // 素材へのポインタ
);

参照

BREW API I3D_SetMaterial


SFB3D::SetModelViewTransform
固定小数点の変換マトリックスを設定します。
[ public ]
SFCError SetModelViewTransform(
    AEE3DTransformMatrix* matrix   // モデルビュー変換マトリックスへのポインタ
);

解説

固定小数点の変換マトリックスを設定します。 入力マトリックスは正しい Q 係数を持つと仮定されます。 これは、グラフィックス コンテキスト構造体の ModelViewTransform マトリックスにコピーされます。 入力範囲はチェックされません。

参照

BREW API I3D_SetModelViewTransform


SFB3D::SetRenderMode
レンダリングタイプを設定します。これは、三角形をどのように色または テクスチャピクセルで塗りつぶすかを決定します。
[ public ]
SFCError SetRenderMode(
    AEE3DRenderType type   // レンダリングタイプ
);

解説

レンダリングタイプを設定します。これは、三角形をどのように色または テクスチャピクセルで塗りつぶすかを決定します。 デフォルトでは、三角形は単色でシェーディング(フラットシェーディング)されます。

参照

BREW API I3D_SetRenderMode


SFB3D::SetScreenMapping
固定小数点の画面マッピングマトリックスを設定します。
[ public ]
SFCError SetScreenMapping(
    SInt32 sx      // Q12 形式での X スケーリング(単位= 4096)
    SInt32 sy      // Q12 形式での Y スケーリング(単位= 4096)
    SInt32 shftx   // X シフト(ピクセル数)
    SInt32 shfty   // Y シフト(ピクセル数)
);

解説

固定小数点の画面マッピングマトリックスを設定します。 入力のスケーリング部分はQ12 固定小数点形式です。 シフト部分はピクセル単位です。入力範囲はチェックされません。

参照

BREW API I3D_SetScreenMapping


SFB3D::SetTexture
3D レンダリングに使用するテクスチャを設定します。
[ public ]
SFCError SetTexture(
    AEE3DTexture* texture   // テクスチャオブジェクトへのポインタ
);

解説

3D レンダリングに使用するテクスチャを設定します。 引数に null を指定しますと、対応するテクスチャ画像が使用されないことを表します。 デフォルトでは、テクスチャは null に初期設定されます。

参照

BREW API I3D_SetTexture


SFB3D::SetViewDepth
グラフィックスコンテキストに使用するビュー深度を設定します。 このビュー深度の外のオブジェクトはレンダリングされません。
[ public ]
SFCError SetViewDepth(
    UInt16 nearView   // 近いビュー面(0 <= z0 < z1)
    UInt16 farView    // 遠いビュー面(z0 < z1 < 2^16)
);

解説

デフォルトのビュー深度は、z バッファの全範囲(0〜65535)です。

参照

BREW API I3D_SetViewDepth


SFB3D::StartFrame
3D グラフィックス エンジンに、 現在のフレームの処理とレンダリングを開始するよう指示します。 この関数はブロックせずに、非同期で動作します。
[ public ]
SFCError StartFrame(Void);

参照

BREW API I3D_StartFrame


SFB3D::UnregisterEventNotify
イベントコールバック関数を登録解除します。
[ public ]
SFCError UnregisterEventNotify(Void);

解説

この関数の呼び出しは、 SFB3D::RegisterEventNotify の第2引数に null を指定して呼び出すことと同じです。

参照

SFB3D::RegisterEventNotify