UE5 HLSL 详细学习笔记

这里的POSITION是变量Position的语义,告诉寄存器,此变量的保存位置,通常语义用于着色器的输入和输出,以冒号":"的方式进一步说明此变量,COLOR也类似

还有什么语义呢?

HLSL核心函数:

复制代码
float3 Pixels = Texture2DSample(Tex, TexSampler, myUV);
for(int i = 0; i < n; i++) {
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(offset, 0));
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(-offset, 0));
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(0, offset));
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(0, -offset));
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(offset, -offset));
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(-offset, offset));
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(offset, offset));
    Pixels += Texture2DSample(Tex, TexSampler, myUV + float2(-offset, -offset));
}
Pixels /= 8 + 1;

return Pixels;

模糊

复制代码
float2 myUV = floor(uv * 20) / 20;
float3 Pixels = Texture2DSample(Tex, TexSampler, myUV);

return Pixels;

像素化

相关推荐
大叔学Linux1 小时前
FreeRTOS任务切换笔记
arm开发·笔记
别动我齐刘海2 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
一直C2 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
承渊政道3 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
andrsted3 小时前
练题簿免费刷题小程序:和学习搭子共用一份题库,一起刷题复习
学习·面试·微信小程序·小程序·学习方法·刷题
fqbqrr3 小时前
2610学习,ahk学习技巧
学习
fengci.3 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
有Li4 小时前
基于超高分辨率CT智能分割与测量的单侧梅尼埃病内耳解剖特征定量研究文献速递/医学智能体前沿
大数据·人工智能·学习·文献·医学生
职豚求职小程序刷题4 小时前
易方达基金2027秋招笔试|考什么+场次提醒
笔记
Дерек的学习记录4 小时前
Unreal Engine 5:开关门实现和流程控制
开发语言·学习·ue5