zoukankan      html  css  js  c++  java
  • 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的枚举结构。

  • 相关阅读:
    用Python构建你自己的推荐系统
    相似度算法之余弦相似度
    python(五)常用模块学习
    Linux系统CPU核数等信息查看
    【SSH网上商城项目实战28】使用Ajax技术局部更新商品数量和总价
    【SSH网上商城项目实战27】域名空间的申请和项目的部署及发布
    【SSH网上商城项目实战26】完成订单支付后的短信发送功能
    【SSH网上商城项目实战25】使用java email给用户发送邮件
    【SSH网上商城项目实战24】Struts2中如何处理多个Model请求
    【SSH网上商城项目实战23】完成在线支付功能
  • 原文地址:https://www.cnblogs.com/kex1n/p/2286475.html
Copyright © 2011-2022 走看看