private void MouseClickOnMap(Object s, GLMouseEventArgs e) { int distmovedsq = gl3dcontroller.MouseMovedSq(e); //3dcontroller is monitoring mouse movements if (distmovedsq < 4) { var geo = findshader.GetShader <GLPLGeoShaderFindTriangles>(OpenTK.Graphics.OpenGL4.ShaderType.GeometryShader); geo.SetScreenCoords(e.ViewportLocation, matrixcalc.ViewPort.Size); rifind.Execute(findshader, glwfc.RenderState); var res = geo.GetResult(); if (res != null) { for (int i = 0; i < res.Length; i++) { System.Diagnostics.Debug.WriteLine(i + " = " + res[i]); } if (e.Button == GLMouseEventArgs.MouseButtons.Left) { track = (int)res[0].Y; } else if (e.Button == GLMouseEventArgs.MouseButtons.Right) { rightclickmenubody.Tag = (int)res[0].Y; rightclickmenubody.Show(displaycontrol, e.Location); } } else { if (e.Button == GLMouseEventArgs.MouseButtons.Right) { rightclickmenuscreen.Show(displaycontrol, e.Location); } } } }