gpt4 book ai didi

ios - 如何更改渲染对象在屏幕上的放置位置,OpenGL Es 2.0 iOS

转载 作者:行者123 更新时间:2023-11-29 01:09:54 25 4
gpt4 key购买 nike

我下载了一个显示带有一些纹理的正方形的项目。该正方形目前位于屏幕底部附近,我想将其移至中间。这是代码。

几何.h

#import "GLKit/GLKit.h"

#ifndef Geometry_h
#define Geometry_h

typedef struct {
float Position[3];
float Color[4];
float TexCoord[2];
float Normal[3];
} Vertex

typedef struct{
int x;
int y;
int z;
} Position;

extern const Vertex VerticesCube[24];

extern const GLubyte IndicesTrianglesCube[36];

#endif

这是geometry.m中的代码

const Vertex VerticesCube[] = {
// Front
{{1, -1, 1}, {1, 0, 0, 1}, {0, 1}, {0, 0, 1}},
{{1, 1, 1}, {0, 1, 0, 1}, {0, 2.0/3.0}, {0, 0, 1}},
{{-1, 1, 1}, {0, 0, 1, 1}, {1.0/3.0, 2.0/3.0}, {0, 0, 1}},
{{-1, -1, 1}, {0, 0, 0, 1}, {1.0/3.0, 1}, {0, 0, 1}},
};

const GLubyte IndicesTrianglesCube[] =
{
// Front
0, 1, 2,
2, 3, 0,
}

这段代码的哪一部分决定了渲染对象在屏幕上的位置?

最佳答案

您发布的所有代码都与屏幕位置无关。

VerticesCube 指定任意 3D 空间中的立方体角。在您尚未发布的代码中的某处,投影变换(可能还有 View 和模型变换)将每个顶点映射到裁剪空间,以及 glViewport 调用(如果您重新使用 GLKView) 将剪辑空间映射到屏幕/ View 坐标。

重新排列屏幕上的内容可能涉及这些转换中的任何一种,选择使用哪种转换取决于对每一种转换的理解以及它如何适应应用设计的更大环境。

这是您在任何 OpenGL 教程的早期阶段都会学到的东西。 Here's a decent one.

关于ios - 如何更改渲染对象在屏幕上的放置位置,OpenGL Es 2.0 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35878083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com