![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DirectX
文章平均质量分 65
道道道人间道
这个作者很懒,什么都没留下…
展开
-
HLSL中mul函数的使用
一、mul函数mul函数的作用是完成向量与矩阵的乘法运算,有如下两种形式 1、mul(v, M):行向量v乘以矩阵M 2、mul(M, v):矩阵乘以列向量v默认情况下,矩阵是按列选取(column-major matrix picking),也就是每个寄存器存储矩阵的一列,M=(c0, c1, c2, c3);如果是按行选取(row-major matrix picking),那么每个寄存器存储的是矩阵的一行.下面说明在默认按列选取情况下,mul的两种实现方...原创 2021-11-07 16:26:47 · 2418 阅读 · 0 评论 -
directx中float16数据与float32互转
使用如下函数FLOAT XMConvertHalfToFloat(HALF Value);FLOAT* XMConvertHalfToFloatStream(_Out_bytecap_x_(sizeof(FLOAT)+OutputStride*(HalfCount-1)) FLOAT* pOutputStream, _In_ UINT OutputStride,原创 2021-10-27 22:16:51 · 706 阅读 · 0 评论 -
OIT(Order-independent Transparent)顺序无关的透明
1.Alpha-to-coverage(SV_Coverage)2.depth peeling3.stencil routed k-buffer4.Stencil Routed A-Buffer5、Per-Pixel Linked Listshttp://www.cnblogs.com/lancidie/archive/2011/08/18/2144797.html————————————————版权声明:本文为CSDN博主「claien」的原创文章,遵循CC 4.0 BY-SA版权转载 2021-04-24 16:00:20 · 290 阅读 · 0 评论 -
Alpha To Coverage
原文地址:http://www.zwqxin.com/archives/opengl/talk-about-alpha-to-coverage.htmlAlpha To Coverage(A2C)是一种经由流水线完成的“Alpha Test”。在使用了多重采样(Multi-sample)的场合下,经由检测当前需要绘制的fragment的alpha值来决定该fragment在对应像素上的sample覆盖率。应该说,这也算是很有历史感的显卡应用技术了,而本文将重在谈及此技术之前将在流水线level老生重弹一转载 2021-04-24 15:50:35 · 1127 阅读 · 0 评论 -
实现一个较新的OIT方法:Per-Pixel Linked Lists
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=22332009年AMD在发布HD 5800的时候也发布了一个Order Independent Transparency(OIT)的demo,但只有介绍,没有多少可以参考的东西。GDC 2010上的OIT and GI using DX11 linked lists才给出了比较完整的算法细节。虽说这几年也有不少新的OIT算法出现,但作为具有标杆意义的OIT算法,Per-Pixel Linked Li转载 2021-04-24 11:10:59 · 844 阅读 · 0 评论 -
Direct3D 环境中的 DirectShow 电影
发布日期 : 12/21/2004 | 更新日期 : 12/21/2004Mike Borozdin适用于:Microsoft DirectShowMicrosoft Direct3DMicrosoft DirectX 9.0摘要: 从 DirectShow 或 Direct3D 应用程序开发人员的角度了解如何在 Direct 3D 环境中播放视频。本页内容简介 VMR-...转载 2018-11-15 21:34:33 · 419 阅读 · 0 评论 -
怎样使用深度纹理
这个问题经常出现, 所以我试着来总结一下ATi和nVidia芯片对于深度纹理的支持情况. 如果发现我说错了nVidia的深度实现, 请告知我 :)ATi和nVidia在硬件上都支持深度纹理, 虽然方法不一样. 深度纹理的创建非常相似:* 曝光的格式- ATi曝光了两个FOURCC 来创建16或24位深度的纹理:#define FOURCC_DF16 ((D3DF转载 2015-10-17 21:59:58 · 1027 阅读 · 0 评论 -
深度纹理的使用
在D3D中创建一个深度纹理,并传入片段程序。主要步骤如下: 1、创建一个深度纹理 //创建深度纹理 //1 获取后台缓存信息 IDirect3DSurface9 * pSurface = nullptr; hr = pDevice->GetRenderTarget(0, &pSurface); //ref count +1 if (FAILED(hr)原创 2015-10-17 22:21:10 · 2287 阅读 · 0 评论 -
渲染到纹理(Render To Texture, RTT)详解
渲染到纹理(Render To Texture, RTT)详解RTT是现在很多特效里面都会用到的一项很基本的技术,实现起来很简单,也很重要。但是让人不解的是网上搜索了半天只找到很少的文章说这个事儿,不知道是因为太简单还是因为这项技术已经出现很长时间了。总之我是在摸索这个东西的时候绕了不少弯子。现在把具体的实现方法写下来。 什么是纹理 熟悉DX的兄转载 2015-10-17 21:51:09 · 8044 阅读 · 0 评论 -
【翻译】D3D10/D3D11中的纹理资源
【翻译】D3D10/D3D11中的纹理资源本文翻译自DXSDK,其中DX11与DX10相一致,故只翻译了DX10部分。翻译:Chu @ XDU 2012/11/19转载请注明出处:http://www.cnblogs.com/9chu/archive/2012/11/19/2776111.html 纹理资源纹理资源是一种被设计用来结构化储存一系列像素的集合。不同于缓转载 2015-07-28 16:10:16 · 1330 阅读 · 0 评论 -
[3D游戏开发]Early ZBuffer
一、最近在优化客户端性能的时候,看到了Early ZBuffer。在VSPS中间GPU会对进行Z-buffer预判机制,对无效像素进行剔除,ATI、NVIDIA都有自己的Z-buffer预判机制。其实Doom3的时候已经开始使用预填充ZBuffer了,因为Doom3的PS需要处理阴影、NormalMap、LightMap及其他贴图处理,PS指令非常多,所以无效像素的剔除对性能影响是很大的,越早将无转载 2015-07-27 22:10:33 · 662 阅读 · 0 评论 -
DirectX的初始化
Direct3D的初始化步骤如下:1、 创建D3D对象,即通过Direct3DCreate9(D3D_SDK_VERSION)函数创建IDirect3D9对象;该对象用于设备枚举:获取系统中可用的每块图形卡的性能、显示模式、格式等信息。2、 通过D3D对象创建D3D设备对象,即调用IDirect3D9的成员函数CreateDevice来创建。(在此之前要初始化一些参数)3、 最后原创 2015-05-24 10:45:01 · 1817 阅读 · 0 评论 -
索引缓存
#include #include #include #include #pragma comment(lib,"D3D9.lib")//函数声明LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);//窗口过程bool InitD3D(HINSTANCE hInstance);原创 2015-06-07 00:03:20 · 794 阅读 · 0 评论 -
System memory,AGP memory和video memory
在学习图形学、GPU编程的时候的时候,经常遇到这三种存储区,下面简要总结一下。system memory (main memory) : 就是电脑的内存条上的,一般都很大。显卡不能访问 。video memory: 就是显示卡上的显存,一般是32,64,128M这样,速度最快,显卡可直接访问 。用来描述电脑上一些可写存储区,通常转载 2015-06-06 23:27:58 · 539 阅读 · 0 评论 -
顶点缓存
#include #include #include #pragma comment(lib,"D3D9.lib")//函数声明LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);//窗口过程bool InitD3D(HINSTANCE hInstance);bool Setup原创 2015-06-07 00:00:45 · 903 阅读 · 0 评论 -
D3D中D3DFVF_XYZ和D3DFVF_XYZRHW的区别
【ZT】D3DFVF_XYZ和D3DFVF_XYZRHW的区别:以前好像没有仔细思考过,只是见到Beginning DirectX9中如是说:The RHW value, which stands for Reciprocal of Homogeneous W[1], tells Direct3D that the vertices thatare being used are a转载 2015-06-06 16:49:10 · 2315 阅读 · 0 评论 -
关于Clear调用失败----导致残影
原文链接:http://www.cnblogs.com/mixiyou/archive/2009/09/20/1570445.html最近在开发D3D程序的过程中,发现一件很奇怪的事情,就是在Render的时候,纹理总是留有“残影”(即上次Render后的帧):如上图,是一副纹理绕Z轴旋转,但是可以看到每次Render的时候,都会留下上次Render的帧,即Clear似转载 2015-02-02 21:40:48 · 1410 阅读 · 0 评论