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

DirectX 90 3D SetRenderState 设置渲染状态

改变D3D中的渲染状态

1). 设置着色模式:                                                         

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

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

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

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

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

SetRenderStateD3DRS_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的枚举结构。

转载于:https://www.cnblogs.com/kex1n/archive/2010/08/25/2286475.html

http://www.lryc.cn/news/2421217.html

相关文章:

  • C/C++学习路线总结与分享
  • ActiveX控件打包成Cab、数字签名、证书制作步骤,带源码Demo和所需工具
  • 在WinXp上安装AutoCAD2000的方法(测试成功)
  • 红外测距模块 51单片机_红外通信原理
  • 寻找NOD32升级服务器不求人
  • vb6.0企业版id_VB6.0中文企业版软件纯净安装教程,这是测试过的,我保证
  • 各大PT网站信息记录(不断更新中)
  • 在googleMap 中添加MAPabc的地图类型
  • 来自CSDN的精华网址
  • 1、GPU 及其加速库简介
  • Jbpm工作流介绍
  • 360安全卫士hookport.sys简单逆向
  • vba宏语言_Excel VBA(1) – VBA 简介及录制宏
  • js 汉字转化拼音
  • informix安装教程以及创建一个实例(详细)(系列1,informix安装篇)
  • 牛客13611题解
  • 安装ADOBE READER时无法将数值写入键
  • 【css js vue】超详细!!实现 tab菜单 动态滑动效果
  • 手动安装msu补丁
  • 有道词典的本地/扩展/离线词库
  • Ubuntu 彻底卸载 Opera 浏览器
  • PQ硬盘分区魔术师怎么用|PQ8.05硬盘分区教程图解
  • 安凯anycloud39EV330开发环境搭建
  • [转]Flixel只能用于Flex吗?
  • 【笔记】使用nvm install下载显示淘宝镜像证书过期
  • [新版新概念英语1-4册全部视频和课本]
  • js动态添加和移除disabled属性和style
  • 基于 Spark 的数据分析香港六合彩开奖号码采集官网实践
  • clannad手游汉化版_clannad游戏中文版
  • mysql查询关键词总结