我的問題是:檢索頂點座標
有沒有辦法在翻譯或旋轉後檢索頂點的座標?
例如:X = 10,Y = 10,z = 0的
一系列調用glTranslate或glRotate後我怎樣才能知道的x,y和z中的實際狀態?
謝謝。
我的問題是:檢索頂點座標
有沒有辦法在翻譯或旋轉後檢索頂點的座標?
例如:X = 10,Y = 10,z = 0的
一系列調用glTranslate或glRotate後我怎樣才能知道的x,y和z中的實際狀態?
謝謝。
這是不可能的...... opengl將您的頂點數據發送到GPU,並且只有在GPU上,您可以在轉換後獲取它們。
得到變換的頂點必須由矩陣對自己
for each vertex:
vertex_transformed = matrix * vertex
老的OpenGL
乘他們:
glGetFloatv(GL_MODELVIEW_MATRIX, m);
x = pos.x*m[0] + pos.y*m[4] + pos.z*m[8] + m[12];
y = pos.x*m[1] + pos.y*m[5] + pos.z*m[9] + m[13];
z = pos.x*m[2] + pos.y*m[6] + pos.z*m[10] + m[14];
一些更高級的方法是使用變換反饋和存儲這些轉化頂點放入緩衝區(但這個緩衝區仍將存儲在GPU上)。
可能重複的[openGL:得到座標後glrotate](http://stackoverflow.com/questions/10543554/opengl-get-coordinates-after-a-glrotate) – CharlesB