RenderDoc在Texture View中使用自定义的Shader

news/2024/12/12 17:11:39/文章来源:https://www.cnblogs.com/PAdiD/p/18597492

简单介绍一下如何在RenderDoc中使用Channels设定为Custom后的Shader;

官方文档:How do I use a custom visualisation shader?

  • 在Texture View中设置Channels为Custom;
  • 输入新创建的Shader名称及后缀;

  • 点击绿色加号创建Custom Shader,创建的hlsl保存会在C:\Users\PC\AppData\Roaming\qrenderdoc路径下。

  • 其顶栏有4给功能:Find:文件内搜索/替换;Bookmark:设置书签,可以快速跳转;Refresh:修改后的Shader需要Refresh后才能生效。Insert...:快速添加内置的一些变量;

如何获取到当前纹理并处理

添加Point & Linear SamplersTexture Resources,通常当前纹理都是texDisplayTex2DArray中的第一个元素,采样即可得到当前颜色。

点击查看代码

/////////////////////////////////////
//           Resources             //
/////////////////////////////////////// Float Textures
Texture1DArray<float4> texDisplayTex1DArray : register(RD_FLOAT_1D_ARRAY_BINDING);
Texture2DArray<float4> texDisplayTex2DArray : register(RD_FLOAT_2D_ARRAY_BINDING);
Texture3D<float4> texDisplayTex3D : register(RD_FLOAT_3D_BINDING);
Texture2DMSArray<float4> texDisplayTex2DMSArray : register(RD_FLOAT_2DMS_ARRAY_BINDING);
Texture2DArray<float4> texDisplayYUVArray : register(RD_FLOAT_YUV_ARRAY_BINDING);// only used on D3D
Texture2DArray<float2> texDisplayTexDepthArray : register(RD_FLOAT_DEPTH_ARRAY_BINDING);
Texture2DArray<uint2> texDisplayTexStencilArray : register(RD_FLOAT_STENCIL_ARRAY_BINDING);
Texture2DMSArray<float2> texDisplayTexDepthMSArray : register(RD_FLOAT_DEPTHMS_ARRAY_BINDING);
Texture2DMSArray<uint2> texDisplayTexStencilMSArray : register(RD_FLOAT_STENCILMS_ARRAY_BINDING);// Int Textures
Texture1DArray<int4> texDisplayIntTex1DArray : register(RD_INT_1D_ARRAY_BINDING);
Texture2DArray<int4> texDisplayIntTex2DArray : register(RD_INT_2D_ARRAY_BINDING);
Texture3D<int4> texDisplayIntTex3D : register(RD_INT_3D_BINDING);
Texture2DMSArray<int4> texDisplayIntTex2DMSArray : register(RD_INT_2DMS_ARRAY_BINDING);// Unsigned int Textures
Texture1DArray<uint4> texDisplayUIntTex1DArray : register(RD_UINT_1D_ARRAY_BINDING);
Texture2DArray<uint4> texDisplayUIntTex2DArray : register(RD_UINT_2D_ARRAY_BINDING);
Texture3D<uint4> texDisplayUIntTex3D : register(RD_UINT_3D_BINDING);
Texture2DMSArray<uint4> texDisplayUIntTex2DMSArray : register(RD_UINT_2DMS_ARRAY_BINDING);//////////////////////////////////////////////////////////////////////////
//            Samplers             //
/////////////////////////////////////SamplerState pointSampler : register(RD_POINT_SAMPLER_BINDING);
SamplerState linearSampler : register(RD_LINEAR_SAMPLER_BINDING);/////////////////////////////////////float4 SampleTexture2DArray(float2 uv, int sliceIndex)
{return texDisplayTex2DArray.Sample(linearSampler, float3(uv, sliceIndex));
}float4 main(float4 pos : SV_Position, float4 uv : TEXCOORD0) : SV_Target0
{float3 m_color = SampleTexture2DArray(uv.xy, 0).rgb;return float4(m_color.b, m_color.g, m_color.r,1);
}

效果:

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASE50N06-ASEMI中低压N沟道MOS管ASE50N06

ASE50N06-ASEMI中低压N沟道MOS管ASE50N06编辑:ll ASE50N06-ASEMI中低压N沟道MOS管ASE50N06 型号:ASE50N06 品牌:ASEMI 封装:TO-252 批号:最新 最大漏源电流:50A 漏源击穿电压:60V RDS(ON)Max:15mΩ 引脚数量:3 芯片个数: 沟道类型:N沟道MOS管、低压MOS管 漏电流:…

【算法基础】图的存储与遍历

一、图的存储 在我们存储图的时候,主要使用邻接矩阵、邻接表两种方式来存储。通常邻接矩阵存储稠密图(边多),临界矩阵存储稀疏图(边少)。1.1 邻接矩阵存储 邻接矩阵听起来比较高大上,其实就是用二维数组来表示 \(a\) 点与 \(b\) 点之间有一条边。例如在上述无向图中 \(1…

解决Pandas的to_excel()写入不同Sheet,而不会被重写

一、问题描述 在使用Pandas的to_excel()方法写入数据时,当我们想将多个数据写入一个Excel表的不同DataFrame中,虽然能够指定sheet_name参数,但是会重写整个Excel之后才会存储。 现在有3个sheet,内容如下:>>> import pandas as pd >>> df1 = pd.read_exc…

基于Transformer的生成式人工智能模型的训练和推理以及成员推断攻击的实现

Transformer_AI 2024年11月15日更新 在此教程中,我们将对基于Transformer的生成式人工智能模型及其原理进行一个简单的介绍,并实现其训练和推理过程,且至少支持3种数据集,目前支持数据集有:MNIST、fashionMNIST、CIFAR10等,并给用户提供一个详细的帮助文档。 目录 基本介…

协作文档的核心逻辑:秩序性如何赋能团队?

协作文档:秩序性的数字化创新 在当今高速发展的信息化社会中,协作文档已经成为团队合作和企业运作的重要工具。协作文档不仅提供了便捷的协作环境,更为高效的任务管理和知识共享带来了全新的可能。然而,真正出色的协作文档不只是一个工具,它更是一种体现秩序性的管理理念。…

macOS Sonoma 14.7.2 (23H311) 正式版 ISO、IPSW、PKG 下载

macOS Sonoma 14.7.2 (23H311) 正式版 ISO、IPSW、PKG 下载macOS Sonoma 14.7.2 (23H311) 正式版 ISO、IPSW、PKG 下载 利用小组件进行个性化设置、令人眼前一亮的全新屏幕保护、Safari 浏览器和视频会议的重大更新 请访问原文链接:https://sysin.org/blog/macOS-Sonoma/ 查看…

前端性能优化实战:从加载到渲染的全链路提速

"网站太慢了,用户都在抱怨!"上周,我接手了一个正在运行的电商项目,首屏加载时间竟然长达 8 秒。作为一个对性能有执念的前端开发者,这个数字让我夜不能寐。经过一周的优化,我们把首屏时间压缩到了 2 秒以内。今天,我想和大家分享这个过程中的实战经验。😊 性…

转载:【AI系统】算子手工优化

在上一篇中,探讨了算子计算和调度的概念,并强调了高效调度策略在释放硬件性能和降低延迟方面的重要性。本文,我们将深入讨论手写算子调度时需要考虑的关键因素,并介绍一些著名的高性能算子库。 计算分析 在优化算子前,首先需要知道当前程序的瓶颈在哪里,是计算瓶颈还是访…

强化学习模型的训练和推理以及成员推断攻击的实现

Reinforcement_learning 2024年9月1日更新 在此教程中,我们将对强化学习模型及其原理进行一个简单的介绍,并实现一种强化学习模型的训练和推理过程,且至少支持3种数据集,目前支持数据集有:MNIST、fashionMNIST、CIFAR10等,并给用户提供一个详细的帮助文档。 目录 基本介绍…

ASE8N65S-ASEMI高压N沟道MOS管ASE8N65S

ASE8N65S-ASEMI高压N沟道MOS管ASE8N65S编辑:ll ASE8N65S-ASEMI高压N沟道MOS管ASE8N65S 型号:ASE8N65S 品牌:ASEMI 封装:TO-220F 最大漏源电流:8A 漏源击穿电压:650V 批号:最新 RDS(ON)Max:1.25Ω 引脚数量:3 沟道类型:N沟道MOS管 芯片尺寸:MIL 漏电流: 恢复时间:…

OCR识别智能采集终端-拍照抄表器-数采物联网水电气仪表采集

www.daq-iot.com SC-LP-CAM系列电池供电无线定时拍照摄像头抄表终端水表读表器是一款由数采物联推出的新型数据采集终端,可以用于快速抄表传统老旧机械仪表或无法直接通讯的仪表。它采用摄像直读方式,在设定的时间间隔内进行拍照,并将照片上传到服务器后进行分析识别,得…