unity3d - 我想用统一的着色器创建自定义方格图案效果
问题描述
我想基于 3 x 3 int 网格统一创建一个可定制的棋盘图案,在其中我用 1 指定哪个像素是透明的,用 0 指定一个全彩色的。
问题是到目前为止我找不到任何类型的结构来保存所述矩阵。我尝试了 mat3x3、int3x3 和 float3x3,但是在传递中初始化它们之后,它们在所有索引上返回相同的值,即 0。
v2f.muv 包含屏幕位置坐标
我初始化错了吗?
const int3x3 c8 = { 1, 1, 1, 1, 0, 1, 1, 1, 1 };
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
col.a = c8[ i.muv.x % 3 ][ i.muv.y % 3 ];
return col;
}
解决方案
没关系,在发布后又搞砸了 5 分钟后,我发现我只需要将静态放在初始化前面。
推荐阅读
- c++ - 这个怎么运作 ???fstream 的奇怪行为
- bash - 为什么我的 if 语句在 switch 语句中总是评估为 false?
- c# - Working with Files, loop not stopping where i want to
- r - reorder columns dynamically in a data frame in R
- android - 如何为android中另一个片段中的按钮编写测试用例?
- ruby - Ugly indention with Sinatra ERB partials
- javascript - 在 Javascript 中完成递归 promise 函数的执行
- swift - Swift OSX Call bash Script
- php - Laravel route not defined while it is
- python - 多线程 XML-RPC (python3.7.1)