gpt4 book ai didi

opengl - 顶点变换后如何检索顶点的当前位置?

转载 作者:行者123 更新时间:2023-12-04 07:01:26 25 4
gpt4 key购买 nike

顶点变换后如何检索顶点的当前位置?我有以下代码....

应用变换后如何获得“modelVertices”的位置?

我真的很关注屏幕坐标,所以我可以判断鼠标是否点击了一个顶点。

glMatrixMode(GL_MODELVIEW);

// save model transform matrix
GLfloat currentModelMatrix[16];
glGetFloatv(GL_MODELVIEW_MATRIX, currentModelMatrix);

// clear the model transform matrix
glLoadIdentity();

// rotate the x and y axis of the model transform matrix
glRotatef(rotateX, 1.0f, 0.0f, 0.0f);
glRotatef(rotateY, 0.0f, 1.0f, 0.0f);

// reapply the previous transforms
glMultMatrixf(currentModelMatrix);

glClearColor(0.1f, 0.1f, 0.1f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);

// since each vertes is defined in 3D instead of 2D parameter one has been
// upped from 2 to 3 to respect this change.
glVertexPointer(3, GL_FLOAT, 0, modelVertices);
glEnableClientState(GL_VERTEX_ARRAY);

最佳答案

GLU有功能gluProject()gluUnProject() :

http://www.opengl.org/sdk/docs/man/xhtml/gluProject.xml

如果您的平台没有 GLU,您可以随时获取 MESA 的代码。看看它是如何实现的。

关于opengl - 顶点变换后如何检索顶点的当前位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1776062/

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