我正在使用 SharpGL(OpenGL,WPF 应用程序)在屏幕上绘制 PNG。我打开文件,读取字节,然后使用以下代码绘制图像:
SharpGL.OpenGL gl = args.OpenGL;
//gl.GetFloat(SharpGL.Enumerations.GetTarget.CurrentRasterPosition, data);
//gl.RasterPos(0, 0, 0, 1);
gl.DrawPixels(m_bitmapImage.PixelWidth, m_bitmapImage.PixelHeight, SharpGL.OpenGL.GL_BGRA, m_pixels);
我想在屏幕上移动图像,所以我的理解是,如果我更改光栅位置,它将移动绘制图像的起点。如果我以任何方式更改光栅位置的值,我的图像最终会消失。我尝试获取当前的光栅位置并将其直接导入RasterPos
函数,然后尝试再次读取值,它从0, 0, 0, 1
变为258.5, 161.5, .5, 1
(屏幕宽度的一半,屏幕高度的一半,不知道 .5 来自哪里从,1)。即使我手动尝试摆弄数字也没有什么区别。