mat4 项目/反向项目无法正常工作。
我正在尝试在Lua中实现GLM的项目和取消项目功能,但结果令人质疑。据我所知,我的代码(如下所示)几乎与GLM相同,但如下面的视频所示,文本未按预期显示。当我将相机带到0,0,0时,文本形成了一种菱形模式,这很有趣。
这里应该显示的是词立方体。 001通过立方体。 009应在其各自的立方体上绘制,无论相机移动到哪里。 立方体。 001是TL,立方体。 009是BR。
要了解我们的mat4库(以及其他垃圾)的全部内容,请访问[这里](https://github.com/shakesoda/cpml)。
`` `
- https://github.com/g-truc/glm/blob/master/glm/gtc/matrix_transform.inl#L317 函数mat4.project(obj,view,projection,viewport) local position = {obj.x,obj.y,obj.z,1} 位置=视图位置 位置=投影位置
position [1] = position [1] / position [4] * 0.5 + 0.5 position [2] = position [2] / position [4] * 0.5 + 0.5 position [3] = position [3] / position [4] * 0.5 + 0.5 position [4] = position [4] / position [4] * 0.5 + 0.5
位置[1] =位置[1] * viewport [3] + viewport [1] 位置[2] =位置[2] * viewport [4] + viewport [2]
返回vec3(位置[1],位置[2],位置[3]) 结束
- https://github.com/g-truc/glm/blob/master/glm/gtc/matrix_transform.inl#L338 函数mat4.unproject(win,view,projection,viewport) local inverse =(投影*视图):inverse() local position = {win.x,win.y,win.z,1} position.x =(position.x-viewport [1])/ viewport [3] position.y =(position.y-viewport [2])/ viewport [4]
position [1] = position [1] * 2 - 1 position [2] = position [2] * 2 - 1 position [3] = position [3] * 2 - 1 position [4] = position [4] * 2 - 1
位置=反向*位置
position [1] = position [1] / position [4] position [2] = position [2] / position [4] position [3] = position [3] / position [4] position [4] = position [4] / position [4]
返回vec3(位置[1],位置[2],位置[3]) 结束
-从立方体中获取投影 local viewport = {0,0,1280,720} 对于self.cubes中的每个立方体,都有: local model = cpml.mat4() :translate(cube.position) :rotate(cube.orientation.x,{1,0,0}) :rotate(cube.orientation.y,{0,1,0}) :rotate(cube.orientation.z,{0,0,1}) :scale(cube.scale)
local projection = cpml.mat4.project( dice.position, self.camera.view:transpose(), self.camera.projection:transpose(), viewport ) 结束 `` `
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
事实证明有两个问题:
1)由于在我的代码中存在错误,矩阵需要进行转置。
2)GLM在涉及相机视图时使用“model”一词,因此我一直在使用错误的矩阵。
我已更新代码以反映这些更正。