繁体   English   中英

如何使用Core Animation-Cocoa在Mac OS X上的FireBreath中使用SDL2进行渲染

How can I use SDL2 for rendering in FireBreath on Mac OS X using Core Animation-Cocoa

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使用Core Animation / Cocoa在运行Safari(6.2)的OS X(10.8.5)的浏览器插件中使用以下组合:

FireBreath + SDL2

我研究了FB提供的BasicMediaPlayer示例,并了解可以通过FB :: PluginWindowMac :: getDrawingPrimitive()访问CALayer。

我要完成的工作是使用SDL / SDL2执行渲染。

在Windows上,这是相对容易的,因为FB插件窗口(FB :: PluginWindowWin)提供了HWND,可以将其传递给SDL_CreateWindowFrom API(随后由SDL_CreateRenderer和SDL_CreateTexture执行渲染)。 void *对应于Mac上的NSWindow *(据我了解),据我了解,我将无法在我的插件内访问(根据我读过的其他文章)。

所以问题是:如何在OS X上将SDL与现有的CALayer一起使用?

1 个回复

我已经做了很多研究,并且还浏览了SDL / SDL2论坛:

我似乎很遗憾无法在我的问题中概述的环境中使用SDL。

我最终得到的解决方案是:我基本上决定镜像firebreath提供的名为BasicMediaPlayer的示例:

  1. 基本上,您必须专门研究CAOpenGLLayer ,在其中将OpenGL绘图放置在drawInCGLContext方法中。
  2. 收听FB::AttachedEvent :您将收到的插件窗口对象可以转换为FB::PluginWindowMac* ,它使您可以通过getDrawingPrimitive附加专用的CA层。

对于不熟悉OpenGL以及如何渲染框架的任何人:请看以下关于stackoverflow的问题 ,这应该可以帮助您入门。

1 使用SDL2渲染精灵

我对游戏开发非常陌生。 我正在尝试使用SDL在窗口上移动精灵。 我使用http://gamedevgeek.com/tutorials/moving-sprites-with-sdl/作为参考,以帮助我了解SDL。 但是,这种blit方法不适用于SDL2。 经过研究,我发现必须将表面转换 ...

2018-01-04 00:59:47 1 1726   c++
2 使用 ffmpeg 和 sdl2 进行卡顿渲染

使用以下代码,我得到了电影文件的断断续续渲染。 有趣的是,当用 ffmpeg 转储信息时,它说它有 25 fps 和 00:01:32.90 的持续时间; 但是,当计算它自己运行的帧和时间时,它给出了大约 252 秒的时间,我猜接收帧和发送包的代码 (int cap(vid v)) 多次绘制相同的帧 ...

3 使用SDL2的纹理进行缓慢的每像素渲染

我正在尝试创建每个像素的图像,并使用SDL在屏幕上显示它。 图像必须刷新并每秒重新显示约50次(我正在寻找50 FPS游戏)。 我试图创建一个简单的程序来说明我要执行的操作:创建一个1280 * 720的窗口和纹理,并用绿色和红色交替填充。 问题在于代码运行非常缓慢(〜8 FPS)。 我 ...

5 在 CMake 中使用 SDL2

我正在尝试使用 CLion 创建一个 SDL2 项目。 问题是使用#include 时找不到SDL 标头。 我的 CMakeLists.txt 文件: 我的测试 main.cpp: 谢谢你能给我的任何帮助。 编辑:我使用的是 Windows 并且 CLion 配置为使用 cygwin64 ...

6 无法使用( - >)r monad使用SDL2渲染

我有一个小的工作SDL2示例(C ++教程的简单端口),我正在尝试使用( - >)r monad重构渲染代码。 这是没有重构的样本的工作部分 制作和运行 - 纹理就在那里。 都 和 工作也很好。 然而 只是绘制黑色窗口就是这样。 present是re ...

7 使用SDL2和OpenGL渲染文本

我一直在尝试使用SDL2在我的OpenGL场景中进行文本渲染。 我遇到的教程是这一个渲染文本 我遵循相同的代码,我得到文本渲染。 然而,我遇到的问题是OpenGL渲染与代码中使用的SDL_Renderer之间显然存在“冲突”。 当我运行我的场景时,文本显示但其他一切都在闪烁。 以下 ...

8 如何在SDL2中使用SDL2_gfx绘制纹理然后渲染?

我想实现一个类似MS-Paint的程序(虽然我的实际程序会比这更多),可以使用鼠标绘制。 我正在使用SDL2和SDL2_gfx 。 我想维护一个SDL_Texture ,用户可以在不清除的情况下连续进行绘图(除非用户要求)。 然后不断将SDL_Texture更新到屏幕上。 ...

9 无法使用sdl2_ttf使用SDL2渲染文本

我总是收到segmentation fault core dumpet error 。 我不知道出了什么问题,我知道我最后没有释放这些东西,但这不是原因(我想)。 我正在尝试创建一个非常简单的应用程序,以呈现您放入其中的任何文本,但我无法使其正常运行。 ...

2016-02-17 00:36:42 0 110   c++
10 如何在没有 X-Code 的情况下最好使用 C 在 mac 上安装 SDL2?

我正在使用 C 并构建一个游戏我已经尝试过每个论坛似乎都在 C++ 中,我想将 SDL2 与 C 一起使用。我使用的是 gcc 编译器,我得到的最远的是用 Gcc 编译但没有窗口会出现。 不是代码,因为它是从教程中获取的。 我已经尝试过 brew 和框架。 有人可以指导我完成安装过程以使其与 gc ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM