自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (7)
  • 收藏
  • 关注

原创 教程后续说明

    第一次写教程,果然出现了不少纰漏,这里先谢谢大家的热心指正 :) 本教程中实例的开发环境:VC 6,DirectX SDK (April 2006),DirectX 9c,大家反应的代码编译问题多是DirectX版本问题,可以尝试更新到相应版本或者更改代码,由于DirectX各相近版本差异不大,工作量不会很多,另外请大家注意自己的显卡配置,有可能因为不支持PS导致程序无法运行,我家

2007-02-16 21:20:00 30724

原创 HLSL初级教程-结语,参考资料

结语       至此,HLSL初级内容介绍完毕,相信读者已经对HLSL、着色器、Effect等概念有了比较深入的理解,并且掌握了HLSL编程的基本方法,文章中裁去了对HLSL语法等细节的讨论,相关内容请查阅DirectX文档,教程配套程序源码放在http://bbs.gameres.com/upload/sf_200721615320.rar,读者可自行下载。       希望本教程能够

2007-02-16 14:43:00 33067 2

原创 4.2用Effect实现多纹理化效果

4.2用Effect实现多纹理化效果       前面我们介绍了一个使用像素着色器实现的多纹理化,这里用Effect框架重新给于实现,读者可以比较两者之间的异同,体会Effect框架给我们带来了哪些方面的改善。4.2.1着色器       下面是着色器代码,该代码存储于Effect.txt中,代码中包含了一个顶点着色器和一个像素着色器和一个Effect效果框架。//--------

2007-02-16 14:03:00 31565

原创 4.1Effect代码结构

4.1Effect代码结构       一个Effect效果代码的结构如下:       //effect       technique T0       {           pass P0           {               ...               }       }        technique T1    

2007-02-16 14:00:00 31079

原创 4.HLSL Effect(效果框架)

4.HLSL Effect(效果框架)       进行到这里,读者可能会觉得使用着色器多少有些繁琐,Effect(效果框架)被提出以解决这些问题。作为一种方法,Effect简化了使用着色器的操作;作为一个框架,Effect把顶点着色器和像素着色器有机地组织了起来。 

2007-02-16 13:59:00 31456

原创 3.3应用程序

3.3应用程序       程序中我们首先创建一个四边形,然后使用像素着色器进行纹理混合后对其进行渲染。下面是应用程序代码:…/*********************顶点格式定义*****************/struct CUSTOMVERTEX{       //定点位置坐标       float x,y,z;       //两套纹理坐标;   

2007-02-16 13:58:00 31319

原创 3.2多纹理效果的像素着色器

3.2多纹理效果的像素着色器       下面是像素着色器的代码,该代码存储于ps.txt中,该像素着色器根据输入的两套纹理坐标对对应的纹理贴图进行采样,根据一定比例Scalar混合后输出像素颜色。//全局变量 //存储颜色混合的比例值s,其中//Scalar.x = s//Scalar.y = 1-svector Scalar; //纹理texture T

2007-02-16 13:54:00 31480

原创 3.1多纹理化

3.1多纹理化       简单的说,多纹理化就是使用多个纹理贴图混合后进行渲染,如图3.1,渲染过程中,从纹理1和纹理2中分别采样,得到的颜色值依据一定规则进行组合得到纹理3,这就是多纹理化。图3.1

2007-02-16 13:52:00 30686

原创 3.像素着色器

3.像素着色器       像素着色器是在对每个像素进行光栅化处理期间在图形卡的GPU上执行的程序。(不像顶点着色器,Direct3D不会以软件模拟像素着色器的功能。)它实际上替换了固定功能管线的多纹理化阶段(the multitexturing stage),并赋予我们直接操纵单独的像素和访问每个像素的纹理坐标的能力。这种对像素和纹理坐标的直接访问使我们可以达成各种特效,例如:多纹理化(mu

2007-02-16 13:47:00 31072

原创 继续发布文档

终于找到配置更高支持ps的机器啦,ps的例子运行无误,继续发布文档,谢谢zj MM让我使用她家电脑:D,3Q3Q,嘿嘿

2007-02-16 13:39:00 25504

原创 显卡不支持像素着色器?

    按计划该发出像素着色器ps的内容,无奈家里的电脑配置太低,显卡竟然不支持ps。    家里的显卡型号NVIDIA GetForce4 MX 440,又看到网上某牛人如是说:NVIDIA曾经推出市场上销量最好的GF4 MX440(AGP 8X),它和高端的GF4 Ti的本质区别就是它仅仅支持Vertex Shader顶点渲染,而没有像素渲染的硬件功能…: |    因为程序中的像素着

2007-02-13 18:29:00 26624 1

原创 2.3用顶点着色器实现渐变动画

2.3用顶点着色器实现渐变动画2.3.1渐变动画(Morphing)       Morphing渐变是20世纪90年代出现的一种革命性的计算机图形技术,该技术使得动画序列平滑且易于处理,即使在低档配置的计算机系统上也能正常运行。       渐变是指随时间的变化把一个形状改变为另一个形状。对我们而言,这些形状就是Mesh网格模型。渐变网格模型的处理就是以时间轴为基准,逐渐地改变网格模

2007-02-13 18:00:00 27675 1

原创 2.2顶点声明

2.2顶点声明该小节对顶点声明的描述绝大多数都取自翁云兵的《着色器和效果》,该文对顶点声明的描述是我所见到最详尽最透彻的,这里向作者表示敬意:)到现在为止,我们已经使用自由顶点格式(flexible vertex format,FVF)来描述顶点结构中的各分量。但是,在可编程管线中,我们的顶点数据可以包含比用FVF所能表达的多的多的数据。因此,我们通常使用更具表达性的并且更强有力的顶点声明

2007-02-13 17:41:00 25894

原创 2.1可编程数据流模型

2.1可编程数据流模型DirectX 8.0引入了数据流的概念,可以这样理解数据流(图2.2):图2.2·       一个顶点由n个数据流组成。 ·       一个数据流由m个元素组成。 ·       一个元素是[位置、颜色、法向、纹理坐标]。程序中使用IDirect3DDevice9::SetStreamSource方法把一个顶点缓存绑定到一个设备数据流。 

2007-02-13 17:34:00 25760 3

原创 2.顶点着色器

2.顶点着色器顶点着色器(vertex shader)是一个在显卡的GPU上执行的程序,它替换了固定功能管道(fixed function pipeline)中的变换(transformation)和光照(lighting)阶段(这不是百分之百的正确,因为顶点着色器可以被Direct3D运行时(Direct3D runtime)以软件模拟,如果硬件不支持顶点着色器的话)。图2.1说明了管线中顶

2007-02-13 17:30:00 2072

原创 1.4怎么用HLSL着色器

1.4怎么用HLSL着色器应用程序中对HLSL着色器的使用分为以下步骤:1.       加载(称为编译更为妥当)着色器代码;2.       创建(顶点/像素)着色器;3.       对着色器中的变量进行赋值,完成应用程序和着色器之间的通信。4.       把着色器设定到渲染管道中;本例使用的着色器是一个顶点着色器,因此我们将通过顶点着色器的使用来讲解着色器的使用过程

2007-02-13 17:18:00 2737

原创 1.3怎么写HLSL着色器

1.3怎么写HLSL着色器我们可以直接把HLSL着色器代码作为一长串字符串编写进我们的应用程序源文件中,但是,更加方便和模块化的方法是把着色器的代码从应用程序代码中分离出来。因此,我们将着色器代码单独保存为文本格式,然后在应用程序中使用特定函数将其加载进来。下面是一个完整的HLSL着色器程序代码,我们把它保存在BasicHLSL.txt中。该着色器完成顶点的世界变换、观察变换和投影变幻,并

2007-02-13 17:15:00 3126

原创 1.2什么是HLSL

1.2什么是HLSLDirect8.x中,着色器是通过低级着色汇编语言来编写的,这样的程序更像是汇编式的指令集合,由于其效率低、可读性差、版本限制等缺点,迫切要求出现一门更高级的着色语言。到了Direct3D9,HLSL(High Level Shading Language,高级渲染语言)应运而生了。HLSL的语法非常类似于C和C++,学习起来是很方便的。 

2007-02-13 17:13:00 2422 2

原创 1.1什么是着色器

  1.HLSL入门1.1什么是着色器DirectX使用管道技术(pipeline)进行图形渲染,其构架如下:图1.1 Direct3D Graphics Pipeline之前我们使用管道的步骤如下:1.       设定顶点、图元、纹理等数据信息;2.       设定管道状态信息;²        渲染状态通过SetRenderState方法设定渲染

2007-02-13 17:11:00 3793 3

原创 HLSL初级教程

HLSL初级教程作者:trcj目录前言1.HLSL入门       1.1什么是着色器       1.2什么是HLSL       1.3怎么写HLSL着色器       1.4怎么用HLSL着色器2.顶点着色器       2.1可编程数据流模型       2.2顶点声明       2.3用顶点着色器实现渐变动画3.像素着色器  

2007-02-13 16:52:00 5550

原创 准备写个HLSL初级教程

    学习HLSL半个月啦,写个初级教程作为总结,希望对初学者能有所帮助,别像我那样当初找资料找的焦头烂额:P    教程各章节随后会逐个发表在blog中供大家讨论,最后会整理成pdf文档上传到网上。    我也是个新手,希望大家多指正,共同进步:)

2007-02-13 16:46:00 1987 1

《用Ogre画三角形》源码

展示如何用Ogre画三角形,详情见作者blog《用Ogre画三角形》一文。

2011-08-31

《用Ogre实现无缝地图》源码及资源

以《魔兽世界》为标杆,尝试使用Ogre 1.7推出的新地形系统,构建一个类似的无缝地图,它理论上支持无限扩展、支持挖洞、支持缤纷易变的地貌、采用分层纹理混合的方式进行渲染。 源码编译及使用说明详见作者blog《用Ogre实现无缝地图》一文。

2011-05-29

《大家来猜拳》服务器及客户端小程序

“石头剪子布”网络版,基于MFC的局域网小游戏,同时也是《WinSock非阻塞编程》一文的完整示例。

2010-12-21

Thor 0.0.2

Thor为个人开发的2D横版游戏。无关卡概念,理论上支持一个无限连续的世界。此为0.0.2版本。

2010-12-17

《非阻塞模式WinSock编程入门》源码

源码展示了采用非阻塞模式WinSock编程的服务器和客户端,建立连接后,在服务器窗口输入空格会向所有客户端发送一条字符串消息。 WinSock解决方案下的Client、Server工程分别为服务器和客户端,NetWork工程为稍作封装后的网络库。

2010-11-22

Thor 0.0.1

Thor为个人开发的2D横版游戏。无关卡概念,理论上支持一个无限连续的世界。目前为0.0.1版本,以后会持续更新。

2010-10-19

El游戏引擎、3ds Max导出插件、Demo源码及资源

El游戏引擎为作者业余时间开发,供学习之用,详细描述见说明文档,未经作者许可,不得商用。

2010-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除