Jump to content

  • Log In with Google      Sign In   
  • Create Account

#ActualNik02

Posted 13 December 2012 - 04:30 AM

Fixed pipeline refers to a system where the vertex transformation, lighting and raster output computation are implemented as fixed (as opposed to programmable) hardware units for performance.

You can't run programmable logic in the "pixel shader" stage of a fixed system (the texture blending cascade in D3D), so you can't evaluate lighting approximations very effectively after the vertex processing. D3D9-era hardware does support dot product operation in the cascade, so you can emulate simple per-pixel lighting using normal map textures.

As for your second question, the fixed pipeline has a configurable (again, as opposed to fully programmable) texture coordinate generation logic that can generate texture coordinates for sphere mapping based on the incoming normals.

Remember that the vertex formats were also somewhat fixed back then, and the hardware "knew" what was the purpose of the normal element in the vertices. Today's hardware doesn't care at all about most of the semantics of a vertex structure; it is the responsibility of the shader author to give meaning to the all of the data. In modern hardware (or more specifically drivers), the fixed pipeline is internally implemented as programmable shaders that happen to have the same inputs and outputs that the fixed hardware used to have.

#2Nik02

Posted 13 December 2012 - 04:30 AM

Fixed pipeline refers to a system where the vertex transformation, lighting and raster output computation are implemented as fixed (as opposed to programmable) hardware units for performance.

You can't run programmable logic in the "pixel shader" stage of a fixed system (the texture blending cascade in D3D), so you can't evaluate lighting approximations very effectively after the vertex processing. D3D9-era hardware does support dot product operation in the cascade, so you can emulate simple per-pixel lighting using normal map textures.

As for your second question, the fixed pipeline has a configurable (again, as opposed to fully programmable) texture coordinate generation logic that can generate texture coordinates for sphere mapping based on the incoming normals.

Remember that the vertex formats were also somewhat fixed back then, and the hardware "knew" what was the purpose of the normal element in the vertices. Today's hardware doesn't care at all about most of the semantics of a vertex structure; it is the responsibility of the shader author to give meaning to the all of the data. In modern hardware (or more specifically drivers), the fixed pipeline is internally implemented as programmable shaders that happen to have the same inputs and outputs that the fixed hardware used to have.

#1Nik02

Posted 13 December 2012 - 04:27 AM

Fixed pipeline refers to a system where the vertex transformation, lighting and raster output computation are implemented as fixed (as opposed to programmable) hardware units for performance.

You can't run programmable logic in the "pixel shader" stage of a fixed system (the texture blending cascade in D3D), so you can't evaluate lighting approximations very effectively after the vertex processing. D3D9-era hardware does support dot product operation in the cascade, so you can emulate simple per-pixel lighting using normal map textures.

As for your second question, the fixed pipeline has a configurable (again, as opposed to fully programmable) texture coordinate generation logic that can generate texture coordinates for sphere mapping based on the incoming normals.

Remember that the vertex formats were also somewhat fixed back then, and the hardware "knew" what was the purpose of the normal element in the vertices. Today's hardware doesn't care at all about most of the semantics of a vertex structure; it is the responsibility of the shader author to give meaning to the all of the data.

PARTNERS