[程式] 分离轴碰撞检测的笔记与一些综合问题

楼主: md9830415 (DavidHsu)   2021-04-27 09:46:45
这篇是之前写的笔记教学文章"游戏中的碰撞检测",最近网站挂掉重新更新部落格到hugo
文章连结:
https://davidhsu666.com/archives/gamecollisiondetection
运行效果:
https://i.imgur.com/xojIN67.gif
线上执行范例:
https://davidhsu666.com/downloads/Collision-MTV/versions/polygon-MTV-ver1.0-full/
作者: Unity (Unity3D)   2021-04-27 09:56:00
1. 建议直接用 OpenGL 或是 DX, GPU 比 CPU 快上很多, 除非你想土炮, 这样的话你可以考虑用 OpenCL 或是 Cuda, 总之要用 GPU 做, 纯用 CPU 本来就没办法做到很快 (平行化问题)2. 看起来你目前的摄影机是用 Orthographic, 这样你应该比较遇不到投影造成的变形
作者: hodsala (猴的沙拉)   2021-04-27 10:49:00
以学习了解为目的来个自干软件渲染器合理 但以顺畅运行为目的的话 舍弃为了顺畅运行而发展几十年的硬件加速方案就比较怪了因为你的软件方案也是 现在已经标准化成硬件的流程呀1-一 说得通,也可以这样做, 但就很怪除非验証所学或很特殊的目的 不然不会这样做吧 shader是为了让你取代硬件绘图流程, 但你不是硬件呀 没有固定绘图流程需要被可程式化啊 因为你本来就可程式化1-二 用openGL或DX就是和显示卡沟通的方法呀 但照你的逻辑 你可能可以写个不转换的vertex shader和直出的pixelshader 然后把这些都提前到你的软件里弄 就..只是可以也许你想写模拟NVIDIA工程师的steam游戏 这一切就合理了纯按到嘘 没有什么意思
作者: Bencrie   2021-04-27 16:48:00
1/z 非线性那个就 perspective division 吧1. 其实你用 cl/cuda 画完还是要用 CPU 贴到视窗上至少 Windows 要啦。Linux 也许靠 eglimage + dmabuf
作者: oopFoo (3d)   2021-04-27 16:55:00
作者: Bencrie   2021-04-27 16:56:00
不然就是画完用 GL/D3D 贴输出
作者: oopFoo (3d)   2021-04-27 16:59:00
https://reurl.cc/8yxqpR不过你知道cpu渲染跟gpu渲染的速度差异吗?万倍以上除非你要raytracer这种比较适合cpu的渲染。https://www.embree.org/, 高性能raytracing kernelhttps://ispc.github.io/ 不可不学,多cpu simdNavMesh,参考看看。如果你要3d,现在考虑转SAT到GJK。gjk其实没那么难。
作者: newhandfun (新手方)   2021-05-03 20:34:00
推,高手云集

Links booklink

Contact Us: admin [ a t ] ucptt.com