我需要在Windows上将QuickTime影片渲染到可能不是影片自然大小的GWorld中。当电影放大时,比如1.5,我看到了一些锯齿。然而,如果我在QuickTime Player(Windows Vista版本7.6.6)中打开相同的电影并拉伸窗口,我会在拉伸时看到锯齿状,但是当我松开鼠标时,图像会平滑。它必须使用一些更智能的缩放算法或抗锯齿。除了SetMovieGWorld
和SetMovieBox
之外,我需要做些什么才能呈现更大的尺寸?
这是一个流畅的版本:
smooth http://www.frameforge3d.com/news-mac/smooth.png
这是一个略带锯齿的对手:
jaggy http://www.frameforge3d.com/news-mac/jaggy.png
(虽然这显示文字,但它不是文字轨道,只是图像的一部分。)
我尝试使用各种标记调用SetMoviePlayHints
,例如hintsHighQuality,但没有效果。
这是大局,如果你可能有一个完全不同的方法的建议。电影是并排立体声。图像的左半部分和右半部分需要合成(以多种方式之一)然后绘制到屏幕上。例如,我正在测试的电影的自然尺寸为2560 x 720,但显示的自然尺寸为1280 x 720.我现在正在做的方式是渲染到GWorld,然后在{{ 1}}回调,使用SetMovieDrawingCompleteProc
将左右两半上传到OpenGL纹理,并使用GLSL着色器渲染到屏幕。
我尝试使用Apple开发者技术支持事件获取此方面的帮助,但他们的回复基本上是“我们不做Windows”。
答案 0 :(得分:0)
您可以使用DirectX,更具体地说,DirectShow可以显示您的电影,而不是使用Apple的SDK吗?我知道DirectX可以播放QuickTime电影。
如果你可以使用DirectShow,那么你可以搜索或创建自己的视频转换滤镜来进行抗锯齿和平滑。