D3D若有错

2024-02-13 08:30
文章标签 d3d

本文主要是介绍D3D若有错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很多时候不知道程序为什么没有按预想的方式运行,

到底是哪里错了呢。。才发现原来是坐标错了,颜色错了,或者是填充的模式错了。。。

这些都是一些微不足道难以寻找的错误啊,

只能够靠细心还有经验堆积起来才能够避免。

附上光照图

 

4个物体坐标分别在 

D3DXMatrixTranslation(&MeshWorldMetrices[0],-2.0f,-2.0f,0.0f);  //血小板
 D3DXMatrixTranslation(&MeshWorldMetrices[1],2.0f,-2.0f,0.0f);  //黄茶壶
 D3DXMatrixTranslation(&MeshWorldMetrices[2],-2.0f,2.0f,0.0f);  //蓝盒子
 D3DXMatrixTranslation(&MeshWorldMetrices[3],2.0f,2.0f,0.0f);  //绿球体

 

1.方向光

从(0.0f,0.0f,8.0f)->到(0.0f,0.0f,0.0f)       2.点光源(0.0f,0.0f,0.0f)->(*,*,*)

 

 聚光灯,发射的位置在(0.0f,0.0f,8.0f)->

     3.->血小板               4.->黄茶壶              5.->蓝盒子           6.->绿球体

 

或是停停顿顿,或是懒懒散散的学习了两天,光照这一部分总算熟练了。

 

于2012/4/23:

上文才刚刚说完。。又犯了低级的错误了,

那四幅spotlight的图就是有一点怪怪的,我注意到照射的位置正确与否,可是没有注意到真正确切的效果,

上面我设定了

light.Phi = 0.0f;

light.Theta = 0.4f;

而实际上dx中规定的Phi是聚光灯锥体的大角,而Theta是较小的内角

不过也算另一种好处吧,就是我知道了当Phi小于Theta的情况,就是Theta的所照是黑暗的,然后Phi所照的范围是全景的,(话说这样好别扭。。)

所以,预期的效果应该是这样才对:

我设为

light.Phi = 0.4f;

light.Theta = 0.0f;

 

 

这里的图片会占用很多的带宽的,我想。

转载于:https://www.cnblogs.com/Kelvinshere/archive/2012/04/22/2465522.html

这篇关于D3D若有错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/705016

相关文章

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的运行程序按钮,但回应你的确实一个“空荡荡”的窗口,它大概率要是全白、要么是全黑,这取决于你清