2009年9月29日

<@乌龟:>手动实现C语言运行库(1) 堆内存分配,malloc and free

摘要: 最近看到了<程序员的自我修养>这本书, 对书中大部分的底层知识兴趣不算太大,不过对最后的一章,C语言运行库的实现非常的感兴趣,于是就依葫芦画瓢的实现了一下,今天花了一点时间完成了堆内存分配的内容. 就不多说太多了,直接贴贴代码,方便自己和别人日后查询,另外代码中有几处的错误,这里也标明了. 1: //定义的一个Helper结构体,描述一片空间 2: typedef struct _h... 阅读全文

posted @ 2009-09-29 11:33 乌龟_毛驴 阅读(645) 评论(2) 推荐(0) 编辑

2009年9月3日

<@乌龟:>[原创]设计自己的3D图像引擎(4): WuguiEngine 之模型、特效、贴图

摘要: 1. 前言 话说有一段时间没有更新了,这段时间好好玩了一下,也抽空写了一点程序,把八叉树场景管理写了,也优化了一点资源加载的一些内容。之前对DirectX的好些地方还是没有弄清楚,现在对这些地方至少有了更多的了解。发一下今天完成的八叉树场景管理,里面的模型用的是DirectX示例的老虎,这儿看不太清楚--; 今天主要说说我的引擎中的模型,特效,贴图的实现,至少把大概的意思说清楚。如果还有不懂的地方... 阅读全文

posted @ 2009-09-03 12:23 乌龟_毛驴 阅读(2287) 评论(2) 推荐(1) 编辑

2009年8月23日

<@乌龟:>[原创]设计自己的3D图像引擎(3): WuguiEngine 之基础循环的实现

摘要: 1. 实现一个可重用的Windows Class(WEWindow) 下面的内容可能需要你知道一点简单的Windows程序编写的知识, 如果发现看不太懂, 也不用找很多的资料, 只要看看DirectX SDK中附带的Direct3D Turtorial就行了. 窗体的建立主要是有如下的难点: 1) 消息循环中的On Idle的处理函数不太好放. 2) WinMain函数入口处的HInstance需... 阅读全文

posted @ 2009-08-23 17:47 乌龟_毛驴 阅读(1650) 评论(4) 推荐(1) 编辑

<@乌龟:>[原创]设计自己的3D图像引擎(2): WuguiEngine之项目结构组织

摘要: 1. 项目文件夹组织: 本引擎中没有把各个源文件放在不同的文件夹之下,只是使用了VS2008的Filter功能,虚拟的分出了一些文件夹,在项目浏览器中可以比较方便的看到 上面的图片是基本的一个组织情况: Core里面是一些核心的类, 比如说计时器等等 Document里面就是文档了 FX是Shader的代码 Graphics里面是渲染需要的类,里面又有一些文件夹: Effect是Shader的一... 阅读全文

posted @ 2009-08-23 16:47 乌龟_毛驴 阅读(2008) 评论(3) 推荐(1) 编辑

<@乌龟:>[原创]设计自己的3D图像引擎(1): WuguiEngine之开篇的话

摘要: 前言: 研究C++相关的知识有了不少的时间了.最近一段时间开始写自己的继续C++ Direct3D图像引擎-WuguiEngine. 代码也参考了不少的资料. 从引擎的功能上来说,不求能够让大众接受, 不求能够成为一个众多人维护的开源项目(不过源代码是开放的,只是没有太多精力来管理一个项目). 只是我一个在学习过程中的一个简单的项目.同时我在编写的过程中也希望能够多和大家交流, 把我的心得与大家分... 阅读全文

posted @ 2009-08-23 16:26 乌龟_毛驴 阅读(2126) 评论(7) 推荐(1) 编辑

2009年8月20日

<@乌龟:>从c#到c++的一些容易出现的困惑(2)

摘要: 武汉的天气太热了.很早就逼得人起床-_- 上次写了一点从c#到c++容易出现的一些问题, 今天接着写一点, 上一篇文章主要把精力集中在.H文件,命名空间等工程所需要的一些地方,今天主要说一说从语言的角度来说一些类型与c#迥然不同的用法. 1. 枚举类型: c++的枚举类型用法非常的灵活,但是也带来一些很不方便的地方.下面是一段正常的c++的枚举类型的使用: 1: # include <... 阅读全文

posted @ 2009-08-20 08:03 乌龟_毛驴 阅读(2753) 评论(8) 推荐(2) 编辑

2009年8月13日

<@乌龟:>从c#到c++的一些容易出现的困惑(1)

摘要: 0.前言 最近在学习用c++写一下3D引擎(废话一下,叫做WuguiEngine,首先Wugui是我的外号,也是代表这个引擎很粗糙,速度很慢,呵呵.之后等引擎成熟一点我再写写相关的一些文章).这几天写起来感觉c++好多地方和c#区别很大,这里大概写写这两天碰到的一些问题,也许是从c#转c++的时候的一些通病,对c++ OO新手也有一定的帮助. 另外在本文中,多数是将类拆分为.h文件和.cpp文件这... 阅读全文

posted @ 2009-08-13 01:45 乌龟_毛驴 阅读(4543) 评论(26) 推荐(1) 编辑

2009年7月31日

<@乌龟:>Unresolved External Symbol - 关于类的static变量

摘要: 一个简单的程序,实现可以在类的静态Vector<Object*>保存该类的所有实例 Object.H 1: # include <vector> 2: 3: #ifndef _OBJECT_H 4: #define _OBJECT_H _ 5: 6: using namespace std; 7: 8: class Object 9: { 10: public: 11:... 阅读全文

posted @ 2009-07-31 15:48 乌龟_毛驴 阅读(501) 评论(0) 推荐(0) 编辑

<@乌龟:>浅谈STL中自己实现模板函数

摘要: 采用STL来实现模板函数是非常简洁美观的,本文后面的一些内容将对这点进行一些简单的总结和讨论,如果想比较好的理解本文的内容,最好具备函数模板和STL的一些基本知识。 函数模板中最好多用迭代器(Iterators)来作为参数进行传递,迭代器可以简单的认为类似于指向数组的某个元素的指针。原因是这样可以做到非常的通用,比如到底参数是来自vector,list,或者set都是不重要的。首先要知道规范的命名... 阅读全文

posted @ 2009-07-31 00:43 乌龟_毛驴 阅读(510) 评论(0) 推荐(0) 编辑

2009年7月29日

<@乌龟:>高效的使用vector

摘要: C++中的vector(矢量)是一个非常方便的东西,可以实现安全的动态数组,可以实现在数组前后插入删除新的元素。 不过在使用的时候也有很多的学问,不然效率可高不起来,这篇文章我将简单的总结一下如何高效的使用矢量。 首先矢量不存储你的对象,而是存储对象的副本,也就是说:每次将对象加入到矢量中去,并不是真正将对象放入矢量中,而是通过复制构造函数或者赋值操作符将对象复制一个放在矢量中。类似的,当你需要从... 阅读全文

posted @ 2009-07-29 23:35 乌龟_毛驴 阅读(347) 评论(0) 推荐(0) 编辑

<@乌龟:>stringstream使用总结

摘要: 今天看了看c++ cookbook,看到了一个很有用的东西,stringstream,可以很方便的完成连接字符串,进制转换,格式控制等工作.位于sstream.h中# include <iostream># include <iomanip># include <string># include <sstream>using namespace st... 阅读全文

posted @ 2009-07-29 17:51 乌龟_毛驴 阅读(2271) 评论(0) 推荐(0) 编辑

<@乌龟:>C++/CLI语言Specification阅读笔记(2)

摘要: 本笔记主要包含以下的内容: 1.空指针nullptr2.自动内存管理(GC)3.托管4.标准的属性5.带序列的属性(数组式的访问方法)1.空指针nullptr[代码]2.自动内存管理[代码]3.委托类型 [代码]4.标准的属性[代码]5.带序列的属性[代码] 阅读全文

posted @ 2009-07-29 16:54 乌龟_毛驴 阅读(252) 评论(0) 推荐(0) 编辑

<@乌龟:>C++/CLI语言Specification阅读笔记(1)

摘要: 本笔记主要包含以下的内容: 1.如何在VC++2005或者2008中打开CLR支持2.一个简单的Hello World程序3.引用类型与值类型4.常见CLI类型的定义5.CLI中的数组(CLI::array)6.统一类型的系统(System Unification)1.如何在VC++2005或者2008中打开CLR支持 在当前的解决方案浏览器中选择解决方案,按右键,选择Property,在弹出的... 阅读全文

posted @ 2009-07-29 16:34 乌龟_毛驴 阅读(476) 评论(3) 推荐(0) 编辑

<@乌龟:>VC++2005以上使用.Net的方法

摘要: 在VC++中想使用.Net(CLI)的一些内容目前的中文的资料比较少.比如在VC++中怎么调用.Net的一些函数,托管类等等如果用习惯了c#,再写c++感觉还是有种种的不习惯的地方,如果能够调用.Net的内容,能够使得开发的速度大大增加,也能够使得c#的程序员能够顺利的转换到c++之中.之后的一些时间我将会陆续的更新一些这方面的心得.附件为c++/CLI的一份Specification.这也将是我... 阅读全文

posted @ 2009-07-29 00:41 乌龟_毛驴 阅读(309) 评论(2) 推荐(0) 编辑

2009年3月12日

<@乌龟:>关于DXSAS的总结(我在GameRes上的提问)

摘要: leftnoteasy:请教一下各位大大关于Shader的RenderToTarget的问题我看到很多Post-Screen的程序都是使用了RenderToTarget,我也使用过这种方法但是我觉得这样有点麻烦,主要是如果要用的话,就需要在程序中反复的调用RenderToTarget,而且要在cpp文件中设置很多的参数,这样使得cpp文件改动起来挺麻烦的,我目前觉得使用FX Composer 2.... 阅读全文

posted @ 2009-03-12 09:16 乌龟_毛驴 阅读(10480) 评论(4) 推荐(0) 编辑

<@乌龟:>Shader学习心得(2):FX的功能之Insert Snippets,以及贴图的shader实现

摘要: 以下的教程由乌龟和毛驴的技术小屋原创,转载请注明原始文章出处,并保留这段话,请勿侵权.Shader学习心得二:FX的功能之Insert Snippets,以及贴图:2.1 为我们的shader增加贴图 Step 1: 在我们的Empty Effect中:float4x4 WorldViewProj : WorldViewProjection;下面一行按右键,选择”Insert Snip... 阅读全文

posted @ 2009-03-12 09:07 乌龟_毛驴 阅读(2298) 评论(2) 推荐(0) 编辑

2009年3月11日

<@乌龟:>Shader学习心得(1):工欲善其事,必先利其器-FX Composer 2.5

摘要: 以下的教程由乌龟和毛驴的技术小屋原创,转载请注明原始文章出处,并保留这段话,请勿侵权. 1.1 序言 以前一直觉得,学习shader最好是在Visual Studio的环境下进行学习,因为这样不仅能够学到DirectX和C++的一些使用方法,而且对于Shader在实际应用时也有好处.结果今天就碰得灰头土脸的. 另外要注明的是,这是乌龟和毛驴的技术小屋的原创教程,如有转帖,请注明出处. 主要参考书... 阅读全文

posted @ 2009-03-11 14:52 乌龟_毛驴 阅读(3382) 评论(6) 推荐(0) 编辑

2009年3月9日

<@乌龟:>第一个可以运行HLSL的DirectX程序

摘要: 之后的一段时间准备学习一下DirectX和Shader相关的文章.  为了能够运行Shader,得先写个小程序.这里我选择了DirectX(其实我个人觉得,如果只是想学习Shader的话,XNA是个不错的选择)  看了几天的文档,重点看了一下DirectX Sample里面的Basic HLSL,可能是微软为了把一些控件集成进去,方便大家观察效果的原因吧,微软使用了DXUT这个框架,对我等c++和... 阅读全文

posted @ 2009-03-09 09:36 乌龟_毛驴 阅读(2572) 评论(4) 推荐(0) 编辑

2009年3月5日

<@乌龟:>VS2008中使用DirectX C++开发的方法

摘要: 网上也有人整理过了,不过我也碰到了一些自己的问题。操作流程:1.首先打开Directx 的 Sample Browser,选择"Tutorial 1: CreateDevice ",选择Install2.选择工程后面有VS2008的项目打开3.在Tools-Options-Project and Solutions-VC++ Directories里面添加DirectX安装目录下的Include到... 阅读全文

posted @ 2009-03-05 10:20 乌龟_毛驴 阅读(4441) 评论(5) 推荐(0) 编辑

2009年2月7日

<@毛驴:>简单的蒙皮动画

摘要: 上一篇翻译的文章,主要讲的是表现刚体运动的骨骼动画。相比之下,刚体的运动要简单得多,因为刚体的运动不涉及到形变。组成模型的网格只是在世界坐标系中平移、旋转或者翻转。而仅仅有刚体的骨骼动画对于3D游戏是远远不够的,所以这里我来分享一下本人学习蒙皮动画的成果。 其实蒙皮动画就是更高级的骨骼动画,一样有Frame,同样有父子关系。Frame中有关联矩阵,它代表的是这个Frame和上一级Frame发生相对... 阅读全文

posted @ 2009-02-07 19:31 乌龟_毛驴 阅读(2846) 评论(5) 推荐(0) 编辑

导航