Phong着色模型能否在固定功能管道OpenGL中实现?

Phong着色模型能否在固定功能管道OpenGL中实现?,opengl,3d,phong,Opengl,3d,Phong,插值顶点处的法线以实现平滑着色效果。它通常和相结合,并且可以在现代OpenGL中实现。但是,固定函数管道OpenGL是否与传统OpenGL相同 包括对它的支持吗?不,它不能。现代OpenGL使程序员能够以多种方式自定义渲染管道,这使他们能够实现这种技术。但是,传统OpenGL不支持顶点法线的插值。可以得到的最接近的效果是,它在顶点处插值颜色 如合同所述: 对照明的硬件支持仅扩展到Blinn Phong照明模型,按顶点计算并插值为最终灯光强度 这并不完全正确。如果您假设固定函数包含多年来添加到固定

插值顶点处的法线以实现平滑着色效果。它通常和相结合,并且可以在现代OpenGL中实现。但是,固定函数管道OpenGL是否与传统OpenGL相同 包括对它的支持吗?

不,它不能。现代OpenGL使程序员能够以多种方式自定义渲染管道,这使他们能够实现这种技术。但是,传统OpenGL不支持顶点法线的插值。可以得到的最接近的效果是,它在顶点处插值颜色

如合同所述:

对照明的硬件支持仅扩展到Blinn Phong照明模型,按顶点计算并插值为最终灯光强度


这并不完全正确。如果您假设固定函数包含多年来添加到固定函数片段处理中的所有扩展,那么将包括env_点和env_交叉条。通过这些,您可以创建一种将法线传递到着色器的方法,并使用它们进行点积,以进行一些基本的逐片段照明。但是,你可以认为这是一个原始的阴影语言,并且几乎任何能够做到这一点的硬件都可以并且可能也确实实现了ARBH-SoxErthObjor等。@ NigoBuras,我的想法是利用多纹理,类似于凹凸贴图是由纹理组合器完成的,这将提供每个像素照明。只是一个类似于延迟渲染的多次渲染。然而,这将是缓慢的,因为只使用glReadPixels而不是渲染到纹理需要在CPU和GPU之间传输。。。为了实现这一点,最有可能的一些过程是基于CPU的。但仍然不需要着色器。