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