博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DirectX11 获得纹理描述
阅读量:4088 次
发布时间:2019-05-25

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

获得纹理描述

1. 为什么要获得纹理描述?

我们可以通过获得已经载入的纹理的入口地址(从着色器资源视图),来获得纹理的描述(包含宽和高),这些信息用于顶点缓存创建期间,使得图像的尺寸指示精灵在屏幕上的大小。 在我们创建顶点缓存之后,使用我们从纹理图像中获得的信息(宽和高)来创建常量缓存。 因此我们在每一帧中设置常量缓存,直到它的内容被填充之后才进行渲染。

2. 如何获得纹理描述?

要获得纹理描述,我们首选要获得纹理吧,那这个纹理在哪里呢?我们是载入了着色器资源视图里面,当然要从着色器资源视图中获取了。通过调用着色器资源视图的GetResource函数,可以取得着色器的资源,该函数只有一个参数就是用于保存获得的资源(注意参数类型是ID3D11Resource,ID3D11Texture2D派生自ID3D11Resource。但是我们已经知道这个资源就是2D纹理,所以我们就用ID3D11Texture2D类型进行强制转换成基类的指针就可以了,原理见《C++ Primer》)。然后再调用ID3D11Texture2D对象的GetDesc函数就可以了,该函数只有一个参数,用于保存纹理描述的D3D11_TEXTURE2D_DESC结构体对象。

3. 获得纹理描述示例代码

//获得纹理描述    ID3D11Texture2D* colorTex;    colorMap_->GetResource( (ID3D11Resource**)&colorTex );//ID3D11Texture继承自ID3D11Resource    D3D11_TEXTURE2D_DESC colorTexDesc;    colorTex->GetDesc( &colorTexDesc );    colorTex->Release( );

转载地址:http://vjyii.baihongyu.com/

你可能感兴趣的文章
(python版)《剑指Offer》JZ20:包含min函数的栈
查看>>
(python版)《剑指Offer》JZ21:栈的压入、弹出序列
查看>>
(python版)《剑指Offer》JZ27:斐波那契数列
查看>>
(python版)《剑指Offer》JZ28:青蛙跳台阶
查看>>
(python版)《剑指Offer》JZ10:矩形覆盖
查看>>
(python版)《剑指Offer》JZ65:矩阵中的路径
查看>>
(python版)《剑指Offer》JZ66:机器人的运动范围
查看>>
(python版)《剑指Offer》JZ11:二进制中1的个数
查看>>
Kaggle入门教程
查看>>
(python版)《剑指Offer》JZ12:数值的整数次方
查看>>
(python版)《剑指Offer》JZ19:顺时针打印矩阵
查看>>
(python版)《剑指Offer》JZ29:最小的 k 个数
查看>>
图像处理之特征提取(一)之HOG特征 特征数的计算
查看>>
python+django+xadmin+mysql学习笔记
查看>>
Springboot框架配置远程Tomcat服务器以及本地Tomcat服务器进行远程debug调试
查看>>
Springboot+Mybatis+Maven项目导出.csv文件
查看>>
Springboot中实现跨域问题,实现前后端完全分离并方便测试.
查看>>
springboot下csv文件下载需要注意得一些细节以及功能得完善
查看>>
MongoDB 环境配置和基本操作-----专属学习笔记
查看>>
Ubuntu 16.04系统下搭建GitLab Server
查看>>