DirectX9示例程序(26)-shader

DirectX9示例程序(26)-shader

  (2011-06-03 22:34:22)
标签: 

杂谈

 

DirectX9示例程序(26)-shader

IDirect3DVertexShader9对象 封装了vertex shader的功能

ID3DXConstantTable对象  常数表包含shader里使用的变量

 

DirectX9示例程序(26)-shader

DirectX9示例程序(26)-shader
首先创建茶壶mesh   创建两个buffer指针   调用D3DXCompileShaderFromFile函数 这个函数会返回一个包含被创建shader的buffer,这个buffer包含编译后的shader代码,和调试符号表等信息;还返回一个包含编译过程中错误和警告信息的buffer;还返回一个常数表,用他可以操纵shader里的变量。

然后调用IDirect3DDevice9的成员函数CreateVertexShader,返回一个指向IDirect3DVertexShader9的指针

然后调用ID3DXConstantTable的成员函数GetConstantByName,通过传递shader中变量名称来得到句柄

然后设定shader中变量的缺省值

然后得到投影矩阵  设置线框渲染模式

 

DirectX9示例程序(26)-shader

设置view矩阵  然后与投影矩阵结合得到viewproj矩阵   调用ID3DXConstantTable的成员函数SetMatrix,通过句柄来识别设置的是哪个矩阵

然后进行渲染,首先调用IDirect3DDevice9的成员函数SetVertexShader,然后画出茶壶

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值