projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cosmetic changes;
[mesa.git]
/
src
/
mesa
/
tnl
/
t_vb_points.c
diff --git
a/src/mesa/tnl/t_vb_points.c
b/src/mesa/tnl/t_vb_points.c
index c60a0f56b126886b91ea4ee761c8201b40cc1254..de866974473ec34459c9273a4d6968bbba8c5e30 100644
(file)
--- a/
src/mesa/tnl/t_vb_points.c
+++ b/
src/mesa/tnl/t_vb_points.c
@@
-1,10
+1,8
@@
-/* $Id: t_vb_points.c,v 1.5 2001/12/14 02:51:45 brianp Exp $ */
-
/*
* Mesa 3-D graphics library
/*
* Mesa 3-D graphics library
- * Version:
3.5
+ * Version:
6.1
*
*
- * Copyright (C) 1999-200
1
Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-200
4
Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@
-24,17
+22,17
@@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Authors:
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Authors:
- * Brian Paul
<brian@valinux.com>
+ * Brian Paul
*/
#include "mtypes.h"
*/
#include "mtypes.h"
-#include "
mem
.h"
+#include "
imports
.h"
#include "t_context.h"
#include "t_pipeline.h"
struct point_stage_data {
#include "t_context.h"
#include "t_pipeline.h"
struct point_stage_data {
- GLvector
1
f PointSize;
+ GLvector
4
f PointSize;
};
#define POINT_STAGE_DATA(stage) ((struct point_stage_data *)stage->privatePtr)
};
#define POINT_STAGE_DATA(stage) ((struct point_stage_data *)stage->privatePtr)
@@
-44,7
+42,7
@@
struct point_stage_data {
* Compute attenuated point sizes
*/
static GLboolean run_point_stage( GLcontext *ctx,
* Compute attenuated point sizes
*/
static GLboolean run_point_stage( GLcontext *ctx,
- struct
g
l_pipeline_stage *stage )
+ struct
tn
l_pipeline_stage *stage )
{
struct point_stage_data *store = POINT_STAGE_DATA(stage);
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
{
struct point_stage_data *store = POINT_STAGE_DATA(stage);
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
@@
-53,19
+51,20
@@
static GLboolean run_point_stage( GLcontext *ctx,
const GLfloat p1 = ctx->Point.Params[1];
const GLfloat p2 = ctx->Point.Params[2];
const GLfloat pointSize = ctx->Point._Size;
const GLfloat p1 = ctx->Point.Params[1];
const GLfloat p2 = ctx->Point.Params[2];
const GLfloat pointSize = ctx->Point._Size;
- GLfloat
*size
= store->PointSize.data;
+ GLfloat
(*size)[4]
= store->PointSize.data;
GLuint i;
if (stage->changed_inputs) {
/* XXX do threshold and min/max clamping here? */
for (i = 0; i < VB->Count; i++) {
const GLfloat dist = -eye[i][2];
GLuint i;
if (stage->changed_inputs) {
/* XXX do threshold and min/max clamping here? */
for (i = 0; i < VB->Count; i++) {
const GLfloat dist = -eye[i][2];
- /* GLfloat dist =
GL_SQRT
(pos[0]*pos[0]+pos[1]*pos[1]+pos[2]*pos[2]);*/
- size[i] = pointSize / (p0 + dist * (p1 + dist * p2));
+ /* GLfloat dist =
SQRTF
(pos[0]*pos[0]+pos[1]*pos[1]+pos[2]*pos[2]);*/
+ size[i]
[0]
= pointSize / (p0 + dist * (p1 + dist * p2));
}
}
VB->PointSizePtr = &store->PointSize;
}
}
VB->PointSizePtr = &store->PointSize;
+ VB->AttribPtr[_TNL_ATTRIB_POINTSIZE] = &store->PointSize;
return GL_TRUE;
}
return GL_TRUE;
}
@@
-74,13
+73,13
@@
static GLboolean run_point_stage( GLcontext *ctx,
/* If point size attenuation is on we'll compute the point size for
* each vertex in a special pipeline stage.
*/
/* If point size attenuation is on we'll compute the point size for
* each vertex in a special pipeline stage.
*/
-static void check_point_size( GLcontext *ctx, struct
g
l_pipeline_stage *d )
+static void check_point_size( GLcontext *ctx, struct
tn
l_pipeline_stage *d )
{
{
- d->active = ctx->Point._Attenuated;
+ d->active = ctx->Point._Attenuated
&& !ctx->VertexProgram._Enabled
;
}
static GLboolean alloc_point_data( GLcontext *ctx,
}
static GLboolean alloc_point_data( GLcontext *ctx,
- struct
g
l_pipeline_stage *stage )
+ struct
tn
l_pipeline_stage *stage )
{
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
struct point_stage_data *store;
{
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
struct point_stage_data *store;
@@
-89,7
+88,7
@@
static GLboolean alloc_point_data( GLcontext *ctx,
if (!store)
return GL_FALSE;
if (!store)
return GL_FALSE;
- _mesa_vector
1
f_alloc( &store->PointSize, 0, VB->Size, 32 );
+ _mesa_vector
4
f_alloc( &store->PointSize, 0, VB->Size, 32 );
/* Now run the stage.
*/
/* Now run the stage.
*/
@@
-98,24
+97,24
@@
static GLboolean alloc_point_data( GLcontext *ctx,
}
}
-static void free_point_data( struct
g
l_pipeline_stage *stage )
+static void free_point_data( struct
tn
l_pipeline_stage *stage )
{
struct point_stage_data *store = POINT_STAGE_DATA(stage);
if (store) {
{
struct point_stage_data *store = POINT_STAGE_DATA(stage);
if (store) {
- _mesa_vector
1
f_free( &store->PointSize );
+ _mesa_vector
4
f_free( &store->PointSize );
FREE( store );
FREE( store );
- stage->privatePtr =
0
;
+ stage->privatePtr =
NULL
;
}
}
}
}
-const struct
g
l_pipeline_stage _tnl_point_attenuation_stage =
+const struct
tn
l_pipeline_stage _tnl_point_attenuation_stage =
{
"point size attenuation", /* name */
{
"point size attenuation", /* name */
- _NEW_POINT
, /* build_state_chang
e */
- _NEW_POINT, /* run_state
_change
*/
+ _NEW_POINT
|_NEW_PROGRAM, /* check_stat
e */
+ _NEW_POINT, /* run_state */
GL_FALSE, /* active */
GL_FALSE, /* active */
-
VERT_EYE,
/* inputs */
-
VERT_POINT_SIZE,
/* outputs */
+
_TNL_BIT_POS,
/* inputs */
+
_TNL_BIT_POS,
/* outputs */
0, /* changed_inputs (temporary value) */
NULL, /* stage private data */
free_point_data, /* destructor */
0, /* changed_inputs (temporary value) */
NULL, /* stage private data */
free_point_data, /* destructor */