mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-27 09:32:30 -06:00
swrasterizer: remove invalid TODO
This function is called in clipping, before the pespective divide, and is not used in later rasterization. Thus it doesn't need perspective correction.
This commit is contained in:
parent
72b26ac32f
commit
63b6e802cd
1 changed files with 2 additions and 4 deletions
|
@ -19,10 +19,9 @@ struct Vertex : Shader::OutputVertex {
|
||||||
|
|
||||||
// Linear interpolation
|
// Linear interpolation
|
||||||
// factor: 0=this, 1=vtx
|
// factor: 0=this, 1=vtx
|
||||||
|
// Note: This function cannot be called after perspective divide
|
||||||
void Lerp(float24 factor, const Vertex& vtx) {
|
void Lerp(float24 factor, const Vertex& vtx) {
|
||||||
pos = pos * factor + vtx.pos * (float24::FromFloat32(1) - factor);
|
pos = pos * factor + vtx.pos * (float24::FromFloat32(1) - factor);
|
||||||
|
|
||||||
// TODO: Should perform perspective correct interpolation here...
|
|
||||||
quat = quat * factor + vtx.quat * (float24::FromFloat32(1) - factor);
|
quat = quat * factor + vtx.quat * (float24::FromFloat32(1) - factor);
|
||||||
color = color * factor + vtx.color * (float24::FromFloat32(1) - factor);
|
color = color * factor + vtx.color * (float24::FromFloat32(1) - factor);
|
||||||
tc0 = tc0 * factor + vtx.tc0 * (float24::FromFloat32(1) - factor);
|
tc0 = tc0 * factor + vtx.tc0 * (float24::FromFloat32(1) - factor);
|
||||||
|
@ -30,12 +29,11 @@ struct Vertex : Shader::OutputVertex {
|
||||||
tc0_w = tc0_w * factor + vtx.tc0_w * (float24::FromFloat32(1) - factor);
|
tc0_w = tc0_w * factor + vtx.tc0_w * (float24::FromFloat32(1) - factor);
|
||||||
view = view * factor + vtx.view * (float24::FromFloat32(1) - factor);
|
view = view * factor + vtx.view * (float24::FromFloat32(1) - factor);
|
||||||
tc2 = tc2 * factor + vtx.tc2 * (float24::FromFloat32(1) - factor);
|
tc2 = tc2 * factor + vtx.tc2 * (float24::FromFloat32(1) - factor);
|
||||||
|
|
||||||
screenpos = screenpos * factor + vtx.screenpos * (float24::FromFloat32(1) - factor);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Linear interpolation
|
// Linear interpolation
|
||||||
// factor: 0=v0, 1=v1
|
// factor: 0=v0, 1=v1
|
||||||
|
// Note: This function cannot be called after perspective divide
|
||||||
static Vertex Lerp(float24 factor, const Vertex& v0, const Vertex& v1) {
|
static Vertex Lerp(float24 factor, const Vertex& v0, const Vertex& v1) {
|
||||||
Vertex ret = v0;
|
Vertex ret = v0;
|
||||||
ret.Lerp(factor, v1);
|
ret.Lerp(factor, v1);
|
||||||
|
|
Loading…
Reference in a new issue