原创 DirectXRenderManager 渲染機制
從類結構上看其繼承與RenderManager和IRenderTarget 架構上設計來說,這點事爲了敞開接口,與硬件實現分離, 通過C++的多態機制來實現接口分離的作用! void DirectXRenderManager::draw
原创 IResource
IResource class hierachy
原创 InputManager 哈哈要的就是你!
InputManager中主要對事件進行了分配, 將事件分配到Widget, Layer 等等,有意思, 這將成爲一個重要轉折點! 下面分析其成員變量和成員函數: 其中反選的是一個模態窗口。
原创 InputManager inject Mouse Move 事件
前面幾篇主要介紹了MyGUI類的靜態關係,還有一些粗糙的分析。 先看下關於Widget關於Inputmanager 注入鼠標移動事件時一些列流程。 bool InputManager::injectMouseMove(int _absx
原创 MyGUI 3.2.0 出爐了
其實3.2.0 已經在MyGUI的路線圖上了。 俄國人做事兒真的很認真! 估計以後要找一個會俄語的朋友來理解註釋了。雖然google差強人意。 MyGUI 對軟件架構做了重新的組織, 最明顯的是添加了一個Singlton的一個基類 成爲
原创 ResourceManager
ResourceManager 繼承與ResourceHolder<IResource> 這難道就是傳說中的模板偏特化? 偏特化的IResource
原创 OpenMesh ~ ArrayItems
Openmesh 最基本的應該屬於它的halfedge 結構。具體可以看一些理論的材料。這裏: Halfedge theory 下面把Openmesh關於內部結構的代碼貼出來: namespace OpenMesh { //== C
原创 ILayerNOde 功能
ILayerNOde 功能 ILayerItem* LayerNode::getLayerItemByPoint(int _left, int _top) { // сначала пикаем детей for (Vect
原创 ILayer
層在MyGUI 是一個容器,層的組織是什麼樣的,它究竟包含哪些東西? 按照接口的定義而言,藉口只是純虛函數的組合,沒有member varible ILayer() { } virtual ~ILayer() { } //
原创 MyGUI super boss Gui
照例列出其五臟六腑: member function: f 因爲所有的Gui 涉及動態加載的xml文件的都回與 打交道 所以繼續之前的分析: ResourceManager 點贊 收藏 分享
原创 WidgetManager
照例列出WidgetManager的全部家當: mDelegates 用來存儲parse XML的delegate 重頭在於 mFactoryList obsolete mVectorIUnlinkWidget mUnlinkWidg
原创 BaseManager
void BaseManager::run() { MSG msg; while (true) { while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
原创 IUnlinkWidget
這個類至今還沒有搞清楚作用: 通過分析WidgetManger的 成員變量:mVectorIUnlinkWidget 引出的: 給出其子類: 子類是一些Manger類,初步推測IUnlinkWidget是涉及Manager類與empl
原创 Openmesh ~ Status
原來一直糾結於狀態的參數操作,位操作一隻纏繞在心中,在看openmesh Status.hh源代碼時,發現enum和Status可以完成以下bool操作,一句話方便 #include <OpenMesh/Core/System/conf
原创 LayerManager 之渲染
LayerManager 渲染: 1渲染是從Layer開始:逐層傳遞 void LayerManager::renderToTarget(IRenderTarget* _target, bool _update) { for (