博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DirectX9 着色器学习(三)
阅读量:5764 次
发布时间:2019-06-18

本文共 1082 字,大约阅读时间需要 3 分钟。

像素着色器:Pixel Shader(PS),它替换了固定功能管线的多纹理化阶段(the multitexturing stage)。

1. 纹理设置:

        HRESULT IDirect3DDevice::SetTexture( DWORD stage,IDirect3DBaseTexture9  *pTexture);

    采样器状态:

       HRESULT IDirect3DDevice::SetSamplerState( DWORD sampler,D3DSAMPLERSTATETYPE  Type, DWORD value);

    可以一次使用多个纹理,stage分别设置为0,1,2,...

 

2.像素着色器的输入和输出

     INPUT:颜色和纹理坐标

             struct PS_INPUT

             {

                   vector c0:COLOR0;

                   vector c1:COLOR1;

                   float2 t0:TEXCOORD0;

                   float2 t1:TEXCOORD1;

                   float2 t2:TEXCOORD2;

             };

     OUTPUT:一个计算过的该像素的颜色值

              struct PS_OUTPUT

             {

                   vector  finalPixelColor:COLOR0;

             };     

 

3.   使用像素着色器的步骤

    (1)创建PS

         HRESULT IDirect3DDevice::CreatePixelShader( const DWORD *pFunction,IDirect3DPixelShader9  **ppShader);

         pFunction:已编码着色器代码的指针             ppShader:返回一个接口指针

    (2)建立PS

         HRESULT IDirect3DDevice::SetPixelShader(IDirect3DPixelShader9  *pShader);

    (3)销毁PS

         d3d::Release<IDirect3DPixelShader9 *>(MultiTexPS);

e.g. IDirect3DPixelShader9* MultiTexPS = 0;

     hr = Device->CreatePixelShader((DWORD*)shader->GetBufferPointer(),&MultiTexPS);

     Device->SetPixelShader(MultiTexPS);

     d3d::Release<IDirect3DPixelShader9 *>(MultiTexPS);

     

转载于:https://www.cnblogs.com/italysue/p/9375698.html

你可能感兴趣的文章
iposdb数据库 date函数优化
查看>>
我的友情链接
查看>>
Mysql清理二进制日志的技巧
查看>>
awk学习笔记六-读取命令行参数
查看>>
VMWare的报价
查看>>
pandas中series填补NAN
查看>>
文件服务器同步解决方案rsync
查看>>
Java中List、Set和Map的区别--转载
查看>>
使用Openstack需要考虑的因素(写给决策者)
查看>>
SICP 1.25 1.26
查看>>
CS224n笔记18 挑战深度学习与自然语言处理的极限
查看>>
ActionScript 3.0 记要(1): 基本语法
查看>>
如何使用 SendMessage 选择 ListBox、ComboBox 中的项 - 回复 "倪慧刚" 的问题
查看>>
在 Delphi 2009 中, for in 循环都能用在什么地方?
查看>>
shell锁
查看>>
认识与学习bash
查看>>
数据结构(顺序表的就地逆置及插入)
查看>>
servlet过滤器
查看>>
Android中退出程序时提示框设置
查看>>
HTML 应用 遮罩
查看>>