原创 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 (