gpt4 book ai didi

opengl - 有没有办法以一种独立于语言的方式表达 OpenGL 指令?

转载 作者:行者123 更新时间:2023-12-02 07:43:30 24 4
gpt4 key购买 nike

标题几乎说明了一切。我正在考虑制作一个简单的视频编辑器,但我不确定各种效果和过滤器等的“后勤”。假设我想让外部程序能够对图像应用一些效果。它是否必须是一个已执行的程序,或者它是否可以只是视频编辑器可以解析的一组 OpenGL 指令,并且基本上“传递”给 OpenGL。从技术上讲,这将是一个程序,但它似乎比仅仅为了应用效果而制作一个完整的二级程序更优雅和标准化。也许有更好的方法?

编辑:感谢大家的回答。不过,这里有一个跟进:其他视频编辑器如何实现这一点?我问的原因是因为在上述问题上答案似乎相当消极,所以我想知道专业应用程序是如何完成的。

最佳答案

Does it have to be an executed program necessarily, or can it simply be a set of OpenGL instructions that the video editor can parse, and essentially "pass along" to OpenGL.

有几种方法可以解决这个问题(“让视频编辑器能够创建自定义效果”)。

  1. 使您的编辑器支持插件,并提供用于制作新视频效果插件的 API。 Macromedia Director 就是这样工作的。新效果必须作为插件库(dll/.so,取决于您的平台)实现。
  2. 将带有 OpenGL 绑定(bind)的脚本语言嵌入到您的应用程序中以制作视频效果,提供与应用程序内部状态交互的基本功能。这将允许更快地开发效果,但某些操作的性能会受到很大影响。 “Blender”(3d 编辑器)以这种方式工作,Maya 提供了类似的框架(我认为)。基本上,这是第一名,但作为脚本语言实现。
  3. 让您的编辑器加载 GLSL 着色器。这将允许您相当快地制作一些效果,但除此之外这不是一个好主意 - 虽然 GLSL 具有相当多的“功能”(功能/数学),但仅靠 GLSL 不会让您制作任何您想要的东西,因为它根本无法与您的应用程序交互(纯 GLSL 无法创建纹理、帧缓冲区等,这将限制您制作更有趣的东西的能力)。您很可能只能制作某种过滤器,仅此而已。 #1 和 #2 将为最终用户提供“权力”。
  4. 实现 node-based effect editor . IE。用户可以拖动几种类型的节点来表示某些操作,它们具有输入/输出并且用户可以连接它们。 Blender 3D 和 UDK(Unreal Development Kit) 有这样的功能。我认为 .kkreiger(网站已关闭,用谷歌搜索)使用类似的技术制作了 96kb 的第一人称射击游戏。这可能非常强大,但程序员很可能讨厌用鼠标拖动图形实体,除非您还提供了通过脚本语言制作此类节点图的方法(AviSynth 有类似但不完全相同的东西)。这可能与 #1 或 #2 一样强大,但会花费您额外的开发时间。

除此之外,没有“语言无关”的方式来生效。您要么必须使用现有语言来使效果插件与您的应用程序交互,要么您必须使用自己的“语言”来描述效果。处理这个问题的唯一独立于语言的方法是雇用一个程序员并告诉他你想要什么样的效果。但话又说回来,这需要自然语言。

关于opengl - 有没有办法以一种独立于语言的方式表达 OpenGL 指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8773512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com