我有一个汽车的 ipad opengl-es 1.1 应用程序,我希望用户能够更改颜色。3d 网格是 uv 纹理的,它以基本的灰色开始(带有阴影和高光)。我想向用户展示十几个颜色样本,以给汽车上色。我只是不确定此时我将如何有效/高效地交换颜色。
我的意思是,当前纹理是 1024 x 1024。我是否为我的应用程序中可用的每种颜色都包含一个 1024 x 1024 纹理?我在想可能有一种更简单的方法,如果我可以在原始 1024 x 1024 纹理上为每种颜色定义一个小的 20 x 20 像素表示。然后不知何故,当用户选择颜色样本时,我可以去抓取颜色并将其“应用”到汽车上。这有意义吗?
我已将所有网格照明/颜色烘焙到我的纹理中,因此应用程序本身不使用照明,因此仅尝试更改颜色对我的纹理没有影响。如果我确实使用照明,我可以将灰色纹理与材质颜色变化混合,但我真的不喜欢这个解决方案的外观。我正在寻找纹理特定的解决方案(我认为)
任何想法或建议都会很棒。谢谢!