菜鸟教程小白 发表于 2022-12-12 15:46:46

iphone - OpenGL ES 1.1 中由三角形 strip 构成的四边形上的纹理变形问题


                                            <p><p>我正在使用三角形条创建一个四边形。问题是当我尝试使用我希望在形状上均匀插值的矩形纹理来绘制它时。</p>

<p>只要形状是矩形或矩形的仿射变换,我就会有两个相同的三角形来构建形状,一切顺利。但是对于任意形状,三角形具有不同的形状,并且沿着三角形的公共(public)边自然会发生变形。</p>

<pre><code>   _____       ______       _____
|   |   /   /       \   /
|_____|    /_____/         \_/

    Ok         Ok         Not Ok
</code></pre>

<p>我想在 ES 2.0 中使用自定义着色器解决这个问题相当简单,但是如何在 ES 1.1 中实现它?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>说白了,如果不提供透视/深度信息,硬件只能做纹理坐标的线性插值。</p>

<p>线性插值不允许正确处理导致问题的情况。</p>

<p>要在边缘进行适当的插值,您必须在四边形中引入透视信息。</p>

<p>您应该在此 NVidia 白皮书中找到更多信息:<a href="http://developer.nvidia.com/content/projective-texture-mapping" rel="noreferrer noopener nofollow">Projective Texture Mapping</a> .</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - OpenGL ES 1.1 中由三角形 strip 构成的四边形上的纹理变形问题,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/4748900/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/4748900/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - OpenGL ES 1.1 中由三角形 strip 构成的四边形上的纹理变形问题