Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 独立SDL的局限性是什么?为什么人们选择使用openGL上下文?_C++_Opengl_Sdl - Fatal编程技术网

C++ 独立SDL的局限性是什么?为什么人们选择使用openGL上下文?

C++ 独立SDL的局限性是什么?为什么人们选择使用openGL上下文?,c++,opengl,sdl,C++,Opengl,Sdl,我经常看到的一件事是人们在SDL中使用openGL上下文,这是什么原因 理解起来不是很直观,如果我使用openGL上下文,我的应用程序仍然是多平台的?它会在iOS和Windows上以相同的代码运行吗?SDL本身不会绘制任何图形;这是一个抽象层,需要知道使用哪个图形引擎。请看-但是你可以用SDL绘制图形而不使用任何其他东西,这就是为什么我感到困惑“它会用相同的代码在iOS和Windows上运行”-不,移动平台使用的是OpenGL ES,而现在苹果不赞成在台式机和移动设备上使用任何形式的OpenGL

我经常看到的一件事是人们在SDL中使用openGL上下文,这是什么原因


理解起来不是很直观,如果我使用openGL上下文,我的应用程序仍然是多平台的?它会在iOS和Windows上以相同的代码运行吗?

SDL本身不会绘制任何图形;这是一个抽象层,需要知道使用哪个图形引擎。请看-但是你可以用SDL绘制图形而不使用任何其他东西,这就是为什么我感到困惑“它会用相同的代码在iOS和Windows上运行”-不,移动平台使用的是OpenGL ES,而现在苹果不赞成在台式机和移动设备上使用任何形式的OpenGL。您现在必须在ios/osx上使用metal。SDL只提供最小的功能,但它的呈现程序有多个实现,所以您的SDL代码很可能可以在其他目标上工作,而无需修改。如果你想将2d和3d结合起来,或者做一些非矩形的2d,或者在精灵上使用着色器,可以做一些繁重的事情,比如渲染很多粒子,等等-SDL这里没有介绍你。SDL本身不绘制任何图形;这是一个抽象层,需要知道使用哪个图形引擎。请看-但是你可以用SDL绘制图形而不使用任何其他东西,这就是为什么我感到困惑“它会用相同的代码在iOS和Windows上运行”-不,移动平台使用的是OpenGL ES,而现在苹果不赞成在台式机和移动设备上使用任何形式的OpenGL。您现在必须在ios/osx上使用metal。SDL只提供最小的功能,但它的呈现程序有多个实现,所以您的SDL代码很可能可以在其他目标上工作,而无需修改。如果您想将2d与3d相结合,或执行一些非矩形2d,或在精灵上使用着色器,请执行一些繁重的操作,如渲染大量粒子等。-SDL在此没有介绍您。