显示下一条  |  关闭

Happy I.W.W

好看tvb电视->家好月圆

 
 
 
 
 
 

[置顶] KMF官方文档

2008-4-20 14:44:28 阅读222 评论0 202008/04 Apr20

                                                                     作者:happyiww@126.com
一、理论篇
1、KMF的设计概要:主要介绍KMF的哲学、设计理念。

作者  | 2008-4-20 14:44:28 | 阅读(222) |评论(0) | 阅读全文>>

Free Fly

2009-12-4 19:01:53 阅读121 评论0 42009/12 Dec4

  Free Fly

        最近对音乐产生了比较大的兴趣,下载了个电脑弹琴的软件,觉得挺好玩的,特别作个小曲自娱自乐,不过网易博客好像取消了上传原创音乐的功能,所以传不了我自己录的mp3。不过这个对我来说应该是好消息,因为现在我拍子还拿不准,录出来的效果不太好,现在自贴个简谱吧(我只会简谱^_^),歌名就叫《Free Fly》,填词我没感觉,就不填了。
Free Fly - happyiww.popo - Happy I.W.W

作者  | 2009-12-4 19:01:53 | 阅读(121) |评论(0) | 阅读全文>>

plib结构分析之场景元素管理

2009-12-4 18:50:27 阅读170 评论0 42009/12 Dec4

plib结构分析之场景元素管理

    3D引擎最主要的功能是管理3d场景中的元素:放置,移动,元素相互关系判断(选取、遮挡等),粒子运动, 现在我们来看看PLIB的处理方式。
    
1.几何元素的旋转
   在3D世界中物体的运动是通过移动、拉伸、旋转来实现的,这里需要先说明一下旋转相关的几个概念:
   旋转可以用欧拉角来描述(yaw, roll, pitch)(欧拉角的定义请参考专门的资料) ,也可以用四元素来描述。
   欧拉角在实际应用中会对应到4×4旋转矩阵的相乘,它最大的局限是"万向角",角度的线性插值和数值运算的性能,好处是便于理解。四元素表示方式能解决欧拉表示的问题,但是不便于理解(4维空间想象不出来的)。

作者  | 2009-12-4 18:50:27 | 阅读(170) |评论(0) | 阅读全文>>

libnoise结构分析

2009-11-23 19:01:07 阅读183 评论0 232009/11 Nov23

libnoise结构分析
    
    噪声能让3d程序模拟自然材质的纹理变化,也能模拟一些自然现象(云,雾,火焰)的变化。现在我们来
看看最常用的perlin噪声的生成和一个噪声产生/合成库libnoise的实现。

1.perlin噪声简介
  perlin噪声由多个连续受限的coherent noise叠加构成, coherent noise满足以下条件:
   i.相同的输入得到相同的输出
   ii.输入的小变化引起输出的小变化
   iii.输入的大变化引起输出的随机变化
   
  coherent noise的设计思路(设计演变过程):

作者  | 2009-11-23 19:01:07 | 阅读(183) |评论(0) | 阅读全文>>

nedmalloc结构分析

2009-11-17 20:38:06 阅读1378 评论1 172009/11 Nov17

nedmalloc结构分析

    nedmalloc是一个跨平台的高性能多线程内存分配库,很多库都使用它,例如:OGRE.现在我们来看看nedmalloc的实现 (以WIN32部分为例)
    
位操作小技巧;
i.获取最低位的出现位置的掩码;x&(-x)
ii.判断值为2的幂:x & (x-1) == 0
iii.获取从最低的值为1的位开始到左边MSB的掩码: x | (-x)
iv.字节对齐;(x + 2^m) &( 2^m -1)

nedmalloc设计的数据结构和使用方法有几个有趣的地方:
1.从操作系统得到的内存后分了3层,内存块=>简单内存描述结构(数据节点)=>内存数据节点链(面向开发者)
2.内存块处理流程:

作者  | 2009-11-17 20:38:06 | 阅读(1378) |评论(1) | 阅读全文>>

plib结构分析之GUI

2009-10-14 15:09:24 阅读266 评论0 142009/10 Oct14

plib结构分析之GUI

   plib的GUI模块是PUI,它以回调的方式和别的框架协作,它用opengl构建 整个用户界面(目前虽然比较粗糙,但是体现了UI控件实现的基本思路)
 
 PUI可以和多个窗口模块协作,包括:GLUT、FLTK、SDL、PW(plib自带的轻量窗口库)
 在讨论PUI之前,我们先来看看PW的实现,GLUT的结构分析,请看我另外一篇blog。
 
1.PW结构
  PW是MS win32平台的opengl绑定模块,实现非常简单:
  pwInit
    |
  注册PW的窗口类
  WNDCLASS wc
  wc.lpfnWndProc = WndProc -> 窗口过程函数,处理消息回调,后面我们详细看

作者  | 2009-10-14 15:09:24 | 阅读(266) |评论(0) | 阅读全文>>

glut结构分析

2009-10-12 19:16:27 阅读573 评论1 122009/10 Oct12

glut结构分析

    glut是将opengl的渲染功能绑定到"windows"型桌面系统(如MS windows,X windows等)的一个轻量的封装,虽然它不是学习opengl的必要条件,但是它为了解和测试opengl的功能提供了便捷的框架,现在来学习glut的实现。
    
    (以MS Win32为例)
    glut是以c的形式对外提供接口的,一般来说,c接口提供的库都是通过状态(或者"当前目标")来维护数据的设置和访问(例如opengl中一般都是经过"指定矩阵"->"访问数据").
    
1.glut的初始化
   glutInit(&argc, argv); argc, argv就是经典的从命令行传入到main的参数

作者  | 2009-10-12 19:16:27 | 阅读(573) |评论(1) | 阅读全文>>

Plib 结构分析(一)

2009-8-31 15:27:49 阅读197 评论0 312009/08 Aug31

Plib 结构分析(一)

    前段时间看了几个基于OpenGL的开源3d引擎源码, 现在选两个来看看具体的实现结构,先从比较轻量级的Plib入手把,比较完整和细致的引擎请看我另外的blog^_^。
    
    PLib是一个很轻量的基于OpenGL的3D游戏引擎库,但是它包含了一个完整的3D引擎库所需要的所有基本部件(虽然有些有待完善和扩展),例如:声音处理, 对象数据树, 脚本引擎, 图形渲染, UI渲染, 网络接口等。现在我们看看PLib的结构实现。
    
1.PLib基本公用模块
  1.RTTI(基于OO思想的模块设计,都会遇到RTTI的问题,而绝大部分的实现都是用两个宏,一个定义静态变量/函数,

作者  | 2009-8-31 15:27:49 | 阅读(197) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

广东省 广州市

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注