![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0 |
このクラスは 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 から継承)
オブジェクトを単一インタフェースで実装する際に使用します。
|
[ public ] SFCError ApplyModelViewTransform( AEE3DTLVertex* vertex // 3D レンダリング用の頂点構造体 AEE3DPoint* vertexBuf // 一連の頂点 (x,y,z) へのポインタ UInt32 numVertices // 頂点の数 );
BREW API I3D_ApplyModelViewTransform
[ public ] SFCError CalcVertexArrayColor( AEE3DTLVertex* vertexArray // AEETLVertex のリストへのポインタ UInt16Ptr vertexIndexArray // 頂点のインデックスリスト UInt32 numVertices // 頂点の数 AEE3DPoint16* vertexNormal // 頂点法線のリスト AEE3DPrimitiveType primType // pVertexList が参照しているプリミティブのタイプ(つまり、三角形、三角形扇など) );
BREW API I3D_CalcVertexArrayColor
[ public ] SFCError CalcVertexArrayNormal( AEE3DPoint16* vertexNormal // 頂点法線配列へのポインタ UInt16Ptr vertexIndexArray // インデックス頂点配列へのポインタ UInt32 numTriangles // 三角形の数 AEE3DPoint* vertexArray // 頂点の配列へのポインタ AEE3DPrimitiveType primType // 頂点インデックス配列が参照しているプリミティブのタイプ(つまり、三角形、三角形扇など) );
BREW API I3D_CalcVertexArrayNormal
[ public ] SFCError GetClipRect( SFXRectanglePtr rect // クリッピング長方形 );
BREW API I3D_GetClipRect
[ public ] SFCError GetCoordTransformMode( AEE3DCoordinateTransformType* type // 座標変換タイプへのポインタ );
現在、この関数は BREW でサポートされていません。
BREW API I3D_GetCoordTransformMode
[ public ] SFCError GetCullingMode( AEE3DCullingType* facing // カリングタイプへのポインタ );
カリング タイプを取得します。 これは、三角形を画面にマッピングする前に どの三角形を廃棄すべきかを示します。 デフォルトでは、頂点が反時計回り 回転で配置された三角形が表示されます。 反時計回りの向きは前向きを表します。 時計回りの向きは後向きを表します。
BREW API I3D_GetCullingMode
[ public ] SFCError GetDestination( SFBBitmapSmpPtr destBmp // 3D グラフィックスのフレームバッファの SFBBitmap インターフェース );
[ public ] SFBBitmapSmp GetDestination(Void);
BREW API I3D_GetDestination
BREW API I3D_GetFocalLength
[ public ] SFCError GetLight( AEE3DLightType type // 照明タイプ AEE3DLight* light // 素材へのポインタ );
BREW API I3D_GetLight
[ public ] SFCError GetLightingMode( AEE3DLightingMode* mode // 現在の照明モードへのポインタ );
BREW API I3D_GetLightingMode
[ public ] SFCError GetMaterial( AEE3DMaterial* material // 素材へのポインタ );
BREW API I3D_GetMaterial
[ public ] SFCError GetModelViewTransform( AEE3DTransformMatrix* matrix // 変換マトリックスへのポインタ );
固定小数点の変換マトリックスを取得します。 これは、グラフィックスコンテキスト構造体の ModelViewTransform メンバからコピーされます。
BREW API I3D_GetModelViewTransform
[ public ] SFCError GetRenderMode( AEE3DRenderType* type // レンダリングタイプへのポインタ );
BREW API I3D_GetRenderMode
[ public ] SFCError GetScreenMapping( SInt32Ptr sx // Q12 形式での X スケーリングを含むポインタ SInt32Ptr sy // Q12 形式での Y スケーリングを含むポインタ SInt32Ptr shftx // ピクセル数での X シフトを含むポインタ SInt32Ptr shfty // ピクセル数での Y シフトを含むポインタ );
固定小数点の画面マッピングを取得します。 出力のスケーリング部分は Q12 形式です。 移動またはシフト部分はピクセル単位です。
BREW API I3D_GetScreenMapping
[ public ] SFCError GetTexture( AEE3DTexture* texture // グラフィックスコンテキストからのテクスチャを含むポインタ );
BREW API I3D_GetTexture
[ public ] SFCError GetViewDepth( UInt16Ptr nearView // ポインタは、近いビュー面の値(1 <= z0 <= z1)を含む UInt16Ptr farView // ポインタは、遠いビュー面の値(z0 <= z1 < 2^15)を含む );
グラフィックス コンテキストのビュー深度を取得します。 このビュー深度の外のオブジェクトはレンダリングされません。
BREW API I3D_GetViewDepth
[ public, static ] SFB3DSmp NewInstance(Void);
[ public ] SFCError PopMatrix(Void);
BREW API I3D_PopMatrix
[ public ] SFCError PushMatrix(Void);
BREW API I3D_PushMatrix
[ public ] SFCError RegisterEventNotify( PFN3DEVENTNOTIFY notify // イベントのアプリケーションを通知するため呼び出すコールバック関数へのポインタ(登録解除の場合はnull) VoidPtr data // 呼び出し時にコールバック関数に渡されるユーザー定義データ );
BREW API I3D_RegisterEventNotify
[ public ] SFCError RenderTriangleFan( AEE3DTLVertex* vertexArray // 頂点のリスト UInt16ConstPtr vertexIndexArray // 頂点リストへのインデックスリスト UInt32 numOfTriangles // 三角形の数 UInt32 numOfVertices // 頂点の数 );
BREW API I3D_RenderTriangleFan
[ public ] SFCError RenderTriangleStrip( AEE3DTLVertex* vertexArray // 頂点のリスト UInt16ConstPtr vertexIndexArray // 頂点リストへのインデックスのリスト。連続の3 つの頂点が1 つの三角形を定義する UInt32 numOfTriangles // 三角形の数 UInt32 numOfVertices // 頂点の数 );
BREW API I3D_RenderTriangleStrip
[ public ] SFCError RenderTriangles( AEE3DTLVertex* vertexArray // 頂点のリスト UInt16ConstPtr vertexIndexArray // 頂点リストへのインデックスのリスト。連続の 3 つの頂点が 1 つの三角形を定義する UInt32 numOfTriangles // 三角形の数 UInt32 numOfVertices // 頂点の数 );
BREW API I3D_RenderTriangles
[ public ] Void ResetZBuf(Void);
BREW API I3D_ResetZBuf
[ public ] SFCError SetClipRect( SFXRectangleRef rect // クリッピング長方形へのポインタ );
クリッピング長方形を設定します。 入力パラメータはすべてピクセル単位です。 このクリッピング長方形の外のオブジェクトはレンダリングされません。 デフォルトでは、クリッピング長方形が全表示領域です。
BREW API I3D_SetClipRect
[ public ] SFCError SetCoordTransformMode( AEE3DCoordinateTransformType type // 座標変換タイプ );
座標変換タイプを設定します。これは、三角形をレンダリングする前に どの座標変換を適用するかを示します。デフォルトでは、モデルビュー変換、投影、 およびスクリーンマッピングのすべてが適用されます。
この関数は現在 BREW でサポートされていません。
BREW API I3D_SetCoordTransformMode
[ public ] SFCError SetCullingMode( AEE3DCullingType facing // 「前向き」か「後向き」かいずれかの多角形がカリングされる );
「前向き」または「後向き」のカリングを設定します。 これは、三角形をレンダリングする前にどの三角形を廃棄すべきかを示します。 デフォルトでは、頂点が反時計回り回転で配置された三角形が表示されます。 反時計回りの回転は前向きを表します。時計回りの回転は後向きを表します。
BREW API I3D_SetCullingMode
[ public ] SFCError SetDestination( SFBBitmapSmpConstRef frameBuffer // 3D グラフィックスのフレームバッファの SFBBitmap インターフェース );
BREW API I3D_SetDestination
焦点距離を設定します。 引数の値の範囲は、z バッファの深度内になります。 f = 0 (デフォルト値) のときは、透視分割は実行されません。
BREW API I3D_SetFocalLength
[ public ] SFCError SetLight( AEE3DLight* light // 設定する照明の値 );
BREW API I3D_SetLight
[ public ] SFCError SetLightingMode( AEE3DLightingMode mode // 照明モード );
BREW API I3D_SetLightingMode
[ public ] SFCError SetMaterial( AEE3DMaterial* material // 素材へのポインタ );
BREW API I3D_SetMaterial
[ public ] SFCError SetModelViewTransform( AEE3DTransformMatrix* matrix // モデルビュー変換マトリックスへのポインタ );
固定小数点の変換マトリックスを設定します。 入力マトリックスは正しい Q 係数を持つと仮定されます。 これは、グラフィックス コンテキスト構造体の ModelViewTransform マトリックスにコピーされます。 入力範囲はチェックされません。
BREW API I3D_SetModelViewTransform
[ public ] SFCError SetRenderMode( AEE3DRenderType type // レンダリングタイプ );
レンダリングタイプを設定します。これは、三角形をどのように色または テクスチャピクセルで塗りつぶすかを決定します。 デフォルトでは、三角形は単色でシェーディング(フラットシェーディング)されます。
BREW API I3D_SetRenderMode
[ public ] SFCError SetScreenMapping( SInt32 sx // Q12 形式での X スケーリング(単位= 4096) SInt32 sy // Q12 形式での Y スケーリング(単位= 4096) SInt32 shftx // X シフト(ピクセル数) SInt32 shfty // Y シフト(ピクセル数) );
固定小数点の画面マッピングマトリックスを設定します。 入力のスケーリング部分はQ12 固定小数点形式です。 シフト部分はピクセル単位です。入力範囲はチェックされません。
BREW API I3D_SetScreenMapping
[ public ] SFCError SetTexture( AEE3DTexture* texture // テクスチャオブジェクトへのポインタ );
3D レンダリングに使用するテクスチャを設定します。 引数に null を指定しますと、対応するテクスチャ画像が使用されないことを表します。 デフォルトでは、テクスチャは null に初期設定されます。
BREW API I3D_SetTexture
[ public ] SFCError SetViewDepth( UInt16 nearView // 近いビュー面(0 <= z0 < z1) UInt16 farView // 遠いビュー面(z0 < z1 < 2^16) );
デフォルトのビュー深度は、z バッファの全範囲(0〜65535)です。
BREW API I3D_SetViewDepth
[ public ] SFCError StartFrame(Void);
BREW API I3D_StartFrame
[ public ] SFCError UnregisterEventNotify(Void);
この関数の呼び出しは、 SFB3D::RegisterEventNotify の第2引数に null を指定して呼び出すことと同じです。
|
Copyright (C) 2002 - 2009 Sophia Cradle, Inc. All Rights Reserved. |
![]() ![]() ![]()
|