http://img136.imageshack.us/img136/3508/texturefailz.png
这是我目前的计划。我知道它非常丑陋,我在网上发现了两个随机纹理('熔岩'和'纸'),它们似乎甚至都没有。这不是问题。
我正在试图找出RPG的第一步。这是一个10x10高度图的自上而下的截图(当前设置为全0,所以它只是一个平面),我通过每个四边形每个纹理一次通过来纹理它,每个顶点都有每个纹理的alpha值,这样它们就可以了与OpenGL融合。
问题在于,请注意纹理沿对角线的变化趋势,即使我使用GL_QUAD进行绘制,这可能是因为四边形变成了两个三角形的集合,然后角落处的alpha值更重沿着斜边......但我并没有想到这一点很重要。通过绘制四边形,我希望即使它们在某个低级别被分割成三角形,顶点alphas也会使纹理从顶点向外辐射出来。
如何解决此问题以使其看起来更好?我是否需要废弃这个并尝试一种完全不同的方法?这样的事情有不同的方法吗?我也很想听听其他选择。
随意提问,我会在这里提醒,直到得到有效答案,所以我会尽快发表评论。 谢谢!
编辑: 这是我想要达到的目标。不,我显然不是那些“试图制作MMORPG”的数十亿新手之一,我用它作为一个例子,因为它非常像我想要的: http://img300.imageshack.us/img300/5725/runescapehowdotheytile.png 你觉得这样做怎么样?它的一部分必须是顶点alphas,就像我正在做的那样,因为平滑的渐变......但也许它们在一个tile中有一个不同的三角形配置列表,每个tile存储它使用的配置?因此,例如,配置1是topleft中的三角形,一个是底部的,2是顶部和底部,3是顶部的四边形和底部的四边形等等?你能想到我失踪的任何其他方式,或者如果你已经把它弄清楚了那么请分享他们是如何做到的!
答案 0 :(得分:0)
答案 1 :(得分:0)
我自己从未这样做过,但我已经阅读了几个指南(我现在找不到),看起来很简单,甚至可以使用着色器进行优化。
创建主纹理以控制4个子纹理的混合。使用r,g,b,主纹理的组件作为每个子纹理(熔岩,纸张等)的百分比混合。您可以使用paint.net,photostop,gimp轻松绘制主纹理,并只绘制到每个颜色通道中。您可以使用所有5个纹理预先计算结果纹理,也可以使用片段着色器动态计算结果。我也没有一个很好的例子,但我认为你可以弄清楚你到底有多远。
最终结果将是“像素”完美混合(取决于纹理分辨率和滤波),并将避免顶点混合问题。
答案 2 :(得分:0)
对角假象是由于所有四边形沿着同一对角线分割成三角形而引起的。您为四边形定义了点[0,1,2,3]。每个四边形分为三角形[0,1,2]和[1,2,3]。尝试使用GL_TRIANGLES绘图并交替选择对角线。使用GL_TRIANGLE_STRIP或GL_QUAD_STRIP可能有更有效的方法。