void _swrast_select_triangle(struct gl_context *ctx, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) { if (!_swrast_culltriangle(ctx, v0, v1, v2)) { const GLfloat zs = 1.0F / ctx->DrawBuffer->_DepthMaxF; _mesa_update_hitflag( ctx, v0->attrib[VARYING_SLOT_POS][2] * zs ); _mesa_update_hitflag( ctx, v1->attrib[VARYING_SLOT_POS][2] * zs ); _mesa_update_hitflag( ctx, v2->attrib[VARYING_SLOT_POS][2] * zs ); } }
void _swrast_select_triangle(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) { if (_swrast_culltriangle(ctx, v0, v1, v2)) { const GLfloat zs = 1.0F / ctx->DrawBuffer->_DepthMaxF; _mesa_update_hitflag( ctx, v0->attrib[FRAG_ATTRIB_WPOS][2] * zs ); _mesa_update_hitflag( ctx, v1->attrib[FRAG_ATTRIB_WPOS][2] * zs ); _mesa_update_hitflag( ctx, v2->attrib[FRAG_ATTRIB_WPOS][2] * zs ); } }
void _swrast_select_triangle( GLcontext *ctx, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) { if (_swrast_culltriangle( ctx, v0, v1, v2 )) { const GLfloat zs = 1.0F / ctx->DepthMaxF; _mesa_update_hitflag( ctx, v0->win[2] * zs ); _mesa_update_hitflag( ctx, v1->win[2] * zs ); _mesa_update_hitflag( ctx, v2->win[2] * zs ); } }
/* * Put triangle in feedback buffer. */ void _swrast_feedback_triangle(struct gl_context *ctx, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) { if (!_swrast_culltriangle(ctx, v0, v1, v2)) { _mesa_feedback_token(ctx, (GLfloat) (GLint) GL_POLYGON_TOKEN); _mesa_feedback_token(ctx, (GLfloat) 3); /* three vertices */ if (ctx->Light.ShadeModel == GL_SMOOTH) { feedback_vertex(ctx, v0, v0); feedback_vertex(ctx, v1, v1); feedback_vertex(ctx, v2, v2); } else { feedback_vertex(ctx, v0, v2); feedback_vertex(ctx, v1, v2); feedback_vertex(ctx, v2, v2); } } }
/* * Put triangle in feedback buffer. */ void _swrast_feedback_triangle(GLcontext *ctx, const SWvertex *v0, const SWvertex *v1, const SWvertex *v2) { if (_swrast_culltriangle(ctx, v0, v1, v2)) { FEEDBACK_TOKEN(ctx, (GLfloat) (GLint) GL_POLYGON_TOKEN); FEEDBACK_TOKEN(ctx, (GLfloat) 3); /* three vertices */ if (ctx->Light.ShadeModel == GL_SMOOTH) { feedback_vertex(ctx, v0, v0); feedback_vertex(ctx, v1, v1); feedback_vertex(ctx, v2, v2); } else { feedback_vertex(ctx, v0, v2); feedback_vertex(ctx, v1, v2); feedback_vertex(ctx, v2, v2); } } }