CrossFramework Library

XG3D/Renderer.hpp

説明を見る。
00001 
00006 #if defined(XG3D_INCLUDED_RENDERER_HPP)
00007 #else
00008 #define XG3D_INCLUDED_RENDERER_HPP
00009 
00010 //------------------------------------------------------------
00011 #include <XBase/Color4.hpp>
00012 #include <XBase/NonCopyable.hpp>
00013 #include <XG3D/BuiltInTypes.hpp>
00014 #include <XG3D/Engine.hpp>
00015 #include <XG3D/TexId.hpp>
00016 
00017 #if defined(XG3D_ENGINE_GLSERIES)
00018     #include <XG3D/Renderer_GL.hpp>
00019 #endif
00020 
00021 //------------------------------------------------------------
00022 namespace XBase {
00023     class Display;
00024     class Screen;
00025     struct Matrix34POD;
00026     struct Matrix44POD;
00027 }
00028 namespace XG3D {
00029     class TexSetting;
00030 }
00031 
00032 //------------------------------------------------------------
00033 namespace XG3D {
00035 
00036 
00039     class Renderer : public ::XBase::NonCopyable
00040     {
00041     public:
00043 
00044         static Renderer& Instance();
00046 
00048 
00049         Renderer( ::XBase::Display& aSampleDisplay );
00050         ~Renderer();
00052         
00054 
00055 
00056         void reset();
00058 
00060 
00061         void fbClear(); 
00062         void fbSetClearColor( const ::XBase::Color4POD& aColor ); 
00063         void fbSetClearDepth( float aDepth ); 
00064         void fbSetColorUpdate( bool aIsEnable ); 
00065         void fbSetDepthUpdate( bool aIsEnable ); 
00066         // void fbSetDepthCompare( DepthCompare );  ///< 深度比較の式を設定する。初期値 DepthCompare_Always 。
00067         void fbSetViewport( uint aBaseX , uint aBaseY , uint aWidth , uint aHeight ); 
00068 
00069 
00071 
00072         void sdSetMtxProjection( const ::XBase::Matrix44POD& ); 
00073         void sdSetMtxModelView( const ::XBase::Matrix34POD& );  
00074         void sdSetTex( TexId , const TexSetting& ); 
00075 
00076 
00078 
00079         void waitDrawDone(); 
00080 
00081 
00083 
00084         void copyToDisplay( ::XBase::Display& ); 
00085         void copyToScreen( ::XBase::Screen& );   
00086 
00087 
00088     private:
00089         ::XBase::Display& mDisplay;
00090         Renderer_EXT mEXT;
00091     };
00092 
00094 }
00095 //------------------------------------------------------------
00096 #endif
00097 // EOF
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義