问题描述
我最近在处理 3 中创建了一个简单的程序,将每个像素设置为其位置作为颜色。
void setup()
{
size(960,960);
}
void draw()
{
for(int j = 0;j < height;j++)
{
for(int i = 0;i < width;i++)
{
set(i,j,color(map(i,width,255),map(j,height,0));
}
}
}
我如何将其实现为着色器?
注意:我已经在网上看过了,并没有真正找到答案。
解决方法
如果你还不是很熟悉着色器,你应该先看看这个页面:https://processing.org/tutorials/pshader/
您可能想要的是绘制一个覆盖整个屏幕的矩形,并使用内置的 GLSL 变量 X = np.array(list(df['mfcc']),dtype=np.float)
X0 = np.zeros((50000,273))
for index,value in enumerate(df['attr1']):
X0[index][0] = value
X = np.hstack((X,X0))
,它为您提供 gl_FragCoord
中当前像素的索引和x
很像你的循环变量 y
和 i
。请参阅 https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/gl_FragCoord.xhtml 以获取完整文档
还要记住,片段着色器输出的值在 0 到 1 的范围内,而不是 0 到 255。所以最后相关的着色器代码可能看起来像:
j