当前位置: 首页 > 知识库问答 >
问题:

Opengl变换-透视分割混淆

南宫才英
2023-03-14

首先,相关链接:http://www.songho.ca/opengl/gl_transform.html

如果我理解这个管道(可以这么说)是正确的,如果在我的代码中,我会有这样的东西

const float vertexPositions[] = {
0.75f, 0.75f, 0.0f, 1.0f,
0.75f, -0.75f, 0.0f, 1.0f,
-0.75f, -0.75f, 0.0f, 1.0f,
};

这些坐标位于所谓的对象空间坐标中,我可以将每个值指定为[-1,1]范围内的值。

共有1个答案

冯文彬
2023-03-14

…对象空间坐标,我可以将每个值指定为[-1,1]范围内的值。

您不受对象坐标范围的限制。

我的问题是,如何确定,在所有这些变换之后,w的值将足够,在x,y,z除以它之后,我们将得到范围[-1,1]内的值?

 类似资料:
  • 利用CALayer 实现对视图进行三维变形和变换过渡效果。 [Code4App.com]

  • 问题内容: 我正在使用阴影中的形状生成使用安装在移动平台上的相机拍摄的图像的数字地形模型(DTM)。用Python编写的算法似乎运行得很好,但是输出是倾斜的并且有点球形,所以我怀疑我需要从DTM中消除透视失真和桶形。 如果有人对此感兴趣,可以在这里获得数据。 摄像机以41度倾斜安装,并具有以下摄像机和失真矩阵: 如何应用透视变换并从此矩阵中消除桶形失真以获得平坦的DTM? 我已经尝试过使用Open

  • 我刚刚学习了透视投影,并且发现在openGl中应用它有点令人困惑。 考虑一个简单的正方形。<br>在使用透视投影之前,我可以定义其顶点在[-1,1]空间中的坐标,对于{0.0f,0.0f,0.0 f,1.0f、1.0f、1.0 f、1,0.0 F}的输入,该正方形将占据窗口的第一象限 考虑我的代码中的以下部分: 设置矩阵: 制服: 顶点着色器: 但是,结果是一个空白屏幕 我需要在此应用哪些额外的转

  •   分割窗口将窗口分成几个部分,每个部分通常代表一个视图(但也可以是具有子窗口标识的CWnd对象),又称窗格。如图8-8所示。如果想在一个窗口里面观察文档的不同部分,或者是在一个窗口里用不同类型的视图(比如用图表和表格)观察同一个文档,那么采用分割窗口是非常方便的。许多优秀的软件都采用了分割窗口技术,因此我们有必要掌握分割窗口的用法。 图8-8 分割窗口 分割窗口分为两类:动态分割窗口和静态分割窗

  • 本文向大家介绍OpenGL ES透视投影实现方法(四),包括了OpenGL ES透视投影实现方法(四)的使用技巧和注意事项,需要的朋友参考一下 在之前的学习中,我们知道了一个顶点要想显示到屏幕上,它的x、y、z分量都要在[-1,1]之间,我们回顾一下渲染管线的图元装配阶段,它实际上做了以下几件事:剪裁坐标、透视分割、视口变换。图元装配的输入是顶点着色器的输出,抓哟是物体坐标gl_Position,

  • 我已经阅读了关于这个棘手(利基)主题的所有现有问题,但我被卡住了。我有一个带有OpenGL上下文的Win32窗口。我希望我的窗口是部分透明的。 到目前为止,我的结果是整个窗口都是透明的。我只希望黑色区域是透明的,这样我可以绘制一些3D对象,它们看起来就像是从窗口出来的。 首先,在我的窗口类中,我将hbrbackground设置为黑色。 我已经使用WS_EX_LAYERED标志创建了我的窗口。 在我