wyświetlanie współrzędnych w openGL [Delphi 7]

0

Witam,

Mam scenę OpenGL napisaną w Delphi 7 i teraz chciałbym wyświetlić w Labelach współrzędne punktu w przestrzeni, na który wskazuje kursor. W jaki sposób mógłbym to zrobić?.

Pozdrowienia.

0

to jest trudna sprawa

wszedzie pokazuja ze tak

function GetOpenGLPos(X, Y: Integer): PGLVEC3;
var
	viewport:   TGLVectori4;
	modelview:  TGLMatrixd4;
	projection: TGLMatrixd4;
	winZ,winY:  Single;
begin
	glGetDoublev(GL_MODELVIEW_MATRIX, @modelview );                          // Get the Current Modelview matrix
	glGetDoublev(GL_PROJECTION_MATRIX, @projection );                        // Get the Current Projection Matrix
	glGetIntegerv(GL_VIEWPORT, @viewport );                                  // Get the Current Viewport

  winY := viewport[3] - y;                                                 //Change from Win32 to OpenGL coordinate system

	glReadPixels(X, Round(winY), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, @winZ );//Read the Depth value at the current X and Y position
	gluUnProject(X, winY, winZ,
              @modelview, @projection, @viewport,                             // Get the vector for the current mouse position
			        Result.x, Result.y, Result.z);                         // And Return it from the function
end;

problem w tym ze ten sposob nie dziala moze przed glReadPixels trzeba dac glReadBuffer(GL_DEPTH_BUFFER_BIT);

pozniej glreadpixels
a pozniej
gluUnProject

szczerze bawilem sie tym i zawsze pokazuje mi punkt o kilka pikseli za wysoko wiec cos jest nie tak

poczytaj sobie o glunproject i takim pobieraniu z zbuffera ja ci tego tlumaczyc nie bede ale jest tam kilka chaczykow ktore sam sobie pokmin

1 użytkowników online, w tym zalogowanych: 0, gości: 1