Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.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++ OpenGL模具缓冲区,它们的支持程度如何?_C++_Opengl_Vbo_Stencil Buffer - Fatal编程技术网

C++ OpenGL模具缓冲区,它们的支持程度如何?

C++ OpenGL模具缓冲区,它们的支持程度如何?,c++,opengl,vbo,stencil-buffer,C++,Opengl,Vbo,Stencil Buffer,OpenGL中的硬件目前对模具缓冲区的支持程度如何 它是否比着色器更好/更差 如果硬件不支持它,会在软件中模拟它吗 不幸的是,我没有找到任何关于这个主题的硬数据。。。我想假设,由于模板制作是一项古老的技术,它将得到无处不在的支持。然而,作为一项古老的技术,它也可以很容易地从较新的GPU硬件中逐步淘汰,取而代之的是片段着色器 在我的场景中,我将使用8位模具缓冲区和24位深度缓冲区,与VBOs一起使用(如果这会影响任何东西的话)。如果我使用模具缓冲区,那些没有模具支持的人就不可能玩我正在制作的游戏

OpenGL中的硬件目前对模具缓冲区的支持程度如何

  • 它是否比着色器更好/更差

  • 如果硬件不支持它,会在软件中模拟它吗

  • 不幸的是,我没有找到任何关于这个主题的硬数据。。。我想假设,由于模板制作是一项古老的技术,它将得到无处不在的支持。然而,作为一项古老的技术,它也可以很容易地从较新的GPU硬件中逐步淘汰,取而代之的是片段着色器


    在我的场景中,我将使用8位模具缓冲区和24位深度缓冲区,与VBOs一起使用(如果这会影响任何东西的话)。如果我使用模具缓冲区,那些没有模具支持的人就不可能玩我正在制作的游戏,这就让人担心了。如果他们至少可以在软件中模拟模具效果,虽然这并不理想,但足以消除我的恐惧。

    模具缓冲区仍然在OpenGL 4.4规范中。它们在第9.1节中有描述,模具测试在第17.3.5节中有描述

    保证你的模具缓冲。它们是在GPU上完成还是在软件中完成是一个实现细节。任何可以运行您所瞄准的OpenGL版本的机器都应该能够在CPU上处理模具测试,而不会出一身冷汗

    OpenGL中的硬件目前对模具缓冲区的支持程度如何

    自古以来,GPU就普遍支持模板缓冲区

    它是否比着色器更好/更差

    “晚上比外面冷吗?”是的,这个问题同样有道理。模具缓冲服务器的用途与着色器完全不同

    如果硬件不支持它,会在软件中模拟它吗

    是的,但不是以一种理想的方式:整个渲染管道将退回到纯软件渲染。模具测试是通过硬连线功能实现的,不能由仅实现模具测试的“插入式”软件进行模拟,而其余部分的实现方式不同。这根本不起作用


    幸运的是,您在野外遇到的每个GPU都支持模板测试。所以这一点都不重要。

    IIRC模具格式仍然存在于4.4中。你检查过规格了吗?@Bartek-我检查过,但是很难从中了解到野外的支撑是什么样子的。从我所读到的内容来看,有些GPU实现得很糟糕,如果有的话。如果在规范中,每个带有“支持OpenGL”标志的GPU都一定会支持它。考虑到他们有这么多年的时间。。。