Direct3D 12——纹理——纹理

news2025/1/18 9:56:42

纹理不同于缓冲区资源,因为缓冲区资源仅存储数据数组,而纹理却可以具有多个mipmap层级(后 文有介绍),GPU会基于这个层级进行相应的特殊操作,例如运用过滤器以及多重采样。支持这些特殊 的操作纹理资源都被限定为一些特定的数据格式。而缓冲区资源就没有这项限制,它们可以存储任意类 型的数据。纹理所支持的数据格式由枚举类型DXG1_FORMAT来表示。下面是纹理格式文档:

https://learn.microsoft.com/zh-cn/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format

以某种具体类型创建的资源,其格式是不能更改的。这将 使该资源在运行时的访问得以优化[……]。”因此,我们应当只在不得已的情况下才使用 无类型资源,否则就用具体的类型来创建资源。

一个纹理可以绑定到渲染流水线的不同阶段,一个常见的例子是既可将一纹理用作渲染目标(即 Direct3D中的渲染到纹理技术),又能把它作为着色器资源(即在着色器中对该纹理进行采样)。一个纹 理可以当作渲染目标,也可以充当着色器资源,但是不能同时“身兼数职”。将数据渲染到一个纹理后, 再用它作为着色器资源,这种方法称为渲染到纹理(render-to-texture)。

纹理坐标

在这里插入图片描述
Direct3D所采用的纹理坐标系,是由指向图像水平正方向的u轴与指向图像垂直正方向的v轴所组成的。取值范围为0≤u,v≤1的坐标(以,V)标定的是一 种称为纹素(texel)的纹理元素。

对于每个3D三角形来说,我们希望在将要映射于 其上的纹理中定义出与之对应的三角形。设 p0p1以及p2为3D三角形的3个顶点,它们分别对应 于纹理坐标q0q1q2。针对3D三角形上任意一点(x,
y,z)处的纹理坐标(u,v),我们都可以通过与3D三角形坐标插值所用的相同参数s、t,对顶点纹理坐标进行线性插值来求得。这就是说,如果:
在这里插入图片描述
左侧的三角形位于3D空间,我们将把右侧纹理上的2D三角形映射到左侧的3D三角形上

(x,y,z)=p= p0 + s ( p1 - p0 ) + t ( p2 - p0 )

当s ≥ 0, t ≥ 0, s + t ≤ 1 时,那么

(u,v)=q= q0 + s ( q1 - q0 ) + t ( q2 - q0)

依此方法便可求出三角形上每个点处的对应纹理坐标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7 个最好的 Word 转 PDF 转换器

如果您使用 Word 文件,您可能在某个时候遇到过将 Word 文件转换为 PDF 的紧迫问题。PDF 文件有很多优点。它们通常更紧凑,无论您在哪里打开它们看起来都一样。PDF 还允许您共享文档,而不必冒有人更改内容的风险。那么如何将 Word 文档转换为 …

小白学网络安全要学些什么?

一.网络安全学些什么呢? 虽然网上已经有非常多的学习路线了,但是仍然有很多零基础的小白还是不懂网络安全到底应该要怎么去学习,我也经常会在后台收到这样的问题“我想学网络安全,需要先学编程语言吗?”、“学渗透就业…

【python零碎】

1. 拼接字符中,插入变量 >>> shepherd "Mary" >>> age 32 >>> stuff_in_string "Shepherd {} is {} years old.".format(shepherd, age) >>> print(stuff_in_string) Shepherd Mary is 32 years old. &…

HIT-CSAPP 第五章 面向程序的优化方法(1)

考纲: 1.面向程序性能的优化 面向编译器的程序优化方法:减少过程调用、减少内存引用、指令并行等方法等方法。面向流水线、超标量、向量CPU的程序优化方法。 2.存储器的层次结构 优化编译器的能力和局限性 内存别名使用妨碍函数优化 void twiddle1(long *xp, long *yp){ //…

ERTEC200P-2 PROFINET设备完全开发手册(4-1)

ERTEC200P-2作为应用处理器,既可以单独使用,通过GPIO扩展实现基本的IO功能。也可以配合外部主机(例如单片机)实现更复杂的应用。ERTEC200P-2与外部主机接口的示意图如下。常用的接口包括UART,SPI,XHIF接口。…

MSI: 基于多元同步索引的SSVEP频率识别算法

MSI: 基于多元同步索引的SSVEP频率识别算法1.算法背景2.算法原理3.Python代码实现1.算法背景 脑机接口(Brain-Computer Interface, BCI)因其在神经工程与神经科学中的广泛应用价值而备受研究者们的关注。BCI系统可以在人类或动物被试与外部设备之间提供…

“深元AI”赋能传统加油站智能化转型,全力打造新一代智慧加油站

历届的全国两会和党代会上,“安全生产”始终是核心议题。党的二十大报告提出:推动公共安全治理模式向事前预防转型,并强调要加强重点行业、重点领域安全监管,提高防灾减灾救灾和重大突发公共事件处置保障能力。同时,国…

Linux_vim编辑器

Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方都能进一步了解它&…

Java的CPU 飙升700%优化的真实案例

最近负责的一个项目上线,运行一段时间后发现对应的进程竟然占用了700%的CPU,导致公司的物理服务器都不堪重负,频繁宕机。 那么,针对这类java进程CPU飙升的问题,我们一般要怎么去定位解决呢? 采用top命令定位进程 登…

spring初始项目创建

首先进入http://spring.p2hp.com/projects/spring-framework.html,点击git按钮 点击Access to Binaries中的链接 找到里程碑版本,要引入仓库地址 这里的spring-context依赖只是基础的spring框架的依赖 在resources目录下创建spring的xml文件&#xff0c…

中国31个主要城市绿地数据(空间分辨率为1m)

近年来,为了满足生态文明和可持续发展的理念,科学的城市绿地规划和管理在中国越来越受到重视。因此,提高UGS分类体系和布局布局的合理性,建设绿色宜居城市,是近年来政府和学者关注的重点。为此,本文选取中国…

ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域

专题一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 专题二、ArcGIS专题地图制作 2.1专题地图制作规范 2.2 空间数据的准备与处理 2.3 空间数据可视化:地图符号与…

Terraform 系列-Terraform Cloud 比 Terraform OSS 有哪些增强?

系列文章 👉 Terraform 系列文章 前言 最近在使用 Terraform Cloud 来置备 OCI 的 Always Free Tier, 发现它非常好用,相比 Terraform OSS, 用起来省心多了。 也借此总结学习下:Terraform Cloud 比 Terraform OSS 有哪些增强,…

【从零开始学Skynet】实战篇《球球大作战》(一):功能设计

为了能把之前在基础篇中学习到的Skynet的各种知识结合起来,所以在实战篇中,我们准备开发一个完整的游戏案例《球球大作战》,介绍分布式游戏服务端的实现方法。 1、功能需求 《球球大作战》是一款多人对战游戏,下图是它的战斗场景…

C语言库函数(memcpy,memmove)的模拟实现

模拟实现memcpy函数 下面是memcpy的函数声明 void *memcpy(void *str1, const void *str2, size_t n) 参数 str1 -- 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。str2 -- 指向要复制的数据源,类型强制转换为 void* 指针。n -- 要被复…

stm32当中的EXTI外部中断系统

一. 中断系统 中断 : 在主程序运行过程中,出现特定的中断触发条件,使得CPU暂停当前正在运行的程序,而去处理中断程序,完成后,又返回原来被暂停的位置继续工作 中断优先 : 当有多个中断开始时&…

SSR初体验-结合Vue3全家桶

SSR初体验 基础搭建 安装依赖 先开启一个服务器 let express require("express");let server express();server.get("/", (req, res) > {res.send(Hello Node Server); });server.listen(3000, () > {console.log("start node server on …

vue3引入Element plus的详细步骤

目录 一、遇到问题 二、操作步骤 一、遇到问题 在用vue3去引用Element UI的时候,发现了白屏不能显示,一直检查是不是代码的问题。后面找到了问题的所在,原来是vue3对应兼容的是Element Plus,要去下载对应的Element plus版本来引…

为什么提升客户服务是长期成功的关键

当今互联网,服务越来约趋向个人化,但在这个在线互动的时代,当涉及到客户支持时,这种个人联系的感觉可能很难形成。当事情出错时,当客户需要支持时,个人联系的感觉最为强烈。在不远的过去,客户支…

网络安全如何入门?有哪些学习误区?

那年我高三毕业的时候要填志愿前几天 我妈问我想学什么专业。 我说,想学网络设计、或者计算机、网络安全工程师 那时候还比较年轻,也对网络,计算机这方面感兴趣嘛 于是我妈和我爸决定让我学网管。 我说不想做网管,想直接成为一…