Пример #1
0
void gl_select_line( GLcontext *ctx,
		     GLuint v0, GLuint v1, GLuint pv )
{
   const struct vertex_buffer *VB = ctx->VB;
   const GLfloat zs = 1.0F / ctx->Visual->DepthMaxF;
   gl_update_hitflag( ctx, VB->Win.data[v0][2] * zs );
   gl_update_hitflag( ctx, VB->Win.data[v1][2] * zs );
}
Пример #2
0
void gl_select_triangle( GLcontext *ctx,
			 GLuint v0, GLuint v1, GLuint v2, GLuint pv )
{
   const struct vertex_buffer *VB = ctx->VB;

   if (gl_cull_triangle( ctx, v0, v1, v2, 0 )) {
      const GLfloat zs = 1.0F / ctx->Visual->DepthMaxF;
      gl_update_hitflag( ctx, VB->Win.data[v0][2] * zs );
      gl_update_hitflag( ctx, VB->Win.data[v1][2] * zs );
      gl_update_hitflag( ctx, VB->Win.data[v2][2] * zs );
   }
}
Пример #3
0
/*
 * Put points in selection buffer.
 */
static void select_points( GLcontext *ctx, GLuint first, GLuint last )
{
   struct vertex_buffer *VB = ctx->VB;
   GLuint i;

   for (i=first;i<=last;i++) {
      if (VB->Unclipped[i]) {
         gl_update_hitflag( ctx, VB->Win[i][2] / DEPTH_SCALE );
      }
   }
}
Пример #4
0
void gl_select_points( GLcontext *ctx, GLuint first, GLuint last )
{
   struct vertex_buffer *VB = ctx->VB;
   const GLfloat zs = 1.0F / ctx->Visual->DepthMaxF;
   GLuint i;

   for (i=first;i<=last;i++) {
      if (VB->ClipMask[i]==0) {
         gl_update_hitflag( ctx, VB->Win.data[i][2] * zs );
      }
   }
}
Пример #5
0
static void select_line( GLcontext *ctx, GLuint v1, GLuint v2, GLuint pv )
{
   gl_update_hitflag( ctx, ctx->VB->Win[v1][2] / DEPTH_SCALE );
   gl_update_hitflag( ctx, ctx->VB->Win[v2][2] / DEPTH_SCALE );
}