d3d专题

D3D 顶点格式学习

之前D3D画三角形的代码中有这一句,     device.VertexFormat = CustomVertex.TransformedColored.Format; 这是设置顶点格式; 画出的三角形如下, 顶点格式是描述一个三维模型的顶点信息的格式;可以包含以下内容,     位置坐标,顶点的三维坐标;     法向量;     颜色,顶点的颜色信息;     纹理坐标,顶点在

跨越opengl和d3d的鸿沟(四):完结篇,平台和未来

原文地址 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=1302 上篇文章讨论了两个API在功能上的交集,以及互操作的方法。本篇作为系列的结局,将讨论一些平台相关的问题。 平台 长久以来,一直可以听到一种说法,D3D只能在Windows上用,而OpenGL可以用在所有平台。那么,我们就来看看在各个平台上,几

跨越opengl和d3d的鸿沟(三):交集?并集?

原文地址 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=1290 上一篇讲到了如何填平OpenGL和D3D之间一些原本被认为位于底层的区别。本篇将剖析两个API在功能上的异同,以及直接相互访问的可能性。 功能 D3D9的功能早已被OpenGL 2.0所覆盖,网上可以找到很多资料,这里就不提了。本文注重的是新

跨越opengl和d3d的鸿沟(二):现代opengl

原文地址 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=1264 上一篇提出了跨越OpenGL和D3D的基本问题,介绍了一些能在不改变API的情况下,通过输入数据来消除OpenGL和D3D之区别。本篇的重点是如何利用现代OpenGL提供的扩展和新功能,消除一些无法在上层解决的问题。 顶点颜色顺序 D3D9

跨越opengl和d3d的鸿沟(一):开篇

原文地址 转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=1258 多年来,在论坛和各个网站上不断能看到拿OpenGL和D3D进行比较的帖子和文章。他们经常制造很多谜思,使得初学者和一些从业人员对OpenGL和D3D产生了各种各样的流言。 有人说,OpenGL直接调到驱动,性能高于D3D。有人说,Shader都得写

Windows/Android/iOS平台H265编码视频播放器EasyPlayerPro支持高码率视频播放和D3D画面旋转代码参考

EasyPlayerPro是一款全功能的流媒体播放器,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放等多种功能特性,核心基于ffmpeg,稳定、高效、可靠,支持Windows、Android、iOS三个平台,EasyPlayerPro播放器可广泛应用于流媒体客户端、互联网直播、在线教育、IPTV、

OOCT WPF_D3D项目报错无法加载依赖项

运行示例项目报错缺少dll,发现运用了这个大老李,通过添加PATH路径也无法解决,看到debug文件夹下面没有其他的依赖项。 通过depneds工具可以看到 OCCTProxy_D3D.dll 缺少依赖项,图中的缺项都是OCCT生成的模块dll所以讲这些dll从..\build\win64\vc14\bind 中复制或是全部复制到WPF项目的文件夹下即可运行。 复制到文件夹之后可以新建文件,可

d3d在mfc窗口下渲染延迟

发现使用d3d在一个线程中同时渲染到2个隐藏的窗口,会变得很慢,50ms左右,如果将窗口显示出来,就很快,2-6ms。 经调试发现,跟渲染几个无关,只不过50ms刚好触发了我的延迟警报,渲染一个隐藏窗口大概30ms左右。幸好无端端渲染两个,不然永远不知道这个bug。 现在问题在于我有将窗口隐藏的需求。可以在渲染之前IsWindowVisible() ,判断要渲染的窗口是否可见,再决

d3d 设备丢失和reset

http://www.cnblogs.com/kex1n/archive/2011/04/25/2026877.html DirectX 3D 设备丢失(lost device)的处理 Posted on 2011-04-25 11:24  拳拳的Blog 阅读(357)  评论(0)  编辑  收藏  在创建时使用D3DPOOL_MANAGED标志的资源可以不需要重新载

D3D调试必看-小白PIX篇

引言 本人小白,目前学习D3D一个多月,正在独立开发一款图像引擎,本博客主要记录D3D的学习心得和微软工具PIX的使用方法。 一、PIX的使用方法 (1)为什么使用PIX? 如果你踏上了这条路,那么总有一天你会开发属于自己的图形引擎。想象当你的项目已经大致完成时,你迫不及待的按下了vs stdio的运行程序按钮,但回应你的确实一个“空荡荡”的窗口,它大概率要是全白、要么是全黑,这取决于你清

D3D若有错

很多时候不知道程序为什么没有按预想的方式运行, 到底是哪里错了呢。。才发现原来是坐标错了,颜色错了,或者是填充的模式错了。。。 这些都是一些微不足道难以寻找的错误啊, 只能够靠细心还有经验堆积起来才能够避免。 附上光照图   4个物体坐标分别在  D3DXMatrixTranslation(&MeshWorldMetrices[0],-2.0f,-2.0f,0.0f);  //血小板 D3DXM

D3D Frustum六个裁剪平面生成原理

概念介绍 Frustum裁剪是CLOD中很重要的一个算法,很多文章都是一句话就过去,或者直接给出代码。但是数学推导很少给出,本文章的目的就是解释大家看这些代码中的疑问。 透视投影是将相机空间中的点从视锥体(view frustum)变换到规则观察体(Canonical View Volume,CCV)中,即是世界空间的视锥体(view frustum)中的

使用D3D渲染YUV视频数据

在PC机上,对于YUV格式的视频如YV12,YUY2等的显示方法,一般是采用DIRECTDRAW,使用显卡的OVERLAY表面显示。OVERLAY技术主要是为了解决在PC上播放VCD而在显卡上实现的一个基于硬件的技术。OVERLAY的出现,很好的解决了在PC上播放VCD所遇到的困难。早期PC处理能力有限,播放VCD时,不但要做视频解码工作,还需要做YUV到RGB的颜色空间转换,软件实现非常耗费资

[C++]D3D中立体的移动+旋转

高中没白上啊,居然还用到了矩阵,不过都快忘干净了,又复习了一下。 旋转和移动是分步进行的,然后再把每一步的结果相乘即为所得结果。 写了个函数,方便自己使用。 HRESULT CXDirect3D::SetObjectPositionXYZ(CONST FLOAT x, CONST FLOAT y, CONST FLOAT z, CONST FLOAT AngleX, CONST FLOAT

初学D3D,学习记录。

看看魔兽世界那3D效果,啧啧。昨天下载了一个10G的3D单机游戏,结果电脑带不动,囧。 ------------ 2D和3D。就像初中几何中的二维坐标和三维坐标一样,人都是在三维世界中的。 编程也是一样,我用的SDK是DirectX9版本。 参考资料是《3D游戏程序设计入门》 ------------ 建立环境 1.创建DirectX9对象(网上用COM的多,但我没用)=Direct

C# D3D中2D的使用,做小游戏。。。。半年前写的东西了,拿出来分享,现在看来代码写的乱七八糟的,将就一下吧。。。

画面如上,代码请下载CSDN“我的下载”里面找,免费,不要分的。。。。  只是实现了那么一点点功能,问题很多很多,应为一直没时间去修改,所以就没完善。。。。 这是链接http://shigaofei1.download.csdn.net/   有兴趣的拿去看看吧。。。。

D3D学习笔记整理(五)

六、D3D与CUDA的互操作 CUDA与D3D可以进行互操作,也就是说可以将D3D的资源映射到CUDA地址空间,使在CUDA中可以对D3D读取和写入数据。CUDA实现这个功能的API有两组,这里以运行时API为例。 实现D3D与CUDA的互操作,从总体上看,主要多了D3D设备指定和资源注册及相应释放操作,以及在创建D3D设备时使用D3DCREATE_HARDWARE_VERTEXPROCESS

D3D学习笔记整理(四)

五、纹理绘制 要使渲染的图形更真实,可以使用D3D提供的物体表面纹理绘制功能。纹理,也称纹理贴图,就是表现物体图形细节的一幅或多幅二维图形,纹理绘制的目的就是通过一些特定的方式将纹理映射到物体上,使物体的视觉效果更加栩栩如生。 D3D纹理绘制的一般步骤如下: 1、载入纹理 首先使用IDirect3DDevice9:: CreateTexture创建一个D3D纹理对象并得到数据对象接口。当然

D3D学习笔记整理(三)

四、顶点坐标变换和设置光照 1,顶点坐标变换 我们在计算机图形学里已经学过要显示一个三维景物模型,应用程序必须经历从世界坐标系到屏幕坐标系的转换,这里主要有三个坐标系及相应的变换:世界坐标系和模型几何变换,观察坐标系和取景变换,以及投影坐标系与投影变换。相关概念在我们大学《计算机图形学》的课程里已经有很清楚的讲解,这里主要说明在D3D中如何实现。 我个人对图形学中各种坐标变换的理解就是矩阵运

D3D中的AGP内存、系统内存、显存

学习D3D,应该对这三个内存理解,网上收集了一下相关资料,收藏下来。 三种内存AGP内存(非本地显存),显存(本地内存),系统内存,其中我们都知道系统内存就是咱那内存条,那这AGP内存是个啥玩意啊?其实是因为在以前显卡内存都很小,那时还是在显存是16M,32M为主流的时候,如果你运行一个需要很多纹理的3D程序,那么显存一会就不够用了,那该咋办呢?只好问系统内存借点用用了!这就是AGP内存的由来,

D3D保存当前视图的问题

以前使用过D3DXSaveSurfaceToFile保存当前视图http://blog.csdn.net/shaoxiaohu1/article/details/8534527,但在电脑锁屏后,保存的图片却没全黑的图片。 网上查找了原因,原来是在锁屏后,d3d中的设备丢失,详见:http://www.cnblogs.com/kex1n/archive/2011/04/25/2026877.htm

游戏环境下如何实现真正D3D的窗口

诸仙D3D游戏环境下如何实现真正D3D的窗口,给出关键代码及其方法(希望大家在D3D游戏中做出D3D窗口)! <script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script

详解D3D/OpenGL光栅化(1)

前言:Rasterizer做什么 本篇 简单地 讨论一个问题: 给出图元(三角形/线/点)的顶点坐标及颜色,DirectX 3D(D3D)/OpenGL(OGL)如何确定最终在屏幕上画出的结果?               从D3D Pipeline看[1],这些工作是由光栅化(Rasterizater)做的,光栅化是D3D/OGL Pipeline中关键的固定功能阶段,其前面

把D3D画面渲染到桌面!

【原创】把D3D画面渲染到桌面!不用创建任何窗口 其实这个很简单,只是创建设备的时候那个hwnd有点不一样! 可能有人就会说,用GetDesktopWindows()获得桌面的句柄不就行了?那就错了!这样会没有效果的!正确的代码如下: HWND hWnd = FindWindowEx(GetDesktopWindow() , 0 , " Progman " , " Program Manager

常用d3d操作

使用ALPHA混合使用ALPHA测试 使用点精灵使用雾设置距阵(坐标转换)使用索引缓冲使用深度缓冲使用光照 --------------------------------------------------有关纹理的操作:---------------------------------------------- 纹理提交模式: D3DTSS_ADDRESSU,D3DTSS_ADDRESSV

D3D 图元类型D3DPT_TRIANGLELIST和D3DPT_TRIANGLESTRIP

在使用DrawPrimitive渲染的时候,用第一个参数来确定要渲染的图元类型图元的类型定义在D3DPRIMITIVETYPE中 typedef enum D3DPRIMITIVETYPE {   D3DPT_POINTLIST       = 1,   D3DPT_LINELIST        = 2,   D3DPT_LINESTRIP       = 3,   D3DPT_TRI