我必须在我的DirectX应用程序中绘制类似Photoshop的选择反馈。我遇到了维基百科上的algorithm来做到这一点。但是,我不确定它是否是正确的做法,特别是如果我的选择区域可以是任意几何图形。有人使用Directx实现它吗?任何提示都非常感谢。使用directx绘图进行蚂蚁
0
A
回答
0
基于这里我的意见是一个简单的像素着色器来实现想要的结果:
float4 PS(float4 pos : SV_POSITION) : SV_Target
{
float w = ((int)(pos.x + pos.y + t) % 8);
return (w < 4 ? float4(0,0,0,1) : float4(1,1,1,1));
}
x
和y
被添加到产生斜条纹图案。你可以想象如下:如果y
是恒定的,x
增加1,w
也增加1.这同样适用于y
。因此,为使w
保持不变,您必须去(x+1, y-1)
或(x-1, y+1)
(或其他步长)。我们使用%
算子产生8个像素的周期性。前半段是黑色,后半段是白色。
这是一个等效的,但性能更高的着色器。它使用位运算而不是模和比较。
float4 PS(float4 pos : SV_POSITION) : SV_Target
{
int w = ((int)(pos.x + pos.y + t) & 4);
return float4(w,w,w,1);
}
相关问题
- 1. 使用蚂蚁
- 2. 使用蚂蚁
- 3. 使用蚂蚁
- 4. 使用蚂蚁
- 5. 试图用蚂蚁
- 6. 蚂蚁运行
- 7. 蚂蚁build.compiler使用
- 8. 用蚂蚁运行java类
- 9. 用蚂蚁执行npm
- 10. 蚂蚁DB2备份不进行连续
- 11. 我有蚂蚁错误如何进行?
- 12. 构建步骤:“调用蚂蚁”与“从shell运行蚂蚁”
- 13. 蚂蚁调用
- 14. 无法使用命令行蚂蚁
- 15. 蚂蚁
- 16. 蚂蚁
- 17. 使用xjc与蚂蚁
- 18. 上市使用蚂蚁
- 19. 蚂蚁使用ProGuard - java.lang.NoClassDefFoundError
- 20. NoClassDefFoundError使用蚂蚁时
- 21. Ssh使用蚂蚁隧道
- 22. 建设hadoop使用蚂蚁
- 23. 使用密码的蚂蚁脚本通过SSH进行的Rsync
- 24. 试图运行蚂蚁 - 获取错误
- 25. 错误执行蚂蚁:-bash:蚂蚁:找不到命令
- 26. 如何运行蚂蚁脚本,蚂蚁没有安装?
- 27. 在pom.xml中执行蚂蚁从蚂蚁内部
- 28. MANIFEST.MF是用蚂蚁
- 29. NoClassDefFoundError的运行与蚂蚁
- 30. 从蚂蚁执行who -m
您可以计算像素着色器中的图案并将边框绘制为线条。只需将偏移参数't'传递给着色器并使用像素的屏幕坐标。 't'会每隔一段时间增加一次以使边框动起来。 –