首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
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
阅读更多...