wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Windows – SDL 2.0:在主线程中创建窗口,但是单独执行所有渲染大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

这是我目前的设置:我正在使用SDL(目前在Linux上)进行OpenGL渲染.我初始化SDL(SDL_Init)并在主线程中创建应用程序窗口(SDL_CreateWindow),并将其传递给第二个线程.第二个线程从它创建一个OpenGL上下文(SDL_GL_CreateContext)并启动一个渲染循环,而主线程监听事件.我认为重要的是要注意,GL调用完全限于此第二个线程;实际上我应用程序的大部分
这是我目前的设置:我正在使用SDL(目前在Linux上)进行OpenGL渲染.我初始化SDL(SDL_Init)并在主线程中创建应用程序窗口(SDL_CreateWindow),并将其传递给第二个线程.第二个线程从它创建一个OpenGL上下文(SDL_GL_CreateContext)并启动一个渲染循环,而主线程监听事件.我认为重要的是要注意,GL调用完全限于此第二个线程;实际上我应用程序的大部分逻辑都是在这里发生的,主线程真的只负责处理通过SDL进行的事件.

原来我这样做是相反的,但事实证明,除了OSX上的主线程,也可能还有Windows之外,你无法处理事件,所以我把它关闭,以便将来兼容这两个.

我有什么担心,这不会在OSX / Windows上工作?在Linux上,我没有任何.互联网上有关于上下文共享和从多个线程执行GL调用的大量信息,但是我想要做的只是一个线程中不是主要的OpenGl.我不想继续编码我的应用程序,以后才会发现它不会在其他任何地方工作.

@H_450_20@
我有一个在Mac / iOS / Windows上运行的应用程序,这个应用程序是以这种方式构造的(在渲染线程中都是GL),但是我不使用SDl.

我刚刚看了一下SDL的Cocoa_GL_CreateContext(在OS X上由SDL_GL_CreateContext调用),它使我从主线程进行的调用设置了上下文.

所以,如果您遇到任何问题,请尝试在主线程中创建GL上下文,然后将其传递给渲染线程(而不是在渲染线程中创建GL上下文).

大佬总结

以上是大佬教程为你收集整理的Windows – SDL 2.0:在主线程中创建窗口,但是单独执行所有渲染全部内容,希望文章能够帮你解决Windows – SDL 2.0:在主线程中创建窗口,但是单独执行所有渲染所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。