Tag: opengl

OpenGL / DirectX Hook – 与FRAPS类似

是否可以检测使用OpenGL或DirectX的应用程序与FRAPS的作用类似? (可能使用某种forms的钩子)? 我可能不需要实际绘制到窗口,我只需要知道什么过程正在进行某种forms的3D渲染。 (编辑:)如果您不熟悉它,FRAPS是一个程序,可用于在3D应用程序上绘制“每秒帧数”计数器。 FRAPS自己查找所有正在运行的3D应用程序,而无需您指定进程名称。 绘制到外部游戏的“每秒帧数”计数器的示例:

OpenGL – 旋转不起作用

背景 我目前有一个我创建的环境,我加载了一些形状(以供我参考)并且我试图让控件向前,向后移动并旋转我正在寻找的位置。 我使用我的观察点和摄像机位置点进行向前和向后计算。 我试图旋转360度,但似乎根据我到目前为止得到了一些奇怪的限制。 我正在输出我的xangle,看看我一直在哪里。 为了旋转,我改变了lookat变量(x,y和z),同时保持位置(x,y,z)相同。 问题 当连续增加角度时,我击中两个reflection点,其中出现的旋转改变方向。 无论出于何种原因,这些似乎发生在60度和300度,如下所示: 显然这些角度是不正确的。 我已经评估了旋转发生时应该发生的行为,并且计算出的笛卡尔坐标似乎是正确的但是角度的显示是关闭的。 我的setupviewport子: Private Sub SetupViewport() Dim w As Integer = GLcontrol1.Width Dim h As Integer = GLcontrol1.Height Dim perspective1 As Matrix4 = cam.GetViewMatrix() * Matrix4.CreatePerspectiveFieldOfView(1.3F, GLcontrol1.Width / CSng(GLcontrol1.Height), 0.1F, 2000.0F) GL.MatrixMode(MatrixMode.Projection) GL.LoadIdentity() GL.Ortho(0, w, h, 0, -1, 1) GL.LoadMatrix(perspective1) GL.MatrixMode(MatrixMode.Modelview) GL.LoadIdentity() GL.Viewport(0, 0, w, h) […]