使用DX绘制3D物体时新手常犯错误,看不见物体时可以一一排查
1.镜头不对: 物体不在镜头范围内,检查视图矩阵,世界矩阵,投影矩阵.
2.颜色全黑: 打开光照情况下,MATERIAL全为0, 或,在没有打开光照情况下,颜色值为0,造成全黑.检查当前Material和顶点颜色和纹理颜色.
3.深度不对: 被已有的深度遮住了.检查当前深度,直接在此渲染前加Clear深度为1.0作测试.
4.CullMode设置不对: 所有三角形被当作背面剔除了,设为CULL_NONE测试.
5.3D物件的纹理坐标统统大于1.0,且此时纹理寻址方式为BORDER, 且BORDER被设为黑色,画面全黑.
6.深度被Clear为0.0,且打开深度测试,绝对什么都画不上,上述3的特例.
7.COLORWRITE被DISABLE,一级白痴错误.
8.没有设置或没有正确设置Viewport,常发生于OpenGL.
9.OpenGL,使用DrawArray或glDrawElements时,没有打开glEnableClientState(GL_VERTEX_ARRAY),此时渲染语句失败,但没有任何错误返回.
10.DirectX使用XYZRHW顶点模式渲染2D图像时,顶点Z值取0且没有关闭ZBUFFERWRITE,导致情况6.
11.BeginScene和EndScene中崩溃,但被全局异常函数捕捉到,但异常处理函数没有EndScene,导致EndScene永远不会被调用,结果BeginScene也失败,没有调用BeginS
...
使用DX绘制3D物体时新手常犯错误,看不见物体时可以一一排查的更多相关文章
- Python 新手常犯错误
Python 新手常犯错误(第二部分) 转发自:http://blog.jobbole.com/43826/ 作用域 在这篇文章里,我们来关注作用域在Python被误用的地方.通常,当我们定义了一个全 ...
- Python 新手常犯错误(第二部分)
转发自:http://blog.jobbole.com/43826/ 在之前几个月里,我教一些不了解Python的孩子来慢慢熟悉这门语言.渐渐地,我发现了一些几乎所有Python初学者都会犯的错误,所 ...
- Python 新手常犯错误(第一部分)
转载自:http://blog.jobbole.com/42706/ 在之前几个月里,我教一些不了解Python的孩子来慢慢熟悉这门语言.渐渐地,我发现了一些几乎所有Python初学者都会犯的错误,所 ...
- Python 新手常犯错误(第一部分)转载
觉得这篇文章针对python的默认参数写的不错,翻译的也不错,故转载下. 原文链接: Amir Rachum 翻译: 伯乐在线- 伯乐在线读者译文链接: http://blog.jobbole.c ...
- C#新手常犯的错误
虽然这篇post的标题是新手常犯的错误,实际上很多有经验的程序员也经常犯这些错误,我整理了一下,就当是笔记.1.遍历List的错误,比如如下代码: List<String> strList ...
- scanf()常犯错误
------------------------------------------------------------------------ <> 本意:接收字符串. 写成代码:voi ...
- 零基础怎么学Python编程,新手常犯哪些错误?
Python是人工智能时代最佳的编程语言,入门简单.功能强大,深获初学者的喜爱. 很多零基础学习Python开发的人都会忽视一些小细节,进而导致整个程序出现错误.下面就给大家介绍一下Python开发者 ...
- Python开发最常犯错误总结10种
不管是在学习还是工作过程中,人都会犯错.虽然Python的语法简单.灵活,但也一样存在一些不小的坑,一不小心,初学者和资深Python程序员都有可能会栽跟头.本文是Toptal网站的程序员梳理的10大 ...
- web设计经验<八>20个设计新手常犯的排版设计误区
很多同学问设哥,为什么别人字体就那么随意放一下就辣么好看,其实排版可有大学问,不是随意放就好看.这就如同配色一样,也有千变万化的学问.相信大家看完Designschool这篇头条热文,一定倍有收获. ...
随机推荐
- PHP中如何获取多个checkbox的值
> > > weeks后的中括号不可漏,否则用PHP获取的时候只能取到最后一个值.之后PHP就很好处理了,如下: PHP获取checkbox值方法一: $weeks = $_POST ...
- Android开发在使用第三方推送的时候出现INSTALL_FAILED_VERSION_DOWNGRADE
[-- :: - push_getui_test] Uploading push_getui_test.apk onto device 'emulator-5554' [-- :: - push_ge ...
- Feature Extraction
http://www.erogol.com/ml-work-flow-part-3-feature-extraction/
- CString向char类型转化 ---“=”: 无法从“wchar_t *”转换为“char *
此文从网上复制过来,原文出处已丢失,望见谅哈 VC 2005中,这个本来很简单的问题又稍微复杂了一点. 在工程里面,一个必不可少的步骤就是把CString转换为shar*字符串.通过 ...
- OpenLDAP配置信息记录
随着各种研发工具使用越来越多,单独为每个工具维护一个账号系统的开销越来越大,而且作为用户多个账号密码使用也越来越不方便.所以需要做一个统一账号登陆. 查询了多个方法,又因为之前用过LDAP,所以选择了 ...
- SGU 114
114. Telecasting station time limit per test: 0.25 sec. memory limit per test: 4096 KB Every city in ...
- JAVASCRIPT中的作用域和原型链,应该算是难点了,要好好多学学,练练
今天初六,要上班啦... JAVASCRIPT,看来是丢不了了.. http://www.dengdeng90.com/wordpress/?p=241 http://www.cnblogs.com/ ...
- jackson基于注解的简单使用
Jackson提供了一系列注解,方便对JSON序列化和反序列化进行控制,下面介绍一些常用的注解. 1.@JsonIgnore 此注解用于属性上,作用是进行JSON操作时忽略该属性. 2.@JsonFo ...
- lintcode:Search Insert Position 搜索插入位置
题目: 搜索插入位置 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引.如果没有,返回到它将会被按顺序插入的位置. 你可以假设在数组中无重复元素. 样例 [1,3,5,6],5 → 2 ...
- ExecutorService中submit和execute的区别
在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动.调度.管理线程的一大堆API了.在Java5以后,通过Executor来启动线程比用Thread的start()更好.在新特征中 ...