在XNA中动态获取skybox的图片

在XNA中动态获取skybox的图片,xna,directx,xna-4.0,Xna,Directx,Xna 4.0,我在XNA中制作了立方体skybox,我希望skybox的每个面都能作为视频播放器运行。我尝试加载六个视频,并在相应的面上渲染每个视频,但是这种方法并行解压六个视频会带来很高的处理成本。因此我尝试了另一种方法,即使用后台线程将视频转换为帧,并在运行时加载这些帧,但是会出现闪烁,渲染速度太慢。 我想知道是否有更有效的方法来处理此问题使用适当的视频软件将skybox的所有面预渲染为单个视频(在帧内平铺每个skybox面的视频),然后在skybox顶点上使用适当的UV,以便每个面都显示视频的正确部分

我在XNA中制作了立方体skybox,我希望skybox的每个面都能作为视频播放器运行。我尝试加载六个视频,并在相应的面上渲染每个视频,但是这种方法并行解压六个视频会带来很高的处理成本。因此我尝试了另一种方法,即使用后台线程将视频转换为帧,并在运行时加载这些帧,但是会出现闪烁,渲染速度太慢。
我想知道是否有更有效的方法来处理此问题

使用适当的视频软件将skybox的所有面预渲染为单个视频(在帧内平铺每个skybox面的视频),然后在skybox顶点上使用适当的UV,以便每个面都显示视频的正确部分

我想你可能需要做一些诡计(最简单的是一些出血边缘),这样压缩伪影就不会让边缘看起来很奇怪


(你的skybox真的需要6个动态面吗?你能只用5个甚至4个吗?

首先,关于对6张脸使用UV贴图,这会影响每张脸图像的质量。其次,我需要根据摄影机视图渲染这些面。例如,如果摄影机现在看到两个面,那么我不需要处理其他面,但如果摄影机转向其他面,我必须保存时间线以处理视频。