博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
D3D绘图一点总结
阅读量:7078 次
发布时间:2019-06-28

本文共 815 字,大约阅读时间需要 2 分钟。

<1>. 若顶点结构中不设置颜色,也不设置顶点法线,只有位置。

struct Vertex{    Vertex(){}    Vertex(float x, float y, float z)    {        _x = x;     _y = y;  _z = z;    }    float _x, _y, _z;    static const DWORD FVF;};const DWORD Vertex::FVF = D3DFVF_XYZ;

绘制的时候D3D默认使用黑色来绘制三角形,所以

Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);

清空后台缓存时,若第四个参数为0x00000000则将后台缓存清空为黑色,此时会看不到绘制的图形。

<2>. 

  如果要禁用灯光,如下这句:

1.  mDevice -> SetRenderState(D3DRS_LIGHTING, FALSE);   

    如果禁用灯光,那么任何的材质设置都不会有效果。

 

设置环境光强度

2.  mDevice -> SetRenderState(D3DRS_AMBIENT,  0xffffffff );

    

    关于这两句代码(编号为1和2),又有几种情况:
    1)1为FALSE时,启用2,那么会获得一个环境光照明,此时设置材质无效(渲染对象为白色),纹理可以正常显示(如果   有纹理)。
    2)1为TRUE时,启用2,材质设置有效,会影响渲染结果,纹理可以正常显示。
    3)1为FALSE时,禁用2,材质设置失效,纹理可以正常显示。
    4)1为TRUE时,禁用2,材质设置无效,纹理不可正常显示。  开启了光照但是没设置任何光源,导致纹理也显示不出来。
    结论:当开启光照时,必须指定一种光源才能使渲染对象正确绘制(渲染状态设置的环境光或者其他3种类型的光源)。

 

转载地址:http://xqpml.baihongyu.com/

你可能感兴趣的文章
Assembly Loop
查看>>
Windows注册密码能保护你的数据安全吗?
查看>>
绿盟科技网络安全威胁周报2017.01 请关注MatrixSSL堆缓冲区溢出漏洞CVE-2016-6890
查看>>
取舍有度:英特尔Security将有新产品取代旧的SaaS电子邮件安全产品
查看>>
岁月是把杀猪刀,扒一扒IT人愈发上扬的发际线
查看>>
用gdb分析core文件及常见gdb命令操作示例
查看>>
来自虚拟运营商的挑战 语音或将免费
查看>>
安吉斯媒体:流程化运作助推一站式管理
查看>>
云存储基础架构决策:公有 VS. 私有
查看>>
中国人工智能学会通讯——构建强健的人工智能:原因及方式 5. 使用更大的模型...
查看>>
吉林交警携手高德地图 开展“互联网+交通管理”
查看>>
云栖科技这家公司切入企业级文档云市场,希望解决移动和安全两个痛点
查看>>
在用苹果Mac OS X操作系统吗?那你得小心了……
查看>>
2014年11月11日
查看>>
秒杀WiFi 新技术让你一秒下载23部电影
查看>>
物联网时代三大标准齐头并进 互为补充
查看>>
阿里云成为Linux基金会金牌会员
查看>>
大数据时代 数据中心面临三大挑战
查看>>
《网络空间欺骗:构筑欺骗防御的科学基石》一3.3.4 识别和量化恶意软件的指标...
查看>>
自动化是任何云计算的基础
查看>>