在shaperenderer矩形上的Libgdx着色器

问题描述:

我想在shaperenderer中绘制一个2d矩形。那没问题。但是我想在这个矩形上创建一个自定义着色器。在shaperenderer矩形上的Libgdx着色器

所以我不需要纹理,我只想要一个自定义着色器的矩形。可能吗?怎么样?

我的矩形现在是一个渐变。我想在这个渐变中绘制我的着色器...

+0

你是什么意思着色器?透明度,色调,亮度? –

+0

我想操纵我的自定义片段着色器的渐变。使用着色器在渐变的顶部绘制六边形。像FBO一样,但没有FBO。仅适用于ShapeRenderer和ShaderProgram,带有矩形渐变;) – lacas

ShapeRenderer类有一个构造函数,如果您不想使用默认值,您可以在其中传入自己的ShaderProgram。但是,当您使用SpriteBatch呈现您的东西时,您无法像使用ShaderProgram那样快速设置。

查看ShapeRendererImmediateModeRenderer20类的来源,了解如何应用默认着色器。然后根据您的需求调整ShapeRenderer的实例并调整ShaderProgram

+0

在代码潜水时可以看到:没有构造函数用于只有ShaderProgram参数的ShapeRenderer。默认的顶点数量是5000,所以当创建一个shaperenderer传递5000和着色器作为参数。 – Zoe