DirectX
文章平均质量分 76
Dormy
生下来就为了活着
展开
-
Vertex Shader - 散射光照处理
关于Shader的原理笔者始终不能在实际程序中产生联想,以至于每次做DEMO时,都会时不时把例程代码翻来看看流程。先说下我对Shader的理解,结合DX的API来说,当你调用DrawPrimitives的时候,图形显示卡的固定渲染管线就开始工作了,它要做些什么呢?先从顶点缓存里把数据提出来,然后确定你创造的模型的位置(世界),以及我们怎么才能看到他(视图),并且让他从窗口中显示出来(投原创 2011-11-15 12:40:55 · 873 阅读 · 0 评论 -
Vertex Shader - 合成光(包含环境、散射、镜面)
今天是个特殊的日子,因为是笔者第一次完成DEMO没有经过漫长的调试(其实并不能说明什么,因为演示程序的确太简单了,如果这样的一个程序还要纠结几天,我可能也要怀疑自己智商问题,不过还是小有成就,毕竟表示我对D3D有了进一步了解,以及明白了光照模型的实现原理(现在是越来越爱Shader了,和Fixed Pipeline Say 拜拜吧)。关于镜面光照方程,基本上就是按PHONE的那个公原创 2011-11-21 23:39:51 · 1005 阅读 · 0 评论 -
Vertex Shader - 正弦波模拟
1.此DEMO没有特别之处,思路是依照DX官方的实例程序 “HLSLwithoutEffects.fx”2.详尽的说明在程序代码注释中源代码:/* * File name : SinWave.vsh * Date : 2011.12.9 * Author : Domry.X.Cui * Description : */ // Global var matrix原创 2011-12-13 11:24:40 · 772 阅读 · 0 评论 -
Pixel Shader - Basic
像素Shader首先包含了三个采样器,分别对应3个不同的纹理。这里有个术语让很多初学者很迷惑——“采样器”,什么是“采样器”?,采样器在程序中做了什么?采样器:采样器这个关键词如果你在搜索引擎中搜索,大多得到的是音频上的处理,但是纹理采样器与其原理类似,我们利用更优秀的采样算法将被赋予纹理的3D模型映射在2D屏幕上更加清晰,失真更小,下面是纹理采样器中最基本的3种采样技术:原创 2011-12-21 10:44:02 · 742 阅读 · 0 评论 -
Shader - Effect file control
按照书上的顺序(一般来说,写教程式的书籍,最重要的莫过于顺序,一本好书他章节排序能让你很好的理解内容)在经过 Vertex Shader 与Pixel Shader 之后,就是书上的最后一章 Effects Framework (我参考的是《DirectX 9.0 游戏开发编程基础》这本书,第二次看了),这个后缀名通常被命名为 "xxx.fx" 的文件,将之前所学习的渲染状态控制的灵活性完原创 2011-12-27 09:05:31 · 613 阅读 · 0 评论