- 博客(89)
- 收藏
- 关注
原创 node.js addon osg binding 2
使用node.js 作本地的应用. osg 的js 绑定. 本地应用显然不能发挥node.js的优势.于是又研读了node.js beginner guide 在其基础上通过http协议调用启动osg.js应用. 即使我编译的是非阻塞应用,但是后台运行的osg视窗只有最新打开打开的可以进行视图操作.之前打开的好像是在一个线程一样不能进行操作. 于是查阅node.js是否能fork处线程未果
2013-08-12 18:59:32
1561
原创 premake source 笔记
premake is build from a c native api + lua binding. and using the lua script as a configure filelua script entry point is the api.lua from the setting of the solution The solution is a conce
2013-08-12 18:47:02
951
原创 nodejs addon binding osg
绑定过webpage 到osg 窗口,我需要一个回调机制对osg 显示进行后台显示. 具体的做法是osg作为一个状态机, 前台web界面向后台发送命令, 消息 .后台接收消息,改变状态.我想架在soket上. 我需要一个网络的服务的状态机.nodejs 正好短小精悍.相对开发比较火热.并且前后台保持开发语言的一致.避免了,开发者在不同语言下切换.v8引擎有全球上亿的人口在做测试.想来也不用
2013-08-11 10:41:17
1947
原创 qt dependant doesn not exist.
问题是这样的,我在 qtcreator 构建的项目中提前一个Dialog到我的另外一个qtcreator 中, 包含qt 的UI和类.h .cpp 文件加入后弹出一个对话框,大概是资源需不需要添加的意思,没有细看,编译的时候产生一个错误.具体如下:WARNING: Failure to find: Icons.qrcWARNING: Failure to find: Icons.qrc
2012-11-23 18:14:08
11906
2
翻译 事件处理方案
http://www.cnblogs.com/yaoyansi/articles/1837679.html http://www.gamedev.net/topic/605016-general-design-of-game-event-system/ 游戏事件系统的一般设计方法问: 我在寻找一种游戏简单的事件系统设计方法指导。我已经利用了观察者/监听者模式来对一个事件队列
2012-10-04 20:06:43
960
原创 单立方体简单的动力学
偶尔搜到网游中的物理作者:Glenn Fiedler译者:trcj原文:http://gafferongames.com/game-physics/networked-physics/这按文章好奇cubic 的物理仿真 代码在上文中已经给出。本文只是对cubic物理仿真分析,和其事件处理 可能作者认为这个是demo所以代代码比较随意,很多全局变量,然后整
2012-10-03 20:12:44
1197
翻译 Opcode features1.3
C++ 接口,使用vc++6.0 开发任意网格(凸or凹),即使是多边形zooAABBtree 实现在递归碰撞查询,引入基元与包络体测试(标准库只是依赖于体元测试或是包络体与包络体测试)引入无叶树,例如碰撞树的叶子结点被移除。支持四叉树。支持首次碰撞和所有的接触模式对首次碰撞引入临时相关模式(在刚体碰撞可以10~20倍的提速)内存使用量比RAPID小7.2倍运行比RAPID快5倍。在临近状态性能接
2012-08-22 14:49:24
758
原创 multi segment
OCC 中样条曲线中的C0 连续点一直没有找到,自己一直想要实现一个类似的C0点,实现的功能很简单,实现C0参数化,给定参数空间knot value 给出是空间的坐标点 经过很长一段时间的思考,提出以下的解决方案:1)构造一个C0连续的multi segment line2)起成员变量为两个, a. 坐标点 b. 坐标点所对应的参数值3)二分法确定值所对应的点
2012-06-12 08:33:20
1143
原创 qt boxes
qt openGL 中有一个关于box的示例直接并不能走通在网上查找原因 // If you didn't add it to the header // The compiler will not find// the perspective view!!!#include "gl/GLU.h"
2012-06-05 15:28:17
1669
1
原创 stl for_each()
在编码中,对于一个个平凡的码农而言,完成任务时最重要的。 然后代码中就充斥这无尽的for。与if中,当耕地之余,发现stl中已经完美的实现了自己的工作,但是stl的一些编码标准与自己的重复性工作是格格不入的。for_each 的使用正是体现了这一点,对于循环内部,functor 将for内部的工作functor化,这点是stl的变成规范,或是神级程序员的要求。
2012-05-28 09:44:47
517
原创 Opcode OPC_MeshInterface
udword MeshInterface::CheckTopology() const{ // Check topology. If the model contains degenerate faces, collision report can be wrong in some cases. // e.g. it happens with the standard MAX teapot.
2012-05-04 12:10:23
698
原创 Opcode 三角索引结构
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2012-05-03 10:12:55
650
原创 Openmesh 的遍历数据结构与逻辑处理代码的分离
使用Openmesh的时候会出现搜索结构,有时候一些逻辑代码直接在搜索结构中处理,这样做的理由很简单,因为效率,但是代码模块分离很困难。甚至是不可能,所以在考虑,将搜寻的结构与处理代码分析,这就需要包装一些搜索结构,和进行搜索结构的缓存。牺牲效率来增进代码的可读性,更重要的是保证代码的可扩展性。
2012-04-28 10:41:57
1748
原创 vs2010 debug 与 release enum 差别
忙起来就不顾规范,只是一味的求快。写下如下代码:enum FooState{ FOOONMOUNTAIN, FOOONPLANET, //FOONOWHERE,};enum FooState queryFooLocation(){ if (...) { return FOOONMOUNTAIN; } if (...) { return FOOONPLANE
2012-04-28 10:35:58
2444
转载 OCC Bspline 2
// File: BSplCLib_3.cxx// Created: Fri May 19 18:33:07 1995// Author: Xavier BENVENISTE// #include #include // BSpline Curve in 3d space// ***************************#define No_Standard_Ra
2012-04-24 16:51:26
1338
原创 OpenCascade BSpline Curve
//=======================================================================//function : LocalValue//purpose : //=======================================================================gp_Pnt Geom_B
2012-04-24 11:05:14
1561
原创 关于dynamic_cast
今天请教同事, 对于dynamic_cast 有了深入了解。 因为b1 已经在栈上已经初始化好了,所以b1并不一定和DrivedBaseClass相关所以编译器直接报错! void foo(BaseClass &b1){... b1 = drivedclassobjec;...};
2012-04-23 20:39:33
434
原创 Openmesh handle 转换
Openmesh中虽然VertexHandle,HalfedgeHandle...... 都是继承与BaseHandle但是用来进行dynamic cast 就违背了作者的初衷。因为作者overwrite了operator =所以我们就可以为所欲为的 为衍生类向基类= 即使是Openmesh的Handle继承体对默认构造函数说不!--explicti所以我们可以对 衍生类进
2012-04-23 20:32:18
2356
原创 Openmesh halfedge find vertex
placeholder没有充分理解iterator 的妙处,还狂找halfedge 的dereference!halfedge connectivity. // --- halfedge connectivity --- VertexHandle to_vertex_handle(HalfedgeHandle _heh) const { return halfedge(_he
2012-04-21 21:51:12
1990
1
原创 Openmesh ~ Status
原来一直纠结于状态的参数操作,位操作一只缠绕在心中,在看openmesh Status.hh源代码时,发现enum和Status可以完成以下bool操作,一句话方便#include //== NAMESPACES ===============================================================namespace OpenMesh {
2012-04-21 09:56:05
1179
原创 OpenMesh ~ ArrayItems
Openmesh 最基本的应该属于它的halfedge 结构。具体可以看一些理论的材料。这里:Halfedge theory下面把Openmesh关于内部结构的代码贴出来:namespace OpenMesh {//== CLASS DEFINITION =========================================================//
2012-04-21 09:30:01
1065
原创 LayerManager 之渲染
LayerManager 渲染:1渲染是从Layer开始:逐层传递 void LayerManager::renderToTarget(IRenderTarget* _target, bool _update) { for (VectorLayer::iterator iter=mLayerNodes.begin(); iter!=mLayerNodes.end(); ++ite
2012-03-21 12:27:44
963
原创 DirectXRenderManager 渲染机制
从类结构上看其继承与RenderManager和IRenderTarget架构上设计来说,这点事为了敞开接口,与硬件实现分离,通过C++的多态机制来实现接口分离的作用! void DirectXRenderManager::drawOneFrame() { static Timer timer; //static variable first initialized //it
2012-03-20 20:17:30
1696
原创 BaseManager
void BaseManager::run() { MSG msg; while (true) { while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } if (mExit) break;
2012-03-20 19:23:40
1611
原创 InputManager inject Mouse Move 事件
前面几篇主要介绍了MyGUI类的静态关系,还有一些粗糙的分析。先看下关于Widget关于Inputmanager注入鼠标移动事件时一些列流程。 bool InputManager::injectMouseMove(int _absx, int _absy, int _absz) { // запоминаем позицию mMousePosition.set(_absx,
2012-03-20 18:22:07
1754
原创 InputManager 哈哈要的就是你!
InputManager中主要对事件进行了分配,将事件分配到Widget, Layer 等等,有意思,这将成为一个重要转折点!下面分析其成员变量和成员函数:其中反选的是一个模态窗口。
2012-03-20 11:37:46
746
原创 ILayerNOde 功能
ILayerNOde 功能 ILayerItem* LayerNode::getLayerItemByPoint(int _left, int _top) { // сначала пикаем детей for (VectorILayerNode::iterator iter = mChildItems.begin(); iter!=mChildItems.end(); ++it
2012-03-17 20:24:52
747
原创 ILayer
层在MyGUI 是一个容器,层的组织是什么样的,它究竟包含哪些东西?按照接口的定义而言,借口只是纯虚函数的组合,没有member varible ILayer() { } virtual ~ILayer() { } // 铁路的名称,不明白google为何这样翻译,应该是层名吧? const std::string& getName() const { return
2012-03-17 19:55:18
2955
翻译 MyGUI 功能与架构
在3.2.0发现了一个好消息,MyGUI终于传出架构文档。坏消息是文档是俄文的。恨得我想学俄语。不过幸好有goolge翻译,决定结合源代码将文档啃出来。友情支持,google翻译:******************************************************************************************************
2012-03-17 12:51:16
11741
1
原创 ResourceManager
ResourceManager 继承与ResourceHolder这难道就是传说中的模板偏特化?偏特化的IResource
2012-03-15 12:55:27
1107
原创 MyGUI super boss Gui
照例列出其五脏六腑:member function:f因为所有的Gui 涉及动态加载的xml文件的都回与打交道 所以继续之前的分析:ResourceManager
2012-03-15 12:54:13
1194
原创 IUnlinkWidget
namespace MyGUI{ class MYGUI_EXPORT IUnlinkWidget { public: virtual ~IUnlinkWidget() { } virtual void _unlinkWidget(Widget* _widget) = 0; }; typedef std::vector VectorIUnlinkWidget;} //
2012-03-15 11:20:09
602
原创 MyGUI 3.2.0 出炉了
其实3.2.0 已经在MyGUI的路线图上了。俄国人做事儿真的很认真!估计以后要找一个会俄语的朋友来理解注释了。虽然google差强人意。MyGUI 对软件架构做了重新的组织,最明显的是添加了一个Singlton的一个基类成为所有的Manger的父类,让Manager精简了许多。但是我的着手点还是从3.0.1,系统的了解UI的一套机制,前天看到论坛行有些
2012-03-15 10:36:54
1612
1
原创 IUnlinkWidget
这个类至今还没有搞清楚作用:通过分析WidgetManger的成员变量:mVectorIUnlinkWidget引出的:给出其子类:子类是一些Manger类,初步推测IUnlinkWidget是涉及Manager类与employer之间交互,
2012-03-15 10:23:56
808
2
原创 WidgetManager
照例列出WidgetManager的全部家当:mDelegates 用来存储parse XML的delegate重头在于mFactoryList obsoletemVectorIUnlinkWidgetmUnlinkWidgets这里只是大战前的猜测:mFactoryList 中存放的是IWidgetFactory重点分析:引入代码:
2012-03-14 20:57:30
2113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人