Module: wine Branch: master Commit: 1e23602d4bc93ebf609c2a6d99654e2bf3996786 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1e23602d4bc93ebf609c2a6d99...
Author: Alexander Dorofeyev alexd4@inbox.lv Date: Tue Dec 25 00:18:21 2007 -0800
wined3d: Add zero/near zero vertex rhw special case.
---
dlls/wined3d/directx.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 9e6bf33..9536b71 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2906,9 +2906,14 @@ static void position_d3dcolor(void *data) { } static void position_float4(void *data) { GLfloat *pos = (float *) data; - float w = 1.0 / pos[3];
- glVertex4f(pos[0] * w, pos[1] * w, pos[2] * w, w); + if (pos[3] < eps && pos[3] > -eps) + glVertex3fv(pos); + else { + float w = 1.0 / pos[3]; + + glVertex4f(pos[0] * w, pos[1] * w, pos[2] * w, w); + } }
static void diffuse_d3dcolor(void *data) {