## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats > Struct Template Reference

Interpolator over a scanline. More...

`#include <csplugincommon/softshader/types.h>`

Inheritance diagram for CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >:

[legend]
List of all members.

## 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 CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >

Interpolator over a scanline.

Definition at line 159 of file types.h.

## Member Function Documentation

template<int maxFloats>
void CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::Advance | ( |  | ) | `[inline]`

| Advance a pixel right. Definition at line 230 of file types.h.

template<int maxFloats>
const ScanlineComp* CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::GetFloat | ( | size_t | i | ) | const`[inline]`

| Return an interpolated component. Definition at line 273 of file types.h.

template<int maxFloats>
void CrystalSpace::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 178 of file types.h. References CrystalSpace::SoftShader::InterpolateEdgePersp::PerFloat::c, CrystalSpace::SoftShader::InterpolateEdgePersp::Floats, CrystalSpace::SoftShader::InterpolateEdgePersp::PerFloat::Ic, and CrystalSpace::SoftShader::InterpolateEdgePersp::Iz.

## Member Data Documentation

template<int maxFloats>
ScanlineComp CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::floats[maxFloats]

| Buffer values. Definition at line 162 of file types.h.

template<int maxFloats>
ScanlineCompDivZ CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::floats_f[maxFloats]

| Buffer values div Z. Definition at line 164 of file types.h.

template<int maxFloats>
int CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolShift

| Interpolation shift. Definition at line 169 of file types.h.

template<int maxFloats>
int CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::InterpolStep

| Interpolation step. Definition at line 167 of file types.h.

template<int maxFloats>
float CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::invLastSpan

| Inverse of last span size. Definition at line 175 of file types.h.

template<int maxFloats>
int CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::ipx

| Remaining pixels for this interpolation span. Definition at line 171 of file types.h.

template<int maxFloats>
int CrystalSpace::SoftShader::InterpolateScanlinePersp< maxFloats >::spans

| Remaining spans. Definition at line 173 of file types.h.

The documentation for this struct was generated from the following file:

- csplugincommon/softshader/types.h