下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 三维编程实验十六、纹理混合应用实例

三维编程实验十六、纹理混合应用实例.doc

三维编程实验十六、纹理混合应用实例

hlphlp
2018-09-11 0人阅读 举报 0 0 暂无简介

简介:本文档为《三维编程实验十六、纹理混合应用实例doc》,可适用于IT/计算机领域

实验十六、纹理混合应用实例、实验目的、掌握DD的纹理混合实现、实验步骤、打开vsnet打开ftp上的Ddemo项目执行并观看结果。单独表面混合后的颜色=纹理×颜色(材质、灯光)×=透明混合后的颜色=源颜色×源混合因子目标颜色×目标混合因子在本实验中DDBLENDONE表示融合因子均为()则透明混合后的颜色=源颜色目标颜色=、在全局变量定义处把纹理对象数组、材质数组、以及世界变换结构数组的长度均改为。LPDIRECTDTEXTUREgpTextureDDMATERIALmatMaterialOBJRECobjRec、把纹理层属性改为。gpDDDevice>SetTextureStageState(,DDTSSCOLORARG,DDTATEXTURE)gpDDDevice>SetTextureStageState(,DDTSSCOLORARG,DDTADIFFUSE)gpDDDevice>SetTextureStageState(,DDTSSCOLOROP,DDTOPMODULATE)gpDDDevice>SetRenderState(DDRSSRCBLEND,DDBLENDONE)设置源因子gpDDDevice>SetRenderState(DDRSDESTBLEND,DDBLENDONE)设置目的因子、修改渲染函数voidRender(){if(gpDDDevice){清屏gpDDDevice>Clear(,,DDCLEARTARGET|DDCLEARZBUFFER,DDCOLORXRGB(,,),f,)开始场景渲染if(SUCCEEDED(gpDDDevice>BeginScene())){gpDDDevice>SetRenderState(DDRSALPHABLENDENABLE,true)SetupPerspective(mainhwnd)SetupViewer()gpDDDevice>SetFVF(DDFVFCUSTOMVERTEX)gpDDDevice>SetStreamSource(,gpVertexBuffer,,sizeof(CUSTOMVERTEX))for(inti=i<i){objRecix=*cos(timeGetTime()f*i)objReciy=*cos(timeGetTime()f*i)objRecifScale=*cosf(timeGetTime()fi)objRecifZAngle=timeGetTime()f*iSetupRotation(i)gpDDDevice>SetTexture(,gpTexture)gpDDDevice>SetMaterial(matMateriali)gpDDDevice>DrawPrimitive(DDPTTRIANGLESTRIP,,)}结束场景渲染gpDDDevice>EndScene()}后备表面呈现出来gpDDDevice>Present(,,,)}}、退出函数对对象的删除操作。voidCleanUp(){for(inti=i<i){if(gpTexturei){gpTexturei>Release()gpTexturei=}}if(gpVertexBuffer){gpVertexBuffer>Release()gpVertexBuffer=}if(gpVBCylinder){gpVBCylinder>Release()gpVBCylinder=}if(gpVBSphere){gpVBSphere>Release()gpVBSphere=}if(gpDDDevice){gpDDDevice>Release()gpDDDevice=}if(gpDD){gpDD>Release()gpDD=}}、在设置摄像机voidSetupViewer(){DDXMATRIXmatViewDDXMatrixLookAtLH(matView,DDXVECTOR(f,f,f),CameraPositionDDXVECTOR(f,f,f),LookAtPositionDDXVECTOR(f,f,f))UpDirectiongpDDDevice>SetTransform(DDTSVIEW,matView)}、设置材质voidInitMaterial(){for(inti=i<i){matMaterialiDiffuse=DDXCOLOR((float)(rand()),(float)(rand()),(float)(rand()),)matMaterialiAmbient=DDXCOLOR(,,,)rgbaAmbientmatMaterialiSpecular=DDXCOLOR(,,,)rgbaSpecularmatMaterialiPower=f高光点的锐度matMaterialiEmissive=DDXCOLOR(,,,)rgbaEmissive}}

VIP免券下载文档

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/4

三维编程实验十六、纹理混合应用实例

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利