我是HLSL和着色器的新手。我似乎无法替换检索到的颜色。用于2D文本,即字幕。问题是如果我在main()外部设置osd_color,它什么也不会显示。我正在使用Shazzam Shader Editor 1.4快速查看效果,但是程序中也会发生同样的情况。
sampler2D texture0 : register(s0);
float4 osd_color = float4(0,0,0,1);
struct PixelShaderInput
{
float2 uv0: TEXCOORD0;
float4 color: COLOR;
};
float4 main(PixelShaderInput input): COLOR {
float4 color = tex2D(texture0, input.uv0) * osd_color;
return color;
}
Run Code Online (Sandbox Code Playgroud)
希望能对您有所帮助。
编辑:
当我在使用它时,如果我想添加阴影/轮廓并返回其颜色,该怎么办?假设每个变量都有效。osd_color是白色,float4轮廓是黑色。我试过了:
float4 outline = tex2D(texture0, (input.uv0 * 1.1) ) * outline_color;
return color + outline;
Run Code Online (Sandbox Code Playgroud)
这样,我得到的是白色(osd_color)。
我对ggplot2包和渐变填充有一些困难.对于数据点数较少的数据,其梯度和密度强度并不匹配.这是一个例子:
我使用的代码是:
pt <- read.xlsx("plots.xlsx", sheetName = "PT1_TB varseq", stringsAsFactors=FALSE)
ggplot(pt, aes(x=pt$BAF, y=pt$LogR) ) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE) +
scale_fill_distiller(palette= "Spectral", direction=-1) +
scale_y_continuous(name="LogR", limits = c(-0.8, 0.6), breaks = seq(-0.8, 0.6, 0.2)) +
scale_x_continuous(name="BAF", breaks = seq(0, 0.8, 0.2)) +
theme(
legend.position='none',
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_line(colour = "black")
) +
geom_point(aes(shape = factor("cyl")), size = 1) + scale_shape(solid = FALSE)
Run Code Online (Sandbox Code Playgroud)
我希望渐变更突然地改变,例如,我希望在(0; 0.2)和(0.25; -0.2)之间的点之间看到更多的颜色分离.此外,没有点的中间的黄色应该是蓝色.
当我在它的时候,是否有人知道如何消除轴和实际情节之间的白色间隙?
提前致谢 …