当前位置: 首页 > news >正文

惠州市建网站公司网站建设先做后付费

惠州市建网站公司,网站建设先做后付费,网站运营怎么样,网站开发策划方案知乎转载自#xff1a; http://blog.csdn.net/pizi0475/article/details/7573939 内容提要#xff1a;手动调试和使用工具PIX调试Direct3D程序。 3D绘图中常见问题#xff1a; 1#xff0e;模型消失#xff0c;没有出现在画面上#xff1b; 2#xff0e;模型在画面上失真…转载自 http://blog.csdn.net/pizi0475/article/details/7573939 内容提要手动调试和使用工具PIX调试Direct3D程序。 3D绘图中常见问题 1模型消失没有出现在画面上 2模型在画面上失真、变形或者闪烁 3贴图出现不正常拉扯 4使用了错误的贴图、Shader或者RenderState . 没有固定方法来查找错误的原因一般尝试改变绘图设置慢慢缩小问题可能发生的范围。 模型消失时第一步检查转换矩阵尤其是投影矩阵。如果投影矩阵的Z near和Z far范围不够大3D对象就会落在屏幕坐标系之外而被忽略。可以试着改变投影矩阵的可视范围看看消失的对象是否会重新出现。必要时检查顶点位置和转换矩阵的相乘结果看看它们是否会落在画面范围中。还可以把透视投影的矩阵暂时改成正交投影这样可以查看3D对象的位置是否正确。 确认矩阵没有问题后如果画面仍然不正确问题应该出在模型数据和纹理的正确性上。这时可以暂时把纹理简化。第一个简化通常是关闭光照功能。如果模型在画面上看起来过暗甚至是完全黑色时可能是光照的设置出了问题这时只有关闭光照功能就可以让模型重新出现。简化纹理还可以把Alpha Test和Blending功能关闭有时可能贴图的Alpha层完全是黑色或者纹理使用了错误的Alpha Test比较值这些错误都有可能让整个对象消失。 如果关闭Alpha Test和Blending功能后画面上仍然看不到3D对象就把纹理做最终的简化移除所有的贴图让物表纹理固定地输出单一颜色。如果这个步骤可以让模型出现在画面上那就可以肯定问题出在贴图设置或Pixel Shader的代码上。 经过前面3个步骤后如果模型仍然没有出现在正确的位置上就在检查模型数据的正确性。第1步在画出模型时把几何图形的种类由三角形Triangle暂时改成点Point因为创建三角形数据的Index Buffer有可能发生错误所以无法组合出正确的模型。暂时先把模型用点Point的类型来画最起码可以在画面上看到模型的大致形状如果连大致形状都是错误的那代表最原始的模型数据就已经出现问题了。 模型数据的问题有可能出现在GPU读取数据的部分也有可能在设置顶点数据字段时出现错误。这个部分比较难确认比较好的方法是通过工具来检查在C部分所能做到的检查工作如下 1确定顶点数据的大小size正确, 2确认顶点数据字段设置让GPU能够获得所以需要用到的数据。 3在测试时,也可以先把数据简化暂时只传入顶点的位置Position忽略发线Normal、颜色Color以及贴图坐标等先只使用顶点位置把整个模型用点的方法画出来只要看到模型的大致形状再试着去传入其它数据。 使用上述的方法应该可以把问题范围缩小这时也许还没有找出真正的原因但是先把范围缩小后再通过工具应该就可以发现问题所在。 Direct3D调试工具PIX(Performance Investigate for Xbox) for Windows.在Direct SDK的工具下可以找到这个程序。PIX可以查看贴图和模型绘图结果顶点和像素着色器调试等功能。注意PIX启动要调试的程序路径必须是英文否则出现不能运行错误“PIX Experiment File Version Mismatch”。 使用PIX分为2大步骤第1步是通过PIX来启动想要调试的程序并在程序启动后按工具设置来截取某个画面所使用的Direct3D指令第2步是在截取画面后关闭绘图程序PIX接下来应该会切换到回放Direct3D指令的模式。 PIX先把某个画面中的Direct3D绘图指令截取下来再把每个指令都视为1个断点程序员可以从Event窗口中选择其中指令再通过Render窗口来查看绘图的结果。Render窗口显示的是从这个画面的起点开始一直运行到说选择断点为止的3D绘图结果。 PIX可以查看程序中所使用的贴图和模型数据。在Event窗口中找到相对应的SetTexture函数调用双击函数的第2个参数即蓝色文字的参数右下方的窗口中就会显示所使用的贴图。如果要查看模型选择Event窗口中画出模型的DrawPrimitive和DrawIndexedPrimitive函数调用单击工具Event窗口最上边的按钮D也可以上下移动到函数调用再在Detail窗口中选择Mesh,窗口中就会显示坐标转换前和转换后的的模型还会显示出一个列出所有的顶点数据的列表。双击其中1个顶点就可以进入Vertex Shader的调试模式。其中查看坐标转换前后的模型非常实用马上可以看出加载模型是否正确以及VS处理后是否正确显示是否超出。Mesh中PreVS的顶点为原始输入坐标值而PostVS的顶点为处理后的坐标值即原始输入坐标值XWorld_View_Proj矩阵处理后的坐标值其中矩阵为世界视图投影三个矩阵的乘积。 调试Pixel Shader。在Detail窗口的Render模式在要调试的像素上右击弹出一个快捷菜单选择菜单上的Debug This Pixel选项进入Pixel Shader的调试模式。 具体的调试操作可以查阅SDK. Visual Studil也提供了Shader的调试模式不过不太实用Microsoft也没有再对它更新。PIX所提供的调试功能比较完整也比较实用。 OpenGL调试工具有glslDevil,GLIntercept和gDEBugger等。 摘选于彭国伦的《3D绘图程序设计》.
http://www.zqtcl.cn/news/962208/

相关文章:

  • vue快速建站网站开发法律
  • 家居行业网站开发百度竞价推广账户
  • 粉色大气妇科医院网站源码百度网址大全网址
  • wordpress 留言墙插件优化网站搭建
  • 优秀设计师网站芯片设计公司
  • 铜陵网站建设公司wordpress密码访问插件
  • 一个公司做2个产品网站怎么做的wordpress网站怎么百度的到
  • 邓州做网站做网站seo怎么赚钱
  • 微信小程序开发步骤图长沙百度seo
  • 网站代做仿百度图片网页设计
  • 广州建设局网站首页网络营销专业的就业方向
  • wordpress单页seo关键词优化培训
  • 网站301多久短信营销平台
  • 江苏省现代化实训基地建设网站网站备案加速
  • 中国的网站域名云服务器发布网站
  • 免费seo网站自动推广软件做的好微信商城网站
  • 杭州网站建设方案优化腾讯网络游戏大全列表
  • 泰安网站建设收费标准直播视频app
  • 网站路径问题优秀的网站有哪些
  • 建设网站使用的工具大连免费网站制作
  • 专业的网站优化扬州市城乡建设网站
  • 射阳做网站的公司在哪品牌建设是指
  • 沈阳做网站好的网站分析论文
  • 做熟食的网站美食网站网站开发后端书籍
  • 做模板下载网站挣钱吗网站建设专业导航网站
  • 网站目录结构html静态网站作品
  • 南通建设局网站分类门户网站系统
  • 合肥网站建设企业秒玩小游戏入口
  • 个人做网站开发个人网站备案取名
  • 替代wordpress 搜索seo优化排名易下拉程序