【问题标题】:Transforming 3D text using OpenGL使用 OpenGL 转换 3D 文本
【发布时间】:2009-04-12 06:42:36
【问题描述】:

我目前正在研究这个tutorial:

我完全理解如何旋转/缩放/翻译该教程中的每个字符串。

但是有谁知道以用户可配置的方式剪切/变细/扭曲每个琴弦需要哪些步骤?

据我所知,这些不是 OpenGL 调用的一部分,那么通常如何对 3D 文本进行此类转换?

【问题讨论】:

    标签: opengl transformation


    【解决方案1】:

    您可以制作自己的转换矩阵。它们甚至不必“有意义”,你可以用你认为合适的任何奇怪的扭曲来填充它们。例如,剪切应该如下所示:

    float shear[] = { 
       1, Ky, 0, 0, 
       Kx, 1, 0, 0,
        0, 0, 1, 0,
        0, 0, 0, 1 };
    glMultMatrixf(shear);
    

    【讨论】:

      【解决方案2】:

      您需要操作模型视图矩阵。 This page about 矩阵可能有助于剪切、扭曲等。您使用 glLoadMatrix 加载新值。对于旋转、缩放和变换,只需使用普通的 OpenGL 函数即可。

      编辑:如果矩阵中已有值,则可以使用glMultMatrix。但是,如果可能的话,我会先加载剪切力等,然后再应用其他东西。

      【讨论】:

      • glMultMatrix() 通常是比 glLoadMatrix() 更好的选择,但两者都有效。
      猜你喜欢
      • 2014-12-31
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多