我想统一使用着色器创建自定义方格图案效果

问题描述

我想基于3 x 3的int网格统一创建可自定义的棋盘图案,在该网格中,我用1表示透明像素,用0表示全彩色像素。

问题是,到目前为止,我找不到任何类型的结构来保存所述矩阵。我尝试了mat3x3,int3x3和float3x3,但是在通过传递初始化它们之后,它们在所有索引上都返回相同的值,即0。

v2f.muv包含屏幕位置坐标

我初始化错误吗?

const int3x3 c8 = { 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分钟之后,我发现我只需要在初始化之前放置static。