引言:
本人在开发过程中经常使用第三方改写的界面类,添加这些类以后,整个工程结构比较复杂,给维护增加了难度,所以一直想把这些第三方的类封装起来,生成一个静态连接库,这样,在工程中就少了很多文件,整个工程结构变得比较清晰,在网上查找了一些资料,又研究了CJlibrary的源代码,终于实现了自己的目的,下...
摘要:
目 录
general
direct3d
directsound
directplay
本文对与microsoft directx 8.0版有关的常见开发问题进行解答,其中包括有关direct3d、directsound及directplay的章节。
1、一般性directx开发事宜
问:我在试图编译示例时,为何得到那么多错误消息?
答:您可能没有将 inclu......
摘要:
语言基础
现在你已经对什么是hlsl顶点和像素着色器以及他们如何与低层汇编着色器相互作用有了了解,我们将讨论一些语言本身的细节。
关键字
关键字是hlsl语言保留的预定义标识符,不能在你的程序中作为标识符使用。标有*的关键字不区分大小写。
表2. hlsl语言所保留的关键字
asm*......
使用“win32 static library”封装类的内部实现
本人在开发过程中经常使用第三方改写的界面类,添加这些类以后,整个工程结构比较复杂,给维护增加了难度,所以一直想把这些第三方的类封装起来,生成一个静态连接库,这样,在工程中就少了很多文件,整个工程结构变得比较清晰,在网上查找了一些资料,又研究了cjlibrary的源代码,终于实现了自己的目的,下面就是一个例子的实现过程.
例子目的要把一个clistctrl改写的继承类cxlistctrl封装起来; 【程序编程相关:
如何成功的在MSVC6下编译PWLIB1】 【推荐阅读:
Secrets in ShlWapi.D】 第一步,创建一个空的“win32 static library”工程; 【扩展信息:
第二章 接口】 创建lib库 第二步,添加文件,选择菜单“project”->“add to project”->“files”,选择cxlistctrl.cpp与cxlistctrl.h文件,添加到工程中,修改cxlistctrl.h的类定义,把class cxlistctrl : public clistctrl修改为class afx_class_export cxlistctrl : public clistctrl; 第三步,然后新建一个头文件stdafx.h,把cxlistctrl类需要的mfc头文件加入到stdafx.h中,本例stdafx.h文件内容如下, #define vc_extralean // exclude rarely-used stuff from windows headers...
下一页 摘要:
强制类型转换
为了有助于着色器的编写和所产生代码的效率,最好熟悉一下hlsl的强制类型转换机制。强制类型转换常用于扩展或缩减选定的变量以匹配要赋值的变量。例如,在下列例子中,初始化vresult时把float型常量0.0f强制转换为float4型{0.0f , 0.0f , 0.0f , 0.0f }。float4 vresult = 0.0f;
当把一个高维数据类型如向量或矩阵......