三亚兼职招聘信息网站/信息如何优化上百度首页公司

三亚兼职招聘信息网站,信息如何优化上百度首页公司,2023新闻摘抄,湖北做网站系统哪家好首先这里是绑定.usf文件的路径,并声明是用声明着色器 上面就是对应的usf文件路径,在第一张图进行链接 Shader Frequency 的作用 Shader Frequency 是 Unreal Engine 中用于描述着色器类型和其执行阶段的分类。常见的 Shader Frequency 包括&#xff1a…

首先这里是绑定.usf文件的路径,并声明是用声明着色器

上面就是对应的usf文件路径,在第一张图进行链接

Shader Frequency 的作用

Shader Frequency 是 Unreal Engine 中用于描述着色器类型和其执行阶段的分类。常见的 Shader Frequency 包括:

  • SF_Vertex:顶点着色器。

  • SF_Pixel:像素着色器(也称为片段着色器)。

  • SF_Geometry:几何着色器。

  • SF_Compute:计算着色器。

  • SF_RayGen:光线追踪着色器(用于光线追踪管线)。

SF_Compute 专门用于标识计算着色器,这是一种不直接参与图形渲染的着色器,而是用于通用计算任务(如 GPU 加速计算)。

使用场景:

1. SF_Vertex(顶点着色器)

作用:处理模型顶点数据,进行空间变换或顶点级计算。
使用场景

  • 顶点动画
    通过修改顶点位置实现动态效果,如旗帜飘动、水面波动、角色呼吸动画。

  • 模型变形
    程序化调整顶点位置(如挤压、膨胀、扭曲效果)。

  • 蒙皮网格(Skinned Mesh)
    在骨骼动画中计算顶点最终位置。

  • 顶点光照预计算
    对顶点法线进行初步光照计算(较少用,通常由像素着色器处理)。

    2. SF_Pixel(像素着色器/片段着色器)

    作用:计算每个像素的最终颜色,处理光照、纹理、材质等。
    使用场景

  • 材质着色
    结合纹理采样、法线贴图、粗糙度等参数实现复杂表面效果(如金属、皮肤、布料)。

  • 后处理效果
    屏幕空间效果(如景深、模糊、颜色分级、HDR)。

  • 透明度与混合
    处理半透明材质(如玻璃、水、粒子效果)的Alpha混合。

  • 复杂光照模型
    自定义光照计算(如卡通着色、次表面散射)

    3. SF_Geometry(几何着色器)

    作用:在顶点和像素着色器之间动态生成或修改图元(如三角形、线段)。
    使用场景

  • 动态细分
    根据距离或LOD动态增加模型细节(如远处简化的地形近处细分)。

  • 程序化几何生成
    从点数据生成复杂几何体(如毛发、草地、粒子轨迹)。

  • 几何变形
    实时切割模型或生成爆炸碎片。

  • 剔除优化
    根据条件剔除不可见图元。

    4. SF_Compute(计算着色器)

    作用:通用GPU计算,不直接参与图形渲染管线,通过线程组并行处理数据。
    使用场景

  • 物理模拟
    大规模粒子系统、流体动力学、布料模拟(如 Niagara GPU 粒子)。

  • 图像处理
    实时模糊、HDR 色调映射、屏幕空间反射/折射。

  • 数据结构处理
    加速八叉树、BVH 构建(用于光线追踪)。

  • AI 推理
    在GPU上运行机器学习模型(如风格化滤镜)。

    5. SF_RayGen(光线生成着色器)

    作用:光线追踪管线的起点,定义如何生成初始光线(如相机射线、阴影射线)。
    使用场景

  • 光线追踪反射/折射
    生成精确的镜面反射或透明材质光线。

  • 全局光照(RTGI)
    通过追踪间接光照路径实现真实漫反射。

  • 阴影计算
    生成软阴影或复杂遮挡关系的光线。

  • 体积效果
    模拟光线在雾、烟雾中的散射。

    总结与选择指南

    着色器类型适用场景性能影响硬件要求
    SF_Vertex顶点动画、模型变形、蒙皮网格所有平台
    SF_Pixel材质、光照、后处理、透明度中-高所有平台
    SF_Geometry动态细分、程序化几何生成桌面端/高端移动端
    SF_ComputeGPU计算、物理模拟、图像处理可变支持Compute Shader
    SF_RayGen光线追踪反射、全局光照、复杂阴影极高RTX/AMD RDNA2+
  • 当我在蓝图调用CreateNoise
  • 流程如下:
  • 首先在library中调用接口函数,这里会转到FNoiseSceneViewExtension里面
  • 它会自动走到这个函数(自动调用)
  • 然后调用GenerateNoise函数
  • 上面的FGenerateNoiseCSShader是在这里进行绑定的,绑定了对应的文件路径和文件调用函数,这里调用GenerateNoiseCS.usf中的MainCS函数
  • MainCS又会调用Noise函数,最后成像
  • ScreenPassTexture FNoiseSceneViewExtension::GenerateNoise(FRDGBuilder& GraphBuilder, const FSceneView& View, const FPostProcessMaterialInputs& Inputs)
    {const FScreenPassTexture& SceneColor = FScreenPassTexture::CopyFromSlice(GraphBuilder, Inputs.GetInput(EPostProcessMaterialInput::SceneColor));FGenerateNoiseCSShader::FParameters* Parameters = GraphBuilder.AllocParameters<FGenerateNoiseCSShader::FParameters>();//这里的FGenerateNoiseCSShaderFIntPoint ScreenSize = { SceneColor.ViewRect.Width(), SceneColor.ViewRect.Height() };FRDGTextureDesc OutputDesc = FRDGTextureDesc::Create2D( ScreenSize,SceneColor.Texture->Desc.Format, FClearValueBinding::Black, TexCreate_ShaderResource | TexCreate_UAV);FRDGTextureRef OutputTex = GraphBuilder.CreateTexture(OutputDesc, TEXT("Output Texture"));Parameters->Color = FVector4f(1.f, 0.f, 0.f, 1.f);const FSceneViewFamily& ViewFamily = *View.Family;ERHIFeatureLevel::Type FeatureLevel = View.GetFeatureLevel();FGlobalShaderMap* GobalShaderMap = GetGlobalShaderMap(FeatureLevel);TShaderMapRef<FGenerateNoiseCSShader> GenerateNoiseCSShader(GobalShaderMap);Parameters->ScreenDimensions = FVector2f(ScreenSize.X, ScreenSize.Y);Parameters->Output = GraphBuilder.CreateUAV(OutputTex);FIntPoint ThreadCount = ScreenSize;FIntPoint ThreadSize = FIntPoint(8, 8);FIntVector GroupCount = FComputeShaderUtils::GetGroupCount(ThreadCount, ThreadSize);FComputeShaderUtils::AddPass(GraphBuilder, RDG_EVENT_NAME("Generate Noise"),GenerateNoiseCSShader, Parameters, GroupCount);AddCopyTexturePass(GraphBuilder, OutputTex, SceneColor.Texture);return SceneColor;
    }

    首先第一行函数声明

  • 参数

  • GraphBuilder:RDG 的构建器,管理渲染资源的生命周期和依赖关系。

  • View:当前渲染的视图信息(如摄像机参数、视口尺寸)。

  • Inputs:后处理阶段输入数据(如场景颜色、深度纹理)

从这里面获取到了场景颜色信息

拿的是Inputs也就是上面文字中,后期处理阶段的数据(例如场景颜色)

拿到了SceneColor

CopyFromSlice:创建纹理的副本,避免直接修改原始纹理(保证数据安全)

  • 作用:为计算着色器 FGenerateNoiseCSShader 分配参数内存。

注意观察,下面关于FGenerateNoiseCSShader的变量都是GenerateNosiseCS.usf里面的变量

 

之后都是给这三个参数赋值!

  • FRDGTextureDesc:定义纹理属性:

    • Create2D:创建 2D 纹理。

    • SceneColor.Texture->Desc.Format:继承输入纹理的格式(如 PF_A16B16G16R16)。

    • TexCreate_ShaderResource | TexCreate_UAV:允许纹理作为 Shader Resource 和 UAV(Unordered Access View)使用。

  • GraphBuilder.CreateTexture:通过 RDG 创建纹理,确保资源依赖关系正确。

  • 通过生成的纹理属性,创建贴图引用

 给Parameters的Color参数赋值为红色

  • ViewFamily 和 FeatureLevel:获取当前视图的渲染层级(如 ES3.1、SM5、SM

  • GetGlobalShaderMap:获取全局着色器映射,用于加载计算着色器。

 通过计算出的全局着色器映射创建hlsl实例脚本

 获取到屏幕大小,以及通过创建的贴图引用构建出一个可读写的2D贴图纹理输出

  • ThreadCount:总线程数(等于屏幕分辨率,例如 1920x1080)。

  • ThreadSize:单个线程组的尺寸(8x8,需与 HLSL 中的 [numthreads(8,8,1)] 一致)。

  • FComputeShaderUtils::GetGroupCount:计算线程组数量(例如 1920/8=2401080/8=135)。

  • FComputeShaderUtils::AddPass:将计算着色器任务添加到 RDG,并命名事件为 "Generate Noise"。

  • 生成需要的线程数,一个像素对应一个线程进行处理(GPU优势就是线程多,计算快!)

  • 作用:将计算着色器的输出纹理 OutputTex 复制回原始场景颜色纹理。

  • 细节

    • AddCopyTexturePass:通过 RDG 添加纹理复制任务,将 OutputTex 数据复制到 SceneColor.Texture


    • 现在要将屏幕中的noise消除
      这个TOptional是用来做什么的呢,其实最主要是用于非指针的类型,可以判断非指针类型是否为空,当然虚幻也可以用于指针,举例如下:

    • 当一个TMap内,判断是否为空(没有初值,但是TMap的int类型会默认赋初值为0,这个时候就没有办法判断是否值被更改过,因为可能传进来的值也有可能为0,这个时候TOptional就排上用场了,你将int包裹成TOptional<int>就可以了,如果有将值输入进去,你就能判断是否值被修改过,就能判断是否为空还是非空,从而方便之后的操作

    • 第二,配置文件,当你输入了配置文件到TOptional里面,就可以判断非空,如果没有配置,那么就为空

    • 这个使用场景还是很多的,合理使用,能够帮你减少很多麻烦

 剩下就可以置空所有内容,就可以清除掉我们屏幕的效果啦!

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

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

相关文章

解决单元测试 mock final类报错

文章目录 前言解决单元测试 mock final类报错1. 报错原因2. 解决方案3. 示例demo4. 扩展 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0…

2025系统架构师(一考就过):案例之三:架构风格总结

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式&#xff0c;按照软件架构风格&#xff0c;物联网系统属于&#xff08; &#xff09;软件架构风格。 A:层次型 B:事件系统 C:数据线 D:C2 答案&#xff1a;A 解析&#xff1a; 物联网分为多个层次&#xff0…

数据如何安全“过桥”?分类分级与风险评估,守护数据流通安全

信息化高速发展&#xff0c;数据已成为企业的核心资产&#xff0c;驱动着业务决策、创新与市场竞争力。随着数据开发利用不断深入&#xff0c;常态化的数据流通不仅促进了信息的快速传递与共享&#xff0c;还能帮助企业快速响应市场变化&#xff0c;把握商业机遇&#xff0c;实…

华宇TAS应用中间件与统信最新版本操作系统完成兼容互认证

近日&#xff0c;华宇TAS应用中间件与统信服务器操作系统经过技术迭代与优化&#xff0c;在原先UOS V20的基础上完成了UOS V25的兼容互认证。此次认证涵盖了众多主流的国产CPU平台&#xff0c;包括鲲鹏920、飞腾FT2000/64、飞腾腾云S2500等。 经过严格测试&#xff0c;双方产品…

35. Spring Boot 2.1.3.RELEASE 应用监控【监控信息可视化】

在 Spring Boot 2.1.3.RELEASE 中实现监控信息可视化可以通过多种方式&#xff0c;下面为你详细介绍使用 Spring Boot Actuator 结合 Grafana 和 Prometheus 以及使用 Spring Boot Admin 这两种常见方法。 方法一&#xff1a;Spring Boot Actuator Grafana Prometheus 1. 添…

服务器间迁移conda环境

注意&#xff1a;可使用迁移miniconda文件 or 迁移yaml文件两种方式&#xff0c;推荐前者&#xff0c;基本无bug&#xff01; 一、迁移miniconda文件&#xff1a; 拷贝旧机器的miniconda文件文件到新机器: 内网拷贝&#xff1a;scp -r mazhf192.168.1.233:~/miniconda3 ~/ 外…

20250223下载并制作RTX2080Ti显卡的显存的测试工具mats

20250223下载并制作RTX2080Ti显卡的显存的测试工具mats 2025/2/23 23:23 缘起&#xff1a;我使用X99的主板&#xff0c;使用二手的RTX2080Ti显卡【显存22GB版本&#xff0c;准备学习AI的】 但是半年后发现看大码率的视频容易花屏&#xff0c;最初以为是WIN10经常更换显卡/来回更…

Git版本控制系统---本地操作(万字详解!)

目录 git基本配置 认识工作区、暂存区、版本库 添加文件--情况一&#xff1a; 添加文件-情况二: 修改文件: 版本回退&#xff1a; git基本配置 1.初始化本地仓库&#xff0c;注意&#xff1a;一定要在一个目录下进行&#xff0c;一般都是新建一个文件夹&#xff0c;在文件…

Jupyter Notebook切换虚拟环境(Kernel管理)

我们在使用Jupyter Notebook的时候&#xff0c;打开文件发现只有一个Python3(ipykernel)&#xff0c;我们自己在conda中创建的虚拟环境为什么没有显示出来&#xff0c;今天我就来和大家一起讨论一下&#xff01; 在 Jupyter Notebook 中&#xff0c;kernel 是执行代码的核心。管…

【网络安全】常见的web攻击

1、SQL注入攻击 定义&#xff1a; 攻击者在HTTP请求中注入恶意的SQL代码&#xff0c;当服务器利用参数构建SQL语句的时候&#xff0c;恶意的SQL代码被一起构建,并在数据库中执行。 示例&#xff1a; 用户登录&#xff1a; 输入用户名xx&#xff0c; 密码 or 1 …

Java基础关键_012_包装类

目 录 一、基本数据类型对应的包装类 1.概览 2.说明 二、包装类 1.最大值与最小值 2.构造方法 3.常用方法&#xff08;Integer为例&#xff09; &#xff08;1&#xff09;compare(int x, int y) &#xff08;2&#xff09;max(int a, int b) 和 min(int a, int b) &…

【Java 面试 八股文】JVM 虚拟机篇

JVM 虚拟机篇 1. JVM组成1.1 JVM由那些部分组成&#xff0c;运行流程是什么&#xff1f;1.2 什么是程序计数器&#xff1f;1.3 你能给我详细的介绍Java堆吗?1.4 Java 虚拟机栈1.4.1 Java Virtual machine Stacks (java 虚拟机栈)1.4.2 栈和堆的区别1.4.3 垃圾回收是否涉及栈内…

QT 引入Quazip和Zlib源码工程到项目中,无需编译成库,跨平台,加密压缩,带有压缩进度

前言 最近在做项目时遇到一个需求&#xff0c;需要将升级的文件压缩成zip&#xff0c;再进行传输&#xff1b; 通过网络调研&#xff0c;有许多方式可以实现&#xff0c;例如QT私有模块的ZipReader、QZipWriter&#xff1b;或者第三方库zlib或者libzip或者quazip等&#xff1…

Fiddler在Windows下抓包Https

文章目录 1.Fiddler Classic 配置2.配置浏览器代理自动代理手动配置浏览器代理 3.抓取移动端 HTTPS 流量&#xff08;可选&#xff09;解决抓取 HTTPS 失败问题1.Fiddler证书过期了 默认情况下&#xff0c;Fiddler 无法直接解密 HTTPS 流量。需要开启 HTTPS 解密&#xff1a; 1…

DINOv2 + yolov8 + opencv 检测卡车的可拉拽雨覆是否完全覆盖

最近是接了一个需求咨询图像处理类的&#xff0c;甲方要在卡车过磅的地方装一个摄像头用检测卡车的车斗雨覆是否完全&#xff0c; 让我大致理了下需求并对技术核心做下预研究 开发一套图像处理软件&#xff0c;能够实时监控经过的卡车并判断其车斗的雨覆状态。 系统需具备以下…

AI除了可以能提高工作效率的还可以实现哪些功能?

AI除了能显著提高工作效率之外&#xff0c;其在众多领域的潜力远不止于此。 在教育领域&#xff0c;AI正逐步成为个性化教学的得力助手。通过分析学生的学习习惯和能力水平&#xff0c;AI能够定制出最适合每个学生的学习计划&#xff0c;不仅提升了学习效率&#xff0c;还极大地…

vscode settings(一):全局| 用户设置常用的设置项

参考资料 Visual Studio Code权威指南 by 韩骏 一. 全局设置与用户设置 1.1 Vscode支持两种不同范围的设置 用户设置(User Settings)&#xff1a;这是一个全局范围的设置&#xff0c;会应用到所有的Visual Studio Code实例中。工作区设置(Workspace Settings)&#xff1a;设…

seacmsv9注入管理员账号密码+orderby+limit

一、seacmsv9 SQL注入漏洞 1.1 seacms漏洞介绍 海洋影视管理系统&#xff08;seacms&#xff0c;海洋cms&#xff09;是一套专为不同需求的站长而设计的视频点播系统&#xff0c;采 用的是 php5.Xmysql 的架构&#xff0c;seacmsv9漏洞文件&#xff1a;./comment/api/index.p…

WPF学习之Prism(二)

前言 学习一下Prism。 1.Prism Prism框架提供了一套丰富的工具、类和模块&#xff0c;帮助开发人员实现以下功能&#xff1a; 模块化&#xff1a;Prism框架支持将应用程序拆分为多个模块&#xff0c;每个模块具有自己的功能和视图。这种模块化的设计使得应用程序更加灵活和…

【EB-03】 AUTOSAR builder与EB RTE集成

AUTOSAR builder与EB RTE集成 1. Import Arxml files to Tresos2. Run MultiTask Script3. Add Components3.1 Run EcuExtractCreator Script4. Mapping Component to Partitions5. Event Mapping/Runnables Mapping to Tasks6. Port Connect7. Run SvcAs_Trigger Script8. Ver…