我想在许多 TGLPlane 之一上放置一个视觉亮点(真的是选择框),这些 TGLPlane 分配了许多不同的纹理。如何使用 GLScene 将第二个贴花纹理应用于该平面?
一些背景。应用于平面的各种不同纹理都存储在 MaterialLibrary 中,并分配给各自的平面 Material.MaterialLibrary 和 Material.LibMaterialName。这是纹理的适当有效重用,因为无论使用多少次,它们都只加载一次。
您似乎无法使用 TGLPlane 上的任何属性,因为一旦您将 MaterialLibrary 纹理应用于它,它们就会被忽略。
我可以找到这样做的方法似乎需要我更改 LibMaterial,这当然适用于共享该特定纹理的所有其他平面,所以这是不行的。
我在Google Code (Checkers)中发现的另一种方法通过创建第二个平面来解决这个问题,该平面应用了它自己的“突出显示”部分透明纹理,然后将其放置在原始对象(恰好是一个立方体)的略上方。这似乎是一种绕过它的技巧,我希望尽可能避免这种情况。
如果它不是 GLScene 的内置功能,那么是否有一种方法可以在渲染到达该特定平面时拦截渲染,然后在应用 MaterialLibrary 纹理后使用一些 OpenGL 基元来应用贴花纹理?