2016-09-19 53 views
2

比方说,我使背面使用消隐:使用GL_CW支持GL_CCW和背面剔除之间是否存在显着的性能差异?

glEnable(GL_CULL_FACE); 

我可以配置哪些侧面是在使用这两种扑杀:

glFrontFace(GL_CW); 
glFrontFace(GL_CCW); 

是否有显著的性能差异,如果我选择一个比其他?

我的预感说并不重要,因为这应该只涉及在采用标量产品时检查不同的标志。虽然也许这是硬件依赖?

回答

1

这些函数没有直接链接到性能。这取决于你如何定义你的网格,这些功能只是剔除功能来决定忽略哪个绕组的信息。因此无论如何它都不应该影响性能。

+0

确实如此。我更感兴趣的是渲染过程,当使用一个或另一个命令渲染网格时发生。确实,渲染性能取决于许多不同的因素,但假设您渲染的场景中有一半的三角形面向相机,另一半则面向相机。在这种情况下,您是否选择以顺时针或逆时针顺序定义您的脸部? – Bartvbl

+0

基于一些基于软件的渲染的开源实现(Mesa3d),性能没有区别。 – codetiger

0

就OpenGL规范而言,没有关于精确运行时行为的定义,其中包括性能。像这样的行为总是取决于手头的实施。但是,我知道没有实施,特别是哪里会有可衡量的差异。

相关问题