c – 游戏如何在物体周围移动(一般情况下)

c – 游戏如何在物体周围移动(一般情况下),第1张

概述我敢肯定,这不仅仅是一个答案,但是,游戏引擎实际上是在改变内存中的向量,还是使用gltransformations?因为一直推送和d出矩阵似乎效率低下,但是如果你不断修改顶点,你就无法使用显示列表.所以我想知道它是如何完成的.谢谢 取决于你的目标/对象. 通过设置矩阵来移动永不改变的对象(可以使用glRotatef / glTranslatef等来实现).它肯定比逐个顶点转换对象顶点更快.对象存储 我敢肯定,这不仅仅是一个答案,但是,游戏引擎实际上是在改变内存中的向量,还是使用gltransformations?因为一直推送和d出矩阵似乎效率低下,但是如果你不断修改顶点,你就无法使用显示列表.所以我想知道它是如何完成的.谢谢解决方法 取决于你的目标/对象.

通过设置矩阵来移动永不改变的对象(可以使用glrotatef / glTranslatef等来实现).它肯定比逐个顶点转换对象顶点更快.对象存储在displayList,VertexArray或VBO中.您可以每次使用glVertex *命令发送整个对象,但如果对象永远不会更改,则不需要这样做.

使用多个矩阵变换角色(蒙皮/装配),这通常由顶点着色器处理.如果需要,您可以在cpu上执行此 *** 作,但除非您拥有非常先进的绑定/剥皮引擎,否则无需执行此 *** 作.

无法在VIDeocard上完全执行的计算在cpu上执行.通常它是粒子系统,布料和程序几何,有时是阴影(使用模板阴影计算阴影体积).像这样的对象通常至少部分地存储在存储器中,并且在cpu上执行变换.这严格依赖于硬件.根据视频卡和OpenGL版本的强大功能,可以在视频卡上执行部分或全部任务(不涉及cpu),但并非总是如此.例如,通常不可能在GPU上为程序几何构建阴影体积(即,拓扑在每个帧以及顶点位置上变化).但是,有一些技巧可以避免它,并且情况可能会随着未来的版本而改变.

总结

以上是内存溢出为你收集整理的c – 游戏如何在物体周围移动(一般情况下)全部内容,希望文章能够帮你解决c – 游戏如何在物体周围移动(一般情况下)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1212931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存