【发布时间】:2014-09-06 11:25:11
【问题描述】:
我目前正在尝试在 sharpdx 中实现半透明多边形。
目前我正在使用 GraphicsDevice 和 BasicEffect 来绘制我的对象。
// Setup the vertices
game.GraphicsDevice.SetVertexBuffer(myModel.vertices);
game.GraphicsDevice.SetVertexInputLayout(myModel.inputLayout);
// Apply the basic effect technique and draw the object
basicEffect.CurrentTechnique.Passes[0].Apply();
game.GraphicsDevice.Draw(PrimitiveType.TriangleList, myModel.vertices.ElementCount);
这对于普通对象来说效果很好,但是我想让一些对象部分透明。我已将这些对象颜色的 alpha 值设置为 50,但它们仍被渲染为不透明。我需要做什么才能达到这个效果?
【问题讨论】:
-
取决于您设置 alpha 值的位置。通常,这是 [0, 1] 范围内的浮点数。
-
好的,谢谢...我将 alpha 值设置在 [0, 100] 之间。
-
我遇到了一个新问题 - 每当我将任何新 Color 的变量设置为十进制值时,它似乎都没有正确设置:我将其设置为 'public Color waterColor = new颜色(0, 0, 205, 0.5f);'但是当我打印颜色值是在分配之后它说'A:127 R:0 G:0 B:255'
-
这就是我问你如何设置颜色的原因。
Color有不同的构造函数。要么使用 [0, 1] 范围内的所有float值,要么使用 [0, 255] 范围内的所有byte值。你不应该混淆它。
标签: graphics transparency sharpdx