我正在试用Godot 4.1。
我需要将每一个渲染的帧路由到gstreamer管道中。
我的第一React是获取GL纹理句柄和目标,并使用它们来构造一个GstGLBuffer,然后将其提供给管道。
我可以创建一个扩展Node和var tex = get_viewport().get_texture()
的gdscript,并检查它的宽度和高度。但是如果我调用RenderingServer.texture_get_native_handcle(tex,true)
,它总是给我0。我从_process()
回调中尝试了这段代码,还尝试了从_ready()
执行await RenderingServer.frame_post_draw
的循环,后面跟着探索逻辑。
有没有一个例子,说明如何将渲染的帧馈送到gstreamer中,或者至少说明如何获得GL句柄和渲染目标(TARGET_2D或OES古怪)?
1条答案
按热度按时间j7dteeu81#
ViewportTexture
不是真实的纹理。这是一个代理纹理。ViewportTexture
的RID
实际上是一个占位符纹理资源ID。要获取最后渲染帧纹理的本机句柄,请使用以下代码: