当前位置: 首页 > 知识库问答 >
问题:

将鼠标库转换为世界库

彭朝
2023-03-14

我正试图在OpenGL(C++)中使一个光源跟随鼠标。在world coords中,我的屏幕中心是(4,1.5f),我的鼠标中心是(640,360)(窗口res是1280,720)。我只转换了中心的坐标,但我不知道如何转换其余的坐标。

用于转换中心坐标:

Shader.setUniversity(“LightPos”,FS::Vector2f((float)x*8/1280,(float)(y*4.5f/720)-0.75f));

我尝试的另一个转换是(x*16.0f/1280.0f),(9.0f-y*9.0f/720.0f)

其中x和y是鼠标坐标。

到目前为止,我在网上找到的所有解决方案都不起作用。

有什么想法吗?

共有1个答案

戎洛城
2023-03-14

刚结束时,我的问题是,在完成gl_position=projectionMatrix*viewMatrix*modelMatrix*position;之后,我在下一行中忘记了将更新的位置数据发送到片段着色器,因此我不得不将pos=position;(pos是out vec4,而position是in vec4)更改为pos=modelMatrix*position;

 类似资料:
  • 首先,我没有使用box2d,这意味着我不能发明一个数字,并使其成为ppm的值。我想做的是这样的,但是用户可以设置物体的高度。当我在没有空气阻力的情况下实现重力时,撞击地面的时间约为1.4秒,我的物体/精灵的起始高度约为590像素。然后我用计算器把高度计算成米,大约是9.6米(如果物体下落1.4秒)。但我不知道如何计算每米所需的像素量,这更令人困惑,因为物体的速度y每秒增加9.8像素,因为没有空气阻

  • 我正在尝试将鼠标点击坐标转换为画布坐标。画布可以动态缩放。我实现了缩放功能,缩放转换整个画布。画布本身有一个图像作为窗口的背景。当用户使用鼠标滚轮时,背景会放大和缩小。如何转换鼠标点击坐标以反映图像上的缩放位置? 缩放地图图像代码: 将图标添加到地图图像: 我基本上是想用鼠标左键在地图上添加一个新的图标图像。但是,如果在我尝试添加图标时放大了地图,则图像的位置与单击的地图位置不相关。它会转到离鼠标

  • 问题内容: 我正在努力实现这种转变。给定锚定姿势在arcore中,如何在屏幕中获取其相应的2D坐标? 问题答案: 最终,经过几天的调查并从不同的资源中获取了信息,我才能够使它工作。以下是一个代码片段(基于arcore示例Java应用),用于将World坐标(Arcore中的位姿)转换为2D屏幕坐标: 首先,我们需要计算要从世界->屏幕转换的矩阵: } 一旦有了这个矩阵,就可以将点从3D世界投影到2

  • 有没有一种方法可以轻松地将面向.NETCore2.0的类库转换为.NET标准? 如果我理解正确,如果有人想在针对不同.NET框架(例如.NET Framework,.NET Core,Xamarin等)的项目中最大限度地提高类库的可重用性,那么以.NET Standard为目标的更好主意 - 前提是所有必需的API都可以在将要定位的.NET Standard版本中提供。 这就是我想将类库从. NE

  • 我试图从Scala类创建一个Dll。我正在使用IntelliJ和SBT。我已经找到了一种使用ikvm-converter将.jar文件转换为Dll的方法。现在的问题是:当我在SBT下使用“package”从我的.scala文件中创建一个.jar文件,然后尝试用ikvmc将其转换为Dll时,结果库在集成到C#中时是空的... 向你问好Christoph

  • 问题内容: 我有一个第三方库,主要由大量的静态()库文件组成。我可以将其编译为单个库文件,但我确实需要将其作为单个共享库文件。 有什么方法可以将静态文件转换为共享文件?或更笼统地说,是否有一种将大量静态文件和一些目标文件合并为一个文件的好方法? 问题答案: 是否这样做(当然带有适当的-L) 不是吗