1). 设置着色模式:

SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT //设置平面着色模式

SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD //设置格劳德着色模式

2). 设置多边形填充模式:

SetRenderState(D3DRS_FILLMODE, D3DFILL_POINT //点填充模式,D3D在多边形的每个顶点绘制一个像素

SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME //线填充模式,D3D在多边形的每个边绘制一条线

SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID   //面模式,D3D默认模式,对多边形的面进行填充

3). 设置全景图形抗锯齿:

SetRenderState(D3DRS_MUTISAMPLEANTIALIAS, TRUE)   //抗锯齿

SetRenderState(D3DRS_MUTISAMPLEANTIALIAS, FALSE)   //不抗锯齿

4). 设置剔除模式:

SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE) //不剔除任何面

5). 设置光照模式:
SetRenderState(D3DRS_AMBIENT, D3DCOLOR ambientColor);
//为整个场景设置环境光
SetRenderState(D3DRS_SPECULARENABLE,
TRUE);
  
//激活镜面反射计算(D3D默认情况下关闭)

6). 启动/关闭深度测试:
SetRenderState( D3DRS_ZENABLE, TRUE
);
   
//启用深度测试

7) 设置纹理过滤器

//线性纹理

SetSamplerState(0, D3DSAMP_MAGFILTER,
D3DTEXF_LINEAR);

SetSamplerState(0, D3DSAMP_MINFILTER,
D3DTEXF_LINEAR);

//最近点采样

SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_
POINT);

SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_POINT);

//各向异性纹理过滤

SetSamplerState(0, D3DSAMP_MINFILTER,
D3DTEXF_ANISOTROPIC)

SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_
ANISOTROPIC);

8)

SetRenderState( D3DRS_POINTSCALEENABLE, TRUE ); //打开缩放功能

9)

SetRenderState( D3DRS_POINTSCALE_A , FtoDW( 1.00f ));//设置因子,下同

SetRenderState( D3DRS_POINTSCALE_B , FtoDW( 1.00F ));

SetRenderState( D3DRS_POINTSCALE_C , FtoDW( 1.00f ));

10)

SetRenderState( D3DRS_POINTSIZE_MAX, FtoDW( 5.00f ));//设置点大小上限,下类似

SetRenderState( D3DRS_POINTSIZE_MAX, FtoDW( 5.00f ));

SetRenderState( D3DRS_POINTSPRITEENABLE , TRUE ) ;  //打开点精灵效果

SetRenderState( D3DRS_AMBIENT,  0xffffffff );  //设置环境光颜色开启ALPHA混合效果

11)设置混合因子:

源:SetRenderState( D3DRS_SRCBLEND , D3DBLEND_SRCALPHA );

目的:SetRenderState( D3DRS_DESTBLEND , D3DBLEND_INVSRCALPHA);

第二个参数是 D3DBLEND的枚举结构。

jpg改rar
 

D3D中的渲染状态简介的更多相关文章

  1. Java线程池中线程的状态简介

    首先明确一下线程在JVM中的各个状态(JavaCore文件中) 1.死锁,Deadlock(重点关注) 2.执行中,Runnable(重点关注) 3.等待资源,Waiting on condition ...

  2. [ZZ] D3D中的模板缓存(3)

    http://www.cppblog.com/lovedday/archive/2008/03/25/45334.html http://www.cppblog.com/lovedday/ D3D中的 ...

  3. D3D中深度测试和Alpha混合的关系

    我在学习D3D的深度测试和Alpha混合的时候,有一些遗憾.书上提供的例子里说一定要先渲染不透明物体,再渲染透明物体,对渲染状态的设置也有特殊要求.我看的很晕.自己查图形学的书,上网找资料,结果还是糊 ...

  4. OSG中的示例程序简介

    OSG中的示例程序简介 转自:http://www.cnblogs.com/indif/archive/2011/05/13/2045136.html 1.example_osganimate一)演示 ...

  5. OSG中的示例程序简介(转)

    OSG中的示例程序简介 1.example_osganimate一)演示了路径动画的使用 (AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera ...

  6. 【转载】D3D中的Texture应用示例

    原文:D3D中的texture应用示例 本文列举了Direct3D中各种纹理应用实现:黑暗贴图,发光贴图,漫反射映射贴图,细节纹理,纹理混合,有较详尽的注解.其中黑暗贴图,发光贴图,细节纹理都是采用多 ...

  7. 【转载】OLE控件在Direct3D中的渲染方法

    原文:OLE控件在Direct3D中的渲染方法 Windows上的图形绘制是基于GDI的, 而Direct3D并不是, 所以, 要在3D窗口中显示一些Windows中的控件会有很多问题 那么, 有什么 ...

  8. Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术

    转自冯乐乐的 <Unity Shader 入门精要> 移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某 ...

  9. ArcGIS AO中控制图层中要素可见状态的总结

    一.DefinitionExpression 实现新建查询图层,查询结果要素为选中状态 该接口可以通过两种方法来控制要素的可见状态. 思路1 通过该接口的 DefinitionExpression 方 ...

随机推荐

  1. Android异步任务处理框架AsyncTask源代码分析

    [转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树] 引言 在平时项目开发中难免会遇到异步耗时的任务(比方最常见的网络请求).遇到这样的问题.我 ...

  2. unity, yield return new WaitForSeconds(waitTime) 在 Time.timeScale=0下卡死

    例如下面代码: IEnumerator f(){ Time.timeScale = 0; float waitTime=2; yield return new WaitForSeconds (wait ...

  3. CentOS Linux防火墙配置及关闭

    CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service   iptables status< ...

  4. html使用自我知识点总结

    1. 不要忘结束标签 <p>This is a paragraph <p>This is a paragraph 未来的HTML版本号不同意省略结束标签. 2. 没有内容的HT ...

  5. C/C++:C++伪函数

    C++伪函数: 所谓的伪函数.就是说它不是一个真正的函数,而是一个类或者说是一个结构体. <span style="font-size:18px;"> #include ...

  6. saveFile()方法

    saveFile的原理就是将流写入到需要写入的文件,通过可以用“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:public vo ...

  7. 对java中arraylist深入理解

    1.ArrayList插入删除一定慢么? 取决于你删除的元素离数组末端有多远,ArrayList拿来作为堆栈来用还是挺合适的,push和pop操作完全不涉及数据移动操作. 2.ArrayList的遍历 ...

  8. 使用jQuery模拟Google的自动提示效果

    注意: 1.本功能使用SqlServler2000中的示例数据库Northwind,请打SP3或SP4补丁:2.请下载jQuery组件,河西FTP中有下载:3.本功能实现类似Google自动提示的效果 ...

  9. 关于Unity5.5中固定刚体旋转的方法

    给对象增加刚体后进行碰撞,会使得对象不自主地旋转 为了不让对象+刚体旋转,我们可以选择那个对象的Inspector视图--Rigidbody 2D--Constraints--Freeze Posit ...

  10. Python安装相关的机器学习库以及图像处理库

    安装 sudo apt-get install python-scipy sudo apt-get install python-numpy sudo apt-get install python-m ...