CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats > Struct Template Reference
Interpolator over a scanline. More...
#include <csplugincommon/softshader/types.h>
Inheritance diagram for CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >:
Public Member Functions | |
void | Advance () |
Advance a pixel right. | |
const ScanlineComp * | GetFloat (size_t i) const |
Return an interpolated component. | |
void | Setup (const InterpolateEdgePersp &L, const InterpolateEdgePersp &R, uint len, int ipolStep, int ipolShift) |
Setup interpolation over a scanline, given left and right edge. | |
Public Attributes | |
ScanlineComp | floats [maxFloats] |
Buffer values. | |
ScanlineCompDivZ | floats_f [maxFloats] |
Buffer values div Z. | |
int | InterpolShift |
Interpolation shift. | |
int | InterpolStep |
Interpolation step. | |
float | invLastSpan |
Inverse of last span size. | |
int | ipx |
Remaining pixels for this interpolation span. | |
int | spans |
Remaining spans. |
Detailed Description
template<int maxFloats>
struct CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >
Interpolator over a scanline.
Definition at line 161 of file types.h.
Member Function Documentation
void CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance | ( | ) | [inline] |
Advance a pixel right.
Definition at line 232 of file types.h.
References CS::PluginCommon::SoftShader::ScanlineComp::c, CS::PluginCommon::SoftShader::ScanlineComp::dcdx, CS::PluginCommon::SoftShader::ScanlineCompDivZ::dIcdx, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::dIzdx, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::dIzdx_f, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::dIzdx_fLast, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::floats, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::floats_f, CS::PluginCommon::SoftShader::ScanlineCompDivZ::Ic, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolShift, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolStep, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::invLastSpan, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::ipx, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::Iz, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::Iz_f, and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::spans.
const ScanlineComp* CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::GetFloat | ( | size_t | i | ) | const [inline] |
Return an interpolated component.
Definition at line 275 of file types.h.
References CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::floats.
void CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup | ( | const InterpolateEdgePersp & | L, | |
const InterpolateEdgePersp & | R, | |||
uint | len, | |||
int | ipolStep, | |||
int | ipolShift | |||
) | [inline] |
Setup interpolation over a scanline, given left and right edge.
Definition at line 180 of file types.h.
References CS::PluginCommon::SoftShader::ScanlineComp::c, CS::PluginCommon::SoftShader::InterpolateEdgePersp::PerFloat::c, CS::PluginCommon::SoftShader::ScanlineComp::dcdx, CS::PluginCommon::SoftShader::ScanlineCompDivZ::dIcdx, CS::PluginCommon::SoftShader::ScanlineCompDivZ::dIcdxLast, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::dIzdx, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::dIzdx_f, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::dIzdx_fLast, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::floats, CS::PluginCommon::SoftShader::InterpolateEdgePersp::Floats, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::floats_f, CS::PluginCommon::SoftShader::ScanlineCompDivZ::Ic, CS::PluginCommon::SoftShader::InterpolateEdgePersp::PerFloat::Ic, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolShift, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolStep, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::invLastSpan, CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::ipx, CS::PluginCommon::SoftShader::InterpolateEdgePersp::Iz, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::Iz, CS::PluginCommon::SoftShader::InterpolateScanlinePerspCommon::Iz_f, and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::spans.
Member Data Documentation
ScanlineComp CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::floats[maxFloats] |
Buffer values.
Definition at line 164 of file types.h.
Referenced by CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::GetFloat(), and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup().
ScanlineCompDivZ CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::floats_f[maxFloats] |
Buffer values div Z.
Definition at line 166 of file types.h.
Referenced by CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance(), and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup().
int CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolShift |
Interpolation shift.
Definition at line 171 of file types.h.
Referenced by CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< 0 >::Setup(), and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup().
int CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolStep |
Interpolation step.
Definition at line 169 of file types.h.
Referenced by CS::PluginCommon::SoftShader::InterpolateScanlinePersp< 0 >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< 0 >::Setup(), and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup().
float CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::invLastSpan |
Inverse of last span size.
Definition at line 177 of file types.h.
Referenced by CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance(), and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup().
int CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::ipx |
Remaining pixels for this interpolation span.
Definition at line 173 of file types.h.
Referenced by CS::PluginCommon::SoftShader::InterpolateScanlinePersp< 0 >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< 0 >::Setup(), and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup().
int CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::spans |
Remaining spans.
Definition at line 175 of file types.h.
Referenced by CS::PluginCommon::SoftShader::InterpolateScanlinePersp< 0 >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance(), CS::PluginCommon::SoftShader::InterpolateScanlinePersp< 0 >::Setup(), and CS::PluginCommon::SoftShader::InterpolateScanlinePersp< maxFloats >::Setup().
The documentation for this struct was generated from the following file:
- csplugincommon/softshader/types.h
Generated for Crystal Space by doxygen 1.4.7