プリミティブの描画発行単位を管理します。
More...
#include <GxPrimitiveManager.h>
|
|
| GxPrimitiveManager (void) |
| デフォルトコンストラクタ
|
|
virtual b32 | initialize (GxAllocator *pAllocator, u32 commandBufferSize, u32 vertexBufferSize, u32 indexBufferSize, RENDER_TYPE type, u32 maxProjection2DId, b32 use32bitIndex=false) |
| 初期化関数
|
|
void | terminate (void) |
| 終了関数
|
|
constexpr | GxClassBase (void) |
| コンストラクタ
|
|
constexpr | GxClassBase (const GxClassBase &base) |
| コピーコンストラクタ
|
|
| ~GxClassBase (void) override |
| デストラクタ
|
|
constexpr | GxClassBaseRoot (void) |
| コンストラクタ
|
|
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| コピーコンストラクタ
|
|
virtual | ~GxClassBaseRoot (void) |
| デストラクタ
|
|
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| 代入演算子
|
|
virtual GxRtti & | getRtti (void) const =0 |
| Rttiの取得
|
|
virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| デフォルトオブジェクトを取得
|
|
GX_FORCE_INLINE b32 | isDefaultObject (void) |
| デフォルトオブジェクト判定
|
|
|
enum class | RENDER_TYPE { _2D
, _3D
, _2D_VIRTUAL
} |
| 描画タイプ More...
|
|
enum class | COMMAND_TYPE {
NOP
, SET_SCREEN_SIZE
, SET_SCISSOR_RECT
, SET_RENDER_TARGET
,
COPY_RENDER_TARGET_TO_TEXTURE
, CLEAR
, LINELIST_2D
, LINESTRIP_2D
,
TRIANGLELIST_2D
, TRIANGLESTRIP_2D
, TRIANGLEFAN_2D
, QUADLIST_2D
,
LINELIST_3D
, LINESTRIP_3D
, TRIANGLELIST_3D
, TRIANGLESTRIP_3D
,
TRIANGLEFAN_3D
, QUADLIST_3D
, CUSTOM_2D
, CUSTOM_3D
,
MAX
} |
| コマンドタイプ More...
|
|
class | GxPrimitiveContext |
|
static constexpr u32 | DRAW_LIST_MAX_VERTEX_NUM = GxMath::VALUE_1K |
| drawXXYYList() 系で確保できる最大頂点数
|
|
GX_ALIGN16_BEGIN struct GxPrimitiveManager::GxCommandDraw | GX_ALIGN16_END |
|
GX_ALIGN16_BEGIN struct GxPrimitiveManager::GxCommandSetScreenSize | GX_ALIGN16_END |
|
GX_ALIGN16_BEGIN struct GxPrimitiveManager::GxCommandSetScissor | GX_ALIGN16_END |
|
GX_ALIGN16_BEGIN struct GxPrimitiveManager::GxCommandSetRenderTarget | GX_ALIGN16_END |
|
GX_ALIGN16_BEGIN struct GxPrimitiveManager::GxCommandCopyRenderTargetToTexture | GX_ALIGN16_END |
|
GX_ALIGN16_BEGIN struct GxPrimitiveManager::GxCommandClear | GX_ALIGN16_END |
|
GX_ALIGN16_BEGIN struct GxPrimitiveManager::GxPacket | GX_ALIGN16_END |
|
|
void | begin (void) |
| パケット収集開始
|
|
constexpr void | end (void) |
| パケット収集完了
|
|
void | beginRender (b32 isSort) |
| 描画開始
|
|
void | render (GxRect *pRect=nullptr) |
| 描画実行
|
|
void | endRender (void) |
| 描画終了
|
|
|
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得
|
|
プリミティブの描画発行単位を管理します。
プリミティブマネージャクラス
◆ COMMAND_TYPE
コマンドタイプ
Enumerator |
---|
NOP | NOP.
|
SET_SCREEN_SIZE | スクリーンサイズ設定
|
SET_SCISSOR_RECT | シザリング矩形設定
|
SET_RENDER_TARGET | レンダーターゲット設定
|
COPY_RENDER_TARGET_TO_TEXTURE | レンダーターゲットをテクスチャにコピー
|
CLEAR | 画面クリア
|
LINELIST_2D | 2Dラインリスト
|
LINESTRIP_2D | 2Dラインストリップ
|
TRIANGLELIST_2D | 2Dトライアングルリスト
|
TRIANGLESTRIP_2D | 2Dトライアングルストリップ
|
TRIANGLEFAN_2D | 2Dトライアングルファン
|
QUADLIST_2D | 2Dクアッドリスト
|
LINELIST_3D | 3Dラインリスト
|
LINESTRIP_3D | 3Dラインストリップ
|
TRIANGLELIST_3D | 3Dトライアングルリスト
|
TRIANGLESTRIP_3D | 3Dトライアングルストリップ
|
TRIANGLEFAN_3D | 3Dトライアングルファン
|
QUADLIST_3D | 3Dクアッドリスト
|
CUSTOM_2D | 2Dカスタム
|
CUSTOM_3D | 3Dカスタム
|
MAX | 定義数
|
◆ RENDER_TYPE
描画タイプ
Enumerator |
---|
_2D | 2D描画
|
_3D | 3D描画
|
_2D_VIRTUAL | 2D仮想解像度描画
|
◆ allocateProjectionMatrix2DId()
u32 GxPrimitiveManager::allocateProjectionMatrix2DId |
( |
void | | ) |
|
2Dプリミティブの射影行列のIDを予約する
2Dプリミティブの射影行列のインデックスを予約
- Returns
- 利用可能なインデックス
◆ beginRender()
void GxPrimitiveManager::beginRender |
( |
b32 | isSort | ) |
|
◆ freeProjectionMatrix2DId()
void GxPrimitiveManager::freeProjectionMatrix2DId |
( |
u32 | projectionId | ) |
|
2Dプリミティブの射影行列のIDを返却する
2Dプリミティブの射影行列のインデックスを返却する
- Parameters
-
projectionId | [in] バッファのインデックス1以上 (0はデフォルトでスクリーンスペース) |
◆ getContext()
コンテキストを取得する
- Parameters
-
- Returns
- コンテキスト
◆ getProjectionMatrix2D()
const GxMatrix44 & GxPrimitiveManager::getProjectionMatrix2D |
( |
u32 | projectionId | ) |
const |
2Dプリミティブの射影行列を取得する
2Dプリミティブの射影行列を取得
- Parameters
-
projectionId | [in] バッファのID0以上 (0はデフォルトでスクリーンスペース) |
- Returns
- 射影行列
◆ initialize()
b32 GxPrimitiveManager::initialize |
( |
GxAllocator * | pAllocator, |
|
|
u32 | commandBufferSize, |
|
|
u32 | vertexBufferSize, |
|
|
u32 | indexBufferSize, |
|
|
RENDER_TYPE | type, |
|
|
u32 | maxProjection2DId, |
|
|
b32 | use32bitIndex = false ) |
|
virtual |
初期化関数
- Parameters
-
pAllocator | [in] アロケータ |
commandBufferSize | [in] コマンドバッファサイズ |
vertexBufferSize | [in] 頂点バッファサイズ |
indexBufferSize | [in] インデックスバッファサイズ |
type | [in] 描画タイプ(2D or 3D) |
maxProjection2DId | [in] 射影行列の最大数 |
use32bitIndex | [in] 32ビットインデックスを使うならtrue |
- Returns
- 成功ならtrue
◆ render()
void GxPrimitiveManager::render |
( |
GxRect * | pRect = nullptr | ) |
|
◆ setCustomShaderCallback()
カスタムシェーダコールバックの設定
- Parameters
-
◆ setDefaultRenderTarget()
Custom 描画でレンダーターゲットが切り替えられた場合、元に戻すため記録しておく。 これが描画先に設定されるわけではない。
◆ setProjectionMatrix2D()
void GxPrimitiveManager::setProjectionMatrix2D |
( |
u32 | projectionId, |
|
|
const GxMatrix44 & | matrix ) |
2Dプリミティブの射影行列を設定する
2Dプリミティブの射影行列を設定
- Parameters
-
projectionId | [in] バッファのID1以上 (0はデフォルトでスクリーンスペース) |
matrix | [in] 射影行列 |
The documentation for this class was generated from the following files: