使用OpenGL ES 2.0在Android中更改3D对象的颜色

时间:2018-09-26 03:37:02

标签: android colors opengl-es-2.0

我已经使用OpenGL ES 2.0在Android应用程序中加载了3D对象。为demo of OpenGL ES 2.0

现在,我需要在运行时单击按钮更改加载的对象颜色。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

问题太广泛了。

首先,没有诸如“ OpenglES 2.0中3D对象的颜色”之类的东西。任何“颜色”都是确切的应用程序中使用的渲染管线的一部分,它是着色器的属性或着色器的参数,用于一个或多个渲染步骤中以获取一组多边形的最终视觉效果。因此,我们不知道需要什么步骤来更改正在应用程序中渲染的多边形的外观。

接下来的主要事情是加载3D模型。有很多格式,每种格式具有不同的功能。单个模型可以用不同的材质在多个子网格中表示,涉及不同的着色器,甚至顶点格式。您引用的示例可以加载“ Wavefront OBJ”和“ Collada”格式。这可能是可能的3D模型格式范围的一个极端。 Collada可以产生各种各样的顶点格式和应用于几何的材质属性,因此“如何改变对象的颜色”根本没有直接答案。

可能对您使用的示例进行了简单的更改,以使所有多边形都以相同的阴影呈现,但是这需要对您拥有的材料进行大量的工作,而这超出了“问题-答案”的格式讨论。