diff options
author | Keith Whitwell <[email protected]> | 2000-12-27 22:30:29 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2000-12-27 22:30:29 +0000 |
commit | ae8ec0b30d799c29034da5bf616b4e324d42d918 (patch) | |
tree | 6eac1f54e5eae7d6f961f1db2df8357a675f667a /src/mesa | |
parent | 93259cdfa10cfd484323b88cf00c9e8422c06bc5 (diff) |
Fix evalpoints bug (samples/nurb)
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/tnl/t_context.h | 3 | ||||
-rw-r--r-- | src/mesa/tnl/t_imm_eval.c | 14 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h index 1a4ebb2170f..62d260681cc 100644 --- a/src/mesa/tnl/t_context.h +++ b/src/mesa/tnl/t_context.h @@ -1,4 +1,4 @@ -/* $Id: t_context.h,v 1.7 2000/12/26 05:09:32 keithw Exp $ */ +/* $Id: t_context.h,v 1.8 2000/12/27 22:30:29 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -354,6 +354,7 @@ struct tnl_eval_store { GLuint EvalMap2Flags; GLuint EvalNewState; + GLfloat Coord[IMM_SIZE][4]; GLfloat Obj[IMM_SIZE][4]; GLfloat TexCoord[IMM_SIZE][4]; GLfloat Normal[IMM_SIZE][3]; diff --git a/src/mesa/tnl/t_imm_eval.c b/src/mesa/tnl/t_imm_eval.c index ed8af649aad..419f449f033 100644 --- a/src/mesa/tnl/t_imm_eval.c +++ b/src/mesa/tnl/t_imm_eval.c @@ -1,4 +1,4 @@ -/* $Id: t_imm_eval.c,v 1.1 2000/12/26 05:09:32 keithw Exp $ */ +/* $Id: t_imm_eval.c,v 1.2 2000/12/27 22:30:29 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -190,7 +190,7 @@ static void eval2_obj_norm( GLvector4f *obj_ptr, ASSIGN_4V(obj[i], 0,0,0,1); _math_de_casteljau_surf(map->Points, obj[i], du, dv, u, v, dimension, map->Uorder, map->Vorder); - + CROSS3(normal[i], du, dv); NORMALIZE_3FV(normal[i]); } @@ -426,27 +426,27 @@ void _tnl_eval_vb( GLcontext *ctx, req |= tnl->pipeline.inputs & tnl->eval.EvalMap2Flags; - /* Translate points into coords. Use store->Obj to hold the + /* Translate points into coords. Use store->Coord to hold the * new data. */ if (any_eval1 && (orflag & VERT_EVAL_P1)) { - eval_points1( store->Obj, coord, flags, + eval_points1( store->Coord, coord, flags, ctx->Eval.MapGrid1du, ctx->Eval.MapGrid1u1); - coord = store->Obj; + coord = store->Coord; } if (any_eval2 && (orflag & VERT_EVAL_P2)) { - eval_points2( store->Obj, coord, flags, + eval_points2( store->Coord, coord, flags, ctx->Eval.MapGrid2du, ctx->Eval.MapGrid2u1, ctx->Eval.MapGrid2dv, ctx->Eval.MapGrid2v1 ); - coord = store->Obj; + coord = store->Coord; } |