D5D6改良ImGui

更改imgui窗口设置,设置窗口拖曳。简化函数,使主函数整洁。

并添加所需功能。

然后一直在调试图片像素与过滤器最后发现:原来是原图很模糊0.o,更改后便清晰了不少

现在开始来调试一些响应。

-----------------------------------------------------------------------------------------------------

要求:1.为参赛者提供不少于12个目标地的导航

2.提供校园地图中任意目标地(建筑物)相关信息的查询

3.提供图中任意目标地(建筑物)的问路查询(使用拓扑图构建路线)

-------------------------------------------------------------------------------------------------------

地图上的鼠标响应

实现要求1和2:由于地图上需要响应的点位并不是很多,我可以手动录入坐标。当鼠标位于目标点位的时候,我可以控制其打印坐标,并记载。

当鼠标在此范围中时候,我可以绘制轮廓,话不多说,看我操作。

这里我想了很久,由于考虑坐标在窗口和世界空间的转换,有很多东西限制了我的功能实现,最后我选择,在调试过程中先禁用一会鼠标,自己操纵观察者记录坐标。(很大的限制是想要实现在空间中移动位置的前提下,让鼠标与物体互动,但我已知的函数总是记录鼠标与窗口的相对位置,这导致我在设想中总是遇到一个问题:如果物体在世界空间中的位置移动,而鼠标在窗口中的相对位置不发生变化,由函数数据算出来的鼠标对应于空间中的坐标会因此出现偏差。

当然我也考虑在回调函数中将鼠标位置与摄像机位置相关联,使鼠标位置对应一个向量,不断更新他并转换空间坐标到窗口坐标,但由于这次实验体量并不大,我考虑不如自己手动录入位置。)

这里我使用鼠标位置的回调函数,并准备在窗口中心绘制一个类似于FPS游戏准心的东西,来确保我的摄像机朝向,使我可以正确取得坐标。

绘制准心

ok 现在绘制出了准心,我可以通过键位来输出摄像机位置,最后减去z轴坐标得到该位置(或建筑无)坐标。

逐步录入

 绘制标志物

测量了好久,发现摄像机位置和预先中的有偏差,摄像机的位置向量是以原点为起点的,但是我绘制的纹理并不是在原点平面上的,白忙活一阵后我重新记录位置,并绘制标志物

设置轮廓

设置轮廓的着色器(GLSL

#shader vertex
#version 330 core
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec2 aTexCoords;

out vec2 TexCoords;

uniform mat4 u_Projection;
uniform mat4 u_View;
uniform mat4 u_Model;

void main() {
	TexCoords = aTexCoords;
	gl_Position = u_Projection * u_View * u_Model * vec4(aPos, 1.0);
}

#shader fragment
#version 330 core
in vec2 TexCoords;

out vec4 fragColor;

uniform sampler2D u_Texture;

void main() {
	fragColor = vec4(255, 0, 0, 1.0);
}

 然后用模版测试实现

在这里我为每一个标志点都绘制了一个轮廓,红色的。

这一节遇到一些问题,解决花了一些时间,不过好在结果不错

根据提供的引用内容,我们可以从Excel表格中找到单元格C5和C6的值,并将其相乘。然后,我们还可以找到单元格D5和D6的值,并将其相乘。 根据引用,我们可以得出C5的值为7268,C6的值为7269。 根据引用,我们可以得出D5的值为No,D6的值为No。 因此,C5 * C6的结果为7268 * 7269,而D5 * D6的结果为No * No。请注意,由于D5和D6的值是字符串而不是数值,所以不能直接进行乘法运算。如果要进行乘法运算,需要将字符串转换为相应的数值类型。 另外,根据引用,可以看到提供的代码段是用于遍历Excel表格并打印每个单元格的坐标和值的。这段代码与计算C5 * C6和D5 * D6无直接关系,仅用于示例目的。 因此,答案是C5 * C6 = 52826092和D5 * D6无法计算,因为D5和D6的值是字符串而不是数值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [python处理Excel表格--读取Excel表格](https://blog.csdn.net/HG0724/article/details/122532713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Windows Phone 7代码泄露,Windows Phone 7 build 7.0.0.6077](https://download.csdn.net/download/onlyzlj/2942631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值