根据info-beamer作者的评论,很明显,绘制任意三角形的函数在info-beamer 0.9.1中不可用。
我打算尝试的具体效果是在边缘淡化为透明的矩形。幸运的是,info-beamer-nodes源代码中的30c3-room/example示例了一种技术,我们将图像绘制为由GL片段着色器过滤的矩形。 1x1白色PNG是一个完全合理的模板,其颜色可以由我的应用程序中着色器的计算来代替。
尽管任意三角形不可用,但支持UV映射矩形(和旋转矩形),适用于许多用例。
我用下面的着色器:
uniform sampler2D Texture;
varying vec2 TexCoord;
uniform float margin_h;
uniform float margin_v;
void main()
{
float q = min((1.0-TexCoord.s)/margin_h, TexCoord.s/margin_h);
float r = min((1.0-TexCoord.t)/margin_v, TexCoord.t/margin_v);
float p = min(q,r);
gl_FragColor = vec4(0,0,0,p);
}
,这LUA在我node.render()
y = phase * 30 + center.y
shader:use {
margin_h=0.03;
margin_v=0.2;
}
white:draw(x-20,y-20,x+700,y+70)
shader:deactivate()
font:write(x, y, "bacon "..(phase), 50, 1,1,0,1)
你可以添加你想要做什么的更多信息?也许有另一种方式来实现,而不使用目前不支持的三角形网格。 – dividuum