131 GLfloat invRedScale =
ctx->Visual->InvRedScale;
132 GLfloat invGreenScale =
ctx->Visual->InvGreenScale;
133 GLfloat invBlueScale =
ctx->Visual->InvBlueScale;
134 GLfloat invAlphaScale =
ctx->Visual->InvAlphaScale;
137 if (
VB->ClipMask[
i]==0) {
156 color[0] =
VB->Color[
i][0] * invRedScale;
157 color[1] =
VB->Color[
i][1] * invGreenScale;
158 color[2] =
VB->Color[
i][2] * invBlueScale;
159 color[3] =
VB->Color[
i][3] * invAlphaScale;
161 invq = 1.0F /
VB->TexCoord[
i][3];
162 texcoord[0] =
VB->TexCoord[
i][0] * invq;
163 texcoord[1] =
VB->TexCoord[
i][1] * invq;
164 texcoord[2] =
VB->TexCoord[
i][2] * invq;
165 texcoord[3] =
VB->TexCoord[
i][3];
185 if (
VB->ClipMask[
i]==0) {
208 if (
VB->ClipMask[
i]==0) {
211 pbz[pbcount] = (
GLint) (
win[2] +
ctx->PointZoffset);
212 pbi[pbcount] =
VB->Index[
i];
233 if (
VB->ClipMask[
i]==0) {
267 if (
VB->ClipMask[
i]==0) {
294 for (ix=
x0;ix<=
x1;ix++) {
317 if (
VB->ClipMask[
i]==0) {
348 for (ix=
x0;ix<=
x1;ix++) {
370 if (
VB->ClipMask[
i]==0) {
407 s =
VB->TexCoord[
i][0] /
VB->TexCoord[
i][3];
408 t =
VB->TexCoord[
i][1] /
VB->TexCoord[
i][3];
409 u =
VB->TexCoord[
i][2] /
VB->TexCoord[
i][3];
416 for (ix=
x0;ix<=
x1;ix++) {
417 PB_WRITE_TEX_PIXEL(
PB, ix,
iy,
z,
red,
green,
blue,
alpha,
s,
t,
u );
436 GLfloat radius, rmin, rmax, rmin2, rmax2, cscale;
439 rmin = radius - 0.7071F;
440 rmax = radius + 0.7071F;
443 cscale = 256.0F / (rmax2-rmin2);
445 if (
ctx->Texture.Enabled) {
447 if (
VB->ClipMask[
i]==0) {
448 GLint xmin, ymin, xmax, ymax;
453 xmin = (
GLint) (
VB->Win[
i][0] - radius);
454 xmax = (
GLint) (
VB->Win[
i][0] + radius);
455 ymin = (
GLint) (
VB->Win[
i][1] - radius);
456 ymax = (
GLint) (
VB->Win[
i][1] + radius);
462 s =
VB->TexCoord[
i][0] /
VB->TexCoord[
i][3];
463 t =
VB->TexCoord[
i][1] /
VB->TexCoord[
i][3];
464 u =
VB->TexCoord[
i][2] /
VB->TexCoord[
i][3];
466 for (
y=ymin;
y<=ymax;
y++) {
467 for (
x=xmin;
x<=xmax;
x++) {
474 GLint coverage = (
GLint) (256.0F-(dist2-rmin2)*cscale);
478 PB_WRITE_TEX_PIXEL(
PB,
x,
y,
z,
red,
green,
blue,
alpha,
s,
t,
u );
489 if (
VB->ClipMask[
i]==0) {
490 GLint xmin, ymin, xmax, ymax;
494 xmin = (
GLint) (
VB->Win[
i][0] - radius);
495 xmax = (
GLint) (
VB->Win[
i][0] + radius);
496 ymin = (
GLint) (
VB->Win[
i][1] - radius);
497 ymax = (
GLint) (
VB->Win[
i][1] + radius);
504 for (
y=ymin;
y<=ymax;
y++) {
505 for (
x=xmin;
x<=xmax;
x++) {
512 GLint coverage = (
GLint) (256.0F-(dist2-rmin2)*cscale);
550 if (
ctx->Driver.PointsFunc) {
552 ctx->Driver.PointsFunc =
ctx->Driver.PointsFunc;
555 if (
ctx->Point.SmoothFlag && rgbmode) {
558 else if (
ctx->Texture.Enabled) {
561 else if (
ctx->Point.Size==1.0) {
void gl_error(GLcontext *ctx, GLenum error, const char *s)
void gl_feedback_vertex(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w, const GLfloat color[4], GLfloat index, const GLfloat texcoord[4])
void gl_update_hitflag(GLcontext *ctx, GLfloat z)
#define FEEDBACK_TOKEN(CTX, T)
GLint GLint GLint GLint GLint x
#define GL_INVALID_OPERATION
GLclampf GLclampf GLclampf alpha
GLint GLint GLint GLint GLint GLint y
GLubyte GLubyte GLubyte GLubyte w
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
#define INSIDE_BEGIN_END(CTX)
#define PB_SET_INDEX(CTX, PB, I)
#define PB_WRITE_PIXEL(PB, X, Y, Z)
#define PB_WRITE_TEX_PIXEL(PB, X, Y, Z, R, G, B, A, S, T, U)
#define PB_CHECK_FLUSH(CTX, PB)
#define PB_SET_COLOR(CTX, PB, R, G, B, A)
#define PB_WRITE_RGBA_PIXEL(PB, X, Y, Z, R, G, B, A)
static void general_rgba_points(GLcontext *ctx, GLuint first, GLuint last)
static void select_points(GLcontext *ctx, GLuint first, GLuint last)
static void general_ci_points(GLcontext *ctx, GLuint first, GLuint last)
static void antialiased_rgba_points(GLcontext *ctx, GLuint first, GLuint last)
static void feedback_points(GLcontext *ctx, GLuint first, GLuint last)
void size1_ci_points(GLcontext *ctx, GLuint first, GLuint last)
void gl_set_point_function(GLcontext *ctx)
static void null_points(GLcontext *ctx, GLuint first, GLuint last)
static void size1_rgba_points(GLcontext *ctx, GLuint first, GLuint last)
static void textured_rgba_points(GLcontext *ctx, GLuint first, GLuint last)
void gl_PointSize(GLcontext *ctx, GLfloat size)
#define CLAMP(f, min, max)
struct vertex_buffer * VB
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_Inout_ PERBANDINFO * pbi