![]() |
Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
DirectXのレンダラー基本クラス
#include <SprGRSdkD3D.h>

Public メソッド | |
| SPR_IFDEF (GRDeviceD3D) | |
| virtual void | SetConfirmDeviceFunc (GRDeviceD3DConfirmDeviceFunc func)=0 |
| virtual void | AddLostDeviceListener (GRDeviceD3DListenerFunc func)=0 |
| virtual void | AddResetDeviceListener (GRDeviceD3DListenerFunc func)=0 |
| virtual void | ToggleFullScreen ()=0 |
| virtual bool | IsFullScreen ()=0 |
Public メソッド inherited from GRDeviceIf | |
| SPR_IFDEF (GRDevice) | |
| void | Init () |
| 初期化 | |
| void | Print (std::ostream &os) const |
| デバッグ用の状態レポート | |
Public メソッド inherited from GRRenderBaseIf | |
| SPR_IFDEF (GRRenderBase) | |
| void | SetViewport (Vec2f pos, Vec2f sz) |
| ビューポートの設定 | |
| Vec2f | GetViewportPos () |
| ビューポートの基点座標の取得 | |
| Vec2f | GetViewportSize () |
| ビューポートのサイズの取得 | |
| void | ClearBuffer (bool color=true, bool depth=true) |
| バッファクリア [詳細] | |
| void | SwapBuffers () |
| バッファの入れ替え(表示) | |
| void | GetClearColor (Vec4f &color) |
| 背景色の取得 | |
| void | SetClearColor (const Vec4f &color) |
| 背景色の設定 | |
| void | BeginScene () |
| レンダリングの開始前に呼ぶ関数 | |
| void | EndScene () |
| レンダリングの終了後に呼ぶ関数 | |
| void | SetViewMatrix (const Affinef &afv) |
| カレントの視点行列をafvで置き換える | |
| void | GetViewMatrix (Affinef &afv) |
| カレントの視点行列を取得する | |
| void | SetProjectionMatrix (const Affinef &afp) |
| カレントの投影行列をafpで置き換える | |
| void | GetProjectionMatrix (Affinef &afp) |
| カレントの投影行列を取得する | |
| void | PushProjectionMatrix () |
| void | PopProjectionMatrix () |
| void | SetModelMatrix (const Affinef &afw) |
| カレントのモデル行列をafwで置き換える | |
| void | GetModelMatrix (Affinef &afw) |
| カレントのモデル行列を取得する | |
| void | MultModelMatrix (const Affinef &afw) |
| カレントのモデル行列に対してafwを掛ける | |
| void | PushModelMatrix () |
| カレントのモデル行列をモデル行列スタックへ保存する | |
| void | PopModelMatrix () |
| モデル行列スタックから取り出し、カレントのモデル行列とする | |
| void | ClearBlendMatrix () |
| ブレンド変換行列の全要素を削除する | |
| void | SetBlendMatrix (const Affinef &afb, unsigned int id=0) |
| ブレンド変換行列を設定する | |
| void | SetVertexFormat (const GRVertexElement *e) |
| 頂点フォーマットの指定 | |
| void | DrawDirect (GRRenderBaseIf::TPrimitiveType ty, void *vtx, size_t count, size_t stride=0) |
| 頂点シェーダーの指定 API化候補.引数など要検討 2006.6.7 hase [詳細] | |
| void | DrawIndexed (GRRenderBaseIf::TPrimitiveType ty, GLuint *idx, void *vtx, size_t count, size_t stride=0) |
| 頂点とインデックスを指定してプリミティブを描画 | |
| void | DrawArrays (GRRenderBaseIf::TPrimitiveType ty, GRVertexArray *arrays, size_t count) |
| 頂点の成分ごとの配列を指定して,プリミティブを描画 | |
| void | DrawArrays (GRRenderBaseIf::TPrimitiveType ty, size_t *idx, GRVertexArray *arrays, size_t count) |
| インデックスと頂点の成分ごとの配列を指定して,プリミティブを描画 | |
| void | DrawPoint (Vec3f p) |
| 点を描画 | |
| void | DrawLine (Vec3f p0, Vec3f p1) |
| 線分を描画 | |
| void | DrawSpline (Vec3f p0, Vec3f v0, Vec3f p1, Vec3f v1, int ndiv=12) |
| スプライン曲線を描画 [詳細] | |
| void | DrawArrow (Vec3f p0, Vec3f p1, float rbar, float rhead, float lhead, int slice, bool solid) |
| 矢印を描画 | |
| void | DrawBox (float sx, float sy, float sz, bool solid=true) |
| 直方体を描画 | |
| void | DrawSphere (float radius, int slices, int stacks, bool solid=true) |
| 球体を描画 | |
| void | DrawEllipsoid (Vec3f radius, int slices, int stacks, bool solid=true) |
| 楕円体を描画 | |
| void | DrawCone (float radius, float height, int slice, bool solid=true) |
| 円錐の描画 | |
| void | DrawCylinder (float radius, float height, int slice, bool solid=true, bool cap=true) |
| 円筒の描画 | |
| void | DrawDisk (float radius, int slice, bool solid=true) |
| 円板の描画 | |
| void | DrawCapsule (float radius, float height, int slice=20, bool solid=true) |
| カプセルの描画 | |
| void | DrawRoundCone (float rbottom, float rtop, float height, int slice=20, bool solid=true) |
| 球円錐の描画 | |
| void | DrawGrid (float size, int slice, float lineWidth=1.0f) |
| グリッドを描画 [詳細] | |
| void | DrawCurve (const Curve3f &curve) |
| 曲線を描画 [詳細] | |
| int | StartList () |
| ディスプレイリストの作成(記録開始) | |
| void | EndList () |
| ディスプレイリストの終了(記録終了) | |
| void | DrawList (int i) |
| ディスプレイリストの描画 | |
| void | ReleaseList (int i) |
| ディスプレイリストの解放 | |
| void | SetFont (const GRFont &font) |
| フォントの設定(Windows限定) [詳細] | |
| void | DrawFont (Vec2f pos, const std::string str) |
| 2次元テキストの描画 | |
| void | DrawFont (Vec3f pos, const std::string str) |
| 3次元テキストの描画 [詳細] | |
| void | SetMaterial (const GRMaterialDesc &mat) |
| 描画マテリアルの設定(デスクリプタ版) | |
| void | SetMaterial (const GRMaterialIf *mat) |
| 描画マテリアルの設定(オブジェクト版) | |
| void | SetMaterial (int matname) |
| 描画マテリアルの設定(予約マテリアルの名前で指定) | |
| void | SetMaterial (int matname, float alpha) |
| 描画マテリアルの設定(予約マテリアルの名前とアルファ値で指定) | |
| void | SetPointSize (float sz, bool smooth=false) |
| 描画する点の大きさの設定 [詳細] | |
| void | SetLineWidth (float w, bool smooth=false) |
| 描画する線の太さの設定 [詳細] | |
| void | PushLight (const GRLightDesc &light) |
| 光源スタックをPush | |
| void | PushLight (const GRLightIf *light) |
| void | PopLight () |
| 光源スタックをPop | |
| int | NLights () |
| 設定されている光源の数 | |
| void | SetDepthWrite (bool b) |
| デプスバッファへの書き込みを許可/禁止する | |
| void | SetDepthTest (bool b) |
| デプステストを有効/無効にする | |
| void | SetDepthFunc (GRRenderBaseIf::TDepthFunc f) |
| デプスバッファ法に用いる判定条件を指定する | |
| void | SetAlphaTest (bool b) |
| アルファブレンディングを有効/無効にする | |
| void | SetAlphaMode (GRRenderBaseIf::TBlendFunc src, GRRenderBaseIf::TBlendFunc dest) |
| アルファブレンディングのモード設定(SRCの混合係数, DEST混合係数) | |
| void | SetLighting (bool l) |
| シェーディングON(glMaterial) or OFF(glColor) | |
| void | SetTexture2D (bool b) |
| テクスチャマッピングを有効/無効にする | |
| void | SetTexture3D (bool b) |
| unsigned int | LoadTexture (const std::string filename) |
| テクスチャのロード(戻り値:テクスチャID) | |
| void | SetTextureImage (const std::string id, int components, int xsize, int ysize, int format, const char *tb) |
| テクスチャ画像の設定 | |
| void | SetBlending (bool b) |
| 頂点ブレンディングを有効/無効にする | |
| GRShaderIf * | CreateShader (const GRShaderDesc &sd) |
| シェーダの初期化 [詳細] | |
| bool | SetShader (GRShaderIf *shader) |
| シェーダを選択 [詳細] | |
| void | SetShadowLight (const GRShadowLightDesc &sld) |
| シェーダオブジェクトの作成、GRDeviceGL::shaderへの登録(あらかじめShaderFile名を登録しておく必要がある) [詳細] | |
| void | EnterShadowMapGeneration () |
| シャドウマップ生成パスへ切り替え | |
| void | LeaveShadowMapGeneration () |
| シャドウマップ生成パスから通常パスへ戻る | |
Public メソッド inherited from ObjectIf | |
| SPR_IFDEF (Object) | |
| ObjectIf * | GetObjectIf () |
| const ObjectIf * | GetObjectIf () const |
| int | DelRef () const |
| void | Print (std::ostream &os) const |
| デバッグ用の表示。子オブジェクトを含む。 | |
| void | PrintShort (std::ostream &os) const |
| デバッグ用の表示。子オブジェクトを含まない。 | |
| void | DumpObjectR (std::ostream &os, int level=0) const |
| オブジェクトツリーのメモリイメージをダンプ | |
| int | AddRef () |
| int | RefCount () |
| size_t | NChildObject () const |
| 子オブジェクトの数 | |
| ObjectIf * | GetChildObject (size_t pos) |
| 子オブジェクトの取得 | |
| const ObjectIf * | GetChildObject (size_t pos) const |
| bool | AddChildObject (ObjectIf *o) |
| 子オブジェクトの追加.複数のオブジェクトの子オブジェクトとして追加してよい. 例えば,GRFrameはツリーを作るが,全ノードがGRSceneの子でもある. | |
| bool | DelChildObject (ObjectIf *o) |
| 子オブジェクトの削除 | |
| void | Clear () |
| すべての子オブジェクトの削除と、プロパティのクリア | |
| ObjectIf * | CreateObject (const IfInfo *info, const void *desc) |
| オブジェクトを作成し,AddChildObject()を呼ぶ. | |
| template<class T > | |
| ObjectIf * | CreateObject (const T &desc) |
| CreateObjectを呼び出すユーティリティ関数 | |
| const void * | GetDescAddress () const |
| デスクリプタの読み出し(参照版 NULLを返すこともある). これが実装されていなくても,ObjectIf::GetDesc()は実装されていることが多い. | |
| bool | GetDesc (void *desc) const |
| デスクリプタの読み出し(コピー版 失敗する(falseを返す)こともある). ObjectIf::GetDescAddress() が実装されていなくても,こちらは実装されていることがある. | |
| void | SetDesc (const void *desc) |
| デスクリプタの設定 | |
| size_t | GetDescSize () const |
| デスクリプタのサイズ | |
| const void * | GetStateAddress () const |
| 状態の読み出し(参照版 NULLを返すこともある). これが実装されていなくても,ObjectIf::GetState()は実装されていることがある. | |
| bool | GetState (void *state) const |
| 状態の読み出し(コピー版 失敗する(falseを返す)こともある). ObjectIf::GetStateAddress() が実装されていなくても,こちらは実装されていることがある. | |
| void | SetState (const void *state) |
| 状態の設定 | |
| bool | WriteStateR (std::ostream &fout) |
| 状態の書き出し | |
| bool | WriteState (std::string fileName) |
| bool | ReadStateR (std::istream &fin) |
| 状態の読み込み | |
| bool | ReadState (std::string fileName) |
| size_t | GetStateSize () const |
| 状態のサイズ | |
| void | ConstructState (void *m) const |
| メモリブロックを状態型に初期化 | |
| void | DestructState (void *m) const |
| 状態型をメモリブロックに戻す | |
Additional Inherited Members | |
Public 型 inherited from GRRenderBaseIf | |
| enum | TPrimitiveType { POINTS, LINES, LINE_STRIP, LINE_LOOP, TRIANGLES, TRIANGLE_STRIP, TRIANGLE_FAN, QUADS } |
| プリミティブの種類 | |
| enum | TMaterialSample { INDIANRED, LIGHTCORAL, SALMON, DARKSALMON, LIGHTSALMON, RED, CRIMSON, FIREBRICK, DARKRED, PINK, LIGHTPINK, HOTPINK, DEEPPINK, MEDIUMVIOLETRED, PALEVIOLETRED, CORAL, TOMATO, ORANGERED, DARKORANGE, ORANGE, GOLD, YELLOW, LIGHTYELLOW, LEMONCHIFFON, LIGHTGOLDENRODYELLOW, PAPAYAWHIP, MOCCASIN, PEACHPUFF, PALEGOLDENROD, KHAKI, DARKKHAKI, LAVENDER, THISTLE, PLUM, VIOLET, ORCHILD, FUCHSIA, MAGENTA, MEDIUMORCHILD, MEDIUMPURPLE, BLUEVIOLET, DARKVIOLET, DARKORCHILD, DARKMAGENTA, PURPLE, INDIGO, DARKSLATEBLUE, SLATEBLUE, MEDIUMSLATEBLUE, GREENYELLOW, CHARTREUSE, LAWNGREEN, LIME, LIMEGREEN, PALEGREEN, LIGHTGREEN, MEDIUMSPRINGGREEN, SPRINGGREEN, MEDIUMSEAGREEN, SEAGREEN, FORESTGREEN, GREEN, DARKGREEN, YELLOWGREEN, OLIVEDRAB, OLIVE, DARKOLIVEGREEN, MEDIUMAQUAMARINE, DARKSEAGREEN, LIGHTSEAGREEN, DARKCYAN, TEAL, AQUA, CYAN, LIGHTCYAN, PALETURQUOISE, AQUAMARINE, TURQUOISE, MEDIUMTURQUOISE, DARKTURQUOISE, CADETBLUE, STEELBLUE, LIGHTSTEELBLUE, POWDERBLUE, LIGHTBLUE, SKYBLUE, LIGHTSKYBLUE, DEEPSKYBLUE, DODGERBLUE, CORNFLOWERBLUE, ROYALBLUE, BLUE, MEDIUMBLUE, DARKBLUE, NAVY, MIDNIGHTBLUE, CORNSILK, BLANCHEDALMOND, BISQUE, NAVAJOWHITE, WHEAT, BURLYWOOD, TAN, ROSYBROWN, SANDYBROWN, GOLDENROD, DARKGOLDENROD, PERU, CHOCOLATE, SADDLEBROWN, SIENNA, BROWN, MAROON, WHITE, SNOW, HONEYDEW, MINTCREAM, AZURE, ALICEBLUE, GHOSTWHITE, WHITESMOKE, SEASHELL, BEIGE, OLDLACE, FLORALWHITE, IVORY, ANTIQUEWHITE, LINEN, LAVENDERBLUSH, MISTYROSE, GAINSBORO, LIGHTGRAY, SILVER, DARKGRAY, GRAY, DIMGRAY, LIGHTSLATEGRAY, SLATEGRAY, DARKSLATEGRAY, BLACK, MATERIAL_SAMPLE_END } |
| レンダラーで用意してある材質 | |
| enum | TDepthFunc { DF_NEVER, DF_LESS, DF_EQUAL, DF_LEQUAL, DF_GREATER, DF_NOTEQUAL, DF_GEQUAL, DF_ALWAYS } |
| enum | TBlendFunc { BF_ZERO, BF_ONE, BF_SRCCOLOR, BF_INVSRCCOLOR, BF_SRCALPHA, BF_INVSRCALPHA, BF_DESTALPHA, BF_INVDESTALPHA, BF_DESTCOLOR, BF_INVDESTCOLOR, BF_SRCALPHASAT, BF_BOTHINVSRCALPHA, BF_BLENDFACTOR, BF_INVBLENDFACTOR } |