Changeset 3598 for trunk/src/opengl/mesa/points.c
- Timestamp:
- May 23, 2000, 10:41:28 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/opengl/mesa/points.c
r2962 r3598 1 /* $Id: points.c,v 1. 2 2000-03-01 18:49:34jeroen Exp $ */1 /* $Id: points.c,v 1.3 2000-05-23 20:40:50 jeroen Exp $ */ 2 2 3 3 /* 4 4 * Mesa 3-D graphics library 5 * Version: 3. 15 * Version: 3.3 6 6 * 7 7 * Copyright (C) 1999 Brian Paul All Rights Reserved. … … 31 31 #include "all.h" 32 32 #else 33 #ifndef XFree86Server 34 #include <math.h> 35 #else 36 #include "GL/xf86glx.h" 37 #endif 33 #include "glheader.h" 38 34 #include "types.h" 39 35 #include "context.h" … … 51 47 52 48 53 void gl_PointSize( GLcontext *ctx, GLfloat size ) 54 { 55 if (size<=0.0) { 49 void 50 _mesa_PointSize( GLfloat size ) 51 { 52 GET_CURRENT_CONTEXT(ctx); 53 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx, "glPointSize"); 54 55 if (size <= 0.0) { 56 56 gl_error( ctx, GL_INVALID_VALUE, "glPointSize" ); 57 57 return; 58 58 } 59 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx, "glPointSize");60 59 61 60 if (ctx->Point.Size != size) { … … 69 68 70 69 71 void gl_PointParameterfvEXT( GLcontext *ctx, GLenum pname, 72 const GLfloat *params) 73 { 70 void 71 _mesa_PointParameterfEXT( GLenum pname, GLfloat param) 72 { 73 _mesa_PointParameterfvEXT(pname, ¶m); 74 } 75 76 77 void 78 _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params) 79 { 80 GET_CURRENT_CONTEXT(ctx); 74 81 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx, "glPointParameterfvEXT"); 75 if(pname==GL_DISTANCE_ATTENUATION_EXT) { 76 GLboolean tmp = ctx->Point.Attenuated; 77 COPY_3V(ctx->Point.Params,params); 78 ctx->Point.Attenuated = (params[0] != 1.0 || 79 params[1] != 0.0 || 80 params[2] != 0.0); 81 82 if (tmp != ctx->Point.Attenuated) { 83 ctx->Enabled ^= ENABLE_POINT_ATTEN; 84 ctx->TriangleCaps ^= DD_POINT_ATTEN; 85 ctx->NewState |= NEW_RASTER_OPS; 86 } 87 } else { 88 if (*params<0.0 ) { 82 83 switch (pname) { 84 case GL_DISTANCE_ATTENUATION_EXT: 85 { 86 const GLboolean tmp = ctx->Point.Attenuated; 87 COPY_3V(ctx->Point.Params, params); 88 ctx->Point.Attenuated = (params[0] != 1.0 || 89 params[1] != 0.0 || 90 params[2] != 0.0); 91 92 if (tmp != ctx->Point.Attenuated) { 93 ctx->Enabled ^= ENABLE_POINT_ATTEN; 94 ctx->TriangleCaps ^= DD_POINT_ATTEN; 95 ctx->NewState |= NEW_RASTER_OPS; 96 } 97 } 98 break; 99 case GL_POINT_SIZE_MIN_EXT: 100 if (*params < 0.0F) { 89 101 gl_error( ctx, GL_INVALID_VALUE, "glPointParameterfvEXT" ); 90 102 return; 91 } 92 switch (pname) { 93 case GL_POINT_SIZE_MIN_EXT: 94 ctx->Point.MinSize=*params; 95 break; 96 case GL_POINT_SIZE_MAX_EXT: 97 ctx->Point.MaxSize=*params; 98 break; 99 case GL_POINT_FADE_THRESHOLD_SIZE_EXT: 100 ctx->Point.Threshold=*params; 101 break; 102 default: 103 gl_error( ctx, GL_INVALID_ENUM, "glPointParameterfvEXT" ); 104 return; 105 } 106 } 103 } 104 ctx->Point.MinSize = *params; 105 break; 106 case GL_POINT_SIZE_MAX_EXT: 107 if (*params < 0.0F) { 108 gl_error( ctx, GL_INVALID_VALUE, "glPointParameterfvEXT" ); 109 return; 110 } 111 ctx->Point.MaxSize = *params; 112 break; 113 case GL_POINT_FADE_THRESHOLD_SIZE_EXT: 114 if (*params < 0.0F) { 115 gl_error( ctx, GL_INVALID_VALUE, "glPointParameterfvEXT" ); 116 return; 117 } 118 ctx->Point.Threshold = *params; 119 break; 120 default: 121 gl_error( ctx, GL_INVALID_ENUM, "glPointParameterfvEXT" ); 122 return; 123 } 124 107 125 ctx->NewState |= NEW_RASTER_OPS; 108 126 } … … 343 361 blue = VB->ColorPtr->data[i][2]; 344 362 alpha = VB->ColorPtr->data[i][3]; 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 363 364 switch (VB->TexCoordPtr[0]->size) { 365 case 4: 366 s = VB->TexCoordPtr[0]->data[i][0]/VB->TexCoordPtr[0]->data[i][3]; 367 t = VB->TexCoordPtr[0]->data[i][1]/VB->TexCoordPtr[0]->data[i][3]; 368 u = VB->TexCoordPtr[0]->data[i][2]/VB->TexCoordPtr[0]->data[i][3]; 369 break; 370 case 3: 371 s = VB->TexCoordPtr[0]->data[i][0]; 372 t = VB->TexCoordPtr[0]->data[i][1]; 373 u = VB->TexCoordPtr[0]->data[i][2]; 374 break; 375 case 2: 376 s = VB->TexCoordPtr[0]->data[i][0]; 377 t = VB->TexCoordPtr[0]->data[i][1]; 378 u = 0.0; 379 break; 380 case 1: 381 s = VB->TexCoordPtr[0]->data[i][0]; 382 t = 0.0; 383 u = 0.0; 384 break; 367 385 default: 368 386 /* should never get here */ 369 387 s = t = u = 0.0; 370 388 gl_problem(ctx, "unexpected texcoord size in textured_rgba_points()"); 371 389 } 372 390 373 391 /* don't think this is needed … … 435 453 blue = VB->ColorPtr->data[i][2]; 436 454 alpha = VB->ColorPtr->data[i][3]; 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 455 456 switch (VB->TexCoordPtr[0]->size) { 457 case 4: 458 s = VB->TexCoordPtr[0]->data[i][0]/VB->TexCoordPtr[0]->data[i][3]; 459 t = VB->TexCoordPtr[0]->data[i][1]/VB->TexCoordPtr[0]->data[i][3]; 460 u = VB->TexCoordPtr[0]->data[i][2]/VB->TexCoordPtr[0]->data[i][3]; 461 break; 462 case 3: 463 s = VB->TexCoordPtr[0]->data[i][0]; 464 t = VB->TexCoordPtr[0]->data[i][1]; 465 u = VB->TexCoordPtr[0]->data[i][2]; 466 break; 467 case 2: 468 s = VB->TexCoordPtr[0]->data[i][0]; 469 t = VB->TexCoordPtr[0]->data[i][1]; 470 u = 0.0; 471 break; 472 case 1: 473 s = VB->TexCoordPtr[0]->data[i][0]; 474 t = 0.0; 475 u = 0.0; 476 break; 459 477 default: 460 478 /* should never get here */ 461 479 s = t = u = 0.0; 462 480 gl_problem(ctx, "unexpected texcoord size in multitextured_rgba_points()"); 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 481 } 482 483 switch (VB->TexCoordPtr[1]->size) { 484 case 4: 485 s1 = VB->TexCoordPtr[1]->data[i][0]/VB->TexCoordPtr[1]->data[i][3]; 486 t1 = VB->TexCoordPtr[1]->data[i][1]/VB->TexCoordPtr[1]->data[i][3]; 487 u1 = VB->TexCoordPtr[1]->data[i][2]/VB->TexCoordPtr[1]->data[i][3]; 488 break; 489 case 3: 490 s1 = VB->TexCoordPtr[1]->data[i][0]; 491 t1 = VB->TexCoordPtr[1]->data[i][1]; 492 u1 = VB->TexCoordPtr[1]->data[i][2]; 493 break; 494 case 2: 495 s1 = VB->TexCoordPtr[1]->data[i][0]; 496 t1 = VB->TexCoordPtr[1]->data[i][1]; 497 u1 = 0.0; 498 break; 499 case 1: 500 s1 = VB->TexCoordPtr[1]->data[i][0]; 501 t1 = 0.0; 502 u1 = 0.0; 503 break; 486 504 default: 487 505 /* should never get here */ 488 506 s1 = t1 = u1 = 0.0; 489 507 gl_problem(ctx, "unexpected texcoord size in multitextured_rgba_points()"); 490 508 } 491 509 492 510 for (iy=y0;iy<=y1;iy++) { … … 540 558 blue = VB->ColorPtr->data[i][2]; 541 559 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 560 switch (VB->TexCoordPtr[0]->size) { 561 case 4: 562 s = (VB->TexCoordPtr[0]->data[i][0]/ 563 VB->TexCoordPtr[0]->data[i][3]); 564 t = (VB->TexCoordPtr[0]->data[i][1]/ 565 VB->TexCoordPtr[0]->data[i][3]); 566 u = (VB->TexCoordPtr[0]->data[i][2]/ 567 VB->TexCoordPtr[0]->data[i][3]); 568 break; 569 case 3: 570 s = VB->TexCoordPtr[0]->data[i][0]; 571 t = VB->TexCoordPtr[0]->data[i][1]; 572 u = VB->TexCoordPtr[0]->data[i][2]; 573 break; 574 case 2: 575 s = VB->TexCoordPtr[0]->data[i][0]; 576 t = VB->TexCoordPtr[0]->data[i][1]; 577 u = 0.0; 578 break; 579 case 1: 580 s = VB->TexCoordPtr[0]->data[i][0]; 581 t = 0.0; 582 u = 0.0; 583 break; 566 584 default: 567 585 /* should never get here */ 568 586 s = t = u = 0.0; 569 587 gl_problem(ctx, "unexpected texcoord size in antialiased_rgba_points()"); 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 588 } 589 590 if (ctx->Texture.ReallyEnabled >= TEXTURE1_1D) { 591 /* Multitextured! This is probably a slow enough path that 592 there's no reason to specialize the multitexture case. */ 593 switch (VB->TexCoordPtr[1]->size) { 594 case 4: 595 s1 = ( VB->TexCoordPtr[1]->data[i][0] / 596 VB->TexCoordPtr[1]->data[i][3]); 597 t1 = ( VB->TexCoordPtr[1]->data[i][1] / 598 VB->TexCoordPtr[1]->data[i][3]); 599 u1 = ( VB->TexCoordPtr[1]->data[i][2] / 600 VB->TexCoordPtr[1]->data[i][3]); 601 break; 602 case 3: 603 s1 = VB->TexCoordPtr[1]->data[i][0]; 604 t1 = VB->TexCoordPtr[1]->data[i][1]; 605 u1 = VB->TexCoordPtr[1]->data[i][2]; 606 break; 607 case 2: 608 s1 = VB->TexCoordPtr[1]->data[i][0]; 609 t1 = VB->TexCoordPtr[1]->data[i][1]; 610 u1 = 0.0; 611 break; 612 case 1: 613 s1 = VB->TexCoordPtr[1]->data[i][0]; 614 t1 = 0.0; 615 u1 = 0.0; 616 break; 599 617 default: 600 618 /* should never get here */ 601 619 s1 = t1 = u1 = 0.0; 602 620 gl_problem(ctx, "unexpected texcoord size in antialiased_rgba_points()"); 603 604 621 } 622 } 605 623 606 624 for (y=ymin;y<=ymax;y++) { … … 618 636 if (ctx->Texture.ReallyEnabled >= TEXTURE1_1D) { 619 637 PB_WRITE_MULTITEX_PIXEL( PB, x,y,z, red, green, blue, 620 638 alpha, s, t, u, s1, t1, u1 ); 621 639 } else { 622 640 PB_WRITE_TEX_PIXEL( PB, x,y,z, red, green, blue, 623 641 alpha, s, t, u ); 624 642 } 625 643 } … … 662 680 } 663 681 PB_WRITE_RGBA_PIXEL( PB, x, y, z, red, green, blue, 664 682 alpha ); 665 683 } 666 684 } 667 685 } 668 686 PB_CHECK_FLUSH(ctx,PB); 669 687 } 670 688 } 671 689 } … … 692 710 */ 693 711 static void dist3(GLfloat *out, GLuint first, GLuint last, 694 712 const GLcontext *ctx, const GLvector4f *v) 695 713 { 696 714 GLuint stride = v->stride; 697 GLfloat *p = VEC_ELT(v, GLfloat, first);715 const GLfloat *p = VEC_ELT(v, GLfloat, first); 698 716 GLuint i; 699 717 700 for (i = first ; i <= last ; i++, STRIDE_F(p, stride) ) 701 { 718 for (i = first ; i <= last ; i++, STRIDE_F(p, stride) ) { 702 719 GLfloat dist = GL_SQRT(p[0]*p[0]+p[1]*p[1]+p[2]*p[2]); 703 out[i] = 1 /(ctx->Point.Params[0]+704 705 720 out[i] = 1.0F / (ctx->Point.Params[0] + 721 dist * (ctx->Point.Params[1] + 722 dist * ctx->Point.Params[2])); 706 723 } 707 724 } 708 725 709 726 static void dist2(GLfloat *out, GLuint first, GLuint last, 710 727 const GLcontext *ctx, const GLvector4f *v) 711 728 { 712 729 GLuint stride = v->stride; 713 GLfloat *p = VEC_ELT(v, GLfloat, first);730 const GLfloat *p = VEC_ELT(v, GLfloat, first); 714 731 GLuint i; 715 732 716 for (i = first ; i <= last ; i++, STRIDE_F(p, stride) ) 717 { 733 for (i = first ; i <= last ; i++, STRIDE_F(p, stride) ) { 718 734 GLfloat dist = GL_SQRT(p[0]*p[0]+p[1]*p[1]); 719 out[i] = 1 /(ctx->Point.Params[0]+720 721 735 out[i] = 1.0F / (ctx->Point.Params[0] + 736 dist * (ctx->Point.Params[1] + 737 dist * ctx->Point.Params[2])); 722 738 } 723 739 } … … 725 741 726 742 typedef void (*dist_func)(GLfloat *out, GLuint first, GLuint last, 727 743 const GLcontext *ctx, const GLvector4f *v); 728 744 729 745 … … 738 754 739 755 static void clip_dist(GLfloat *out, GLuint first, GLuint last, 740 756 const GLcontext *ctx, GLvector4f *clip) 741 757 { 742 758 /* this is never called */ … … 758 774 GLfloat dist = win[i][2]; 759 775 out[i] = 1/(ctx->Point.Params[0]+ 760 761 776 dist * (ctx->Point.Params[1] + 777 dist * ctx->Point.Params[2])); 762 778 } 763 779 #endif … … 770 786 */ 771 787 static void dist_atten_general_ci_points( GLcontext *ctx, GLuint first, 772 788 GLuint last ) 773 789 { 774 790 struct vertex_buffer *VB = ctx->VB; … … 834 850 */ 835 851 static void dist_atten_general_rgba_points( GLcontext *ctx, GLuint first, 836 852 GLuint last ) 837 853 { 838 854 struct vertex_buffer *VB = ctx->VB; … … 906 922 */ 907 923 static void dist_atten_textured_rgba_points( GLcontext *ctx, GLuint first, 908 924 GLuint last ) 909 925 { 910 926 struct vertex_buffer *VB = ctx->VB; … … 964 980 } 965 981 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 982 red = VB->ColorPtr->data[i][0]; 983 green = VB->ColorPtr->data[i][1]; 984 blue = VB->ColorPtr->data[i][2]; 985 986 switch (VB->TexCoordPtr[0]->size) { 987 case 4: 988 s = (VB->TexCoordPtr[0]->data[i][0]/ 989 VB->TexCoordPtr[0]->data[i][3]); 990 t = (VB->TexCoordPtr[0]->data[i][1]/ 991 VB->TexCoordPtr[0]->data[i][3]); 992 u = (VB->TexCoordPtr[0]->data[i][2]/ 993 VB->TexCoordPtr[0]->data[i][3]); 994 break; 995 case 3: 996 s = VB->TexCoordPtr[0]->data[i][0]; 997 t = VB->TexCoordPtr[0]->data[i][1]; 998 u = VB->TexCoordPtr[0]->data[i][2]; 999 break; 1000 case 2: 1001 s = VB->TexCoordPtr[0]->data[i][0]; 1002 t = VB->TexCoordPtr[0]->data[i][1]; 1003 u = 0.0; 1004 break; 1005 case 1: 1006 s = VB->TexCoordPtr[0]->data[i][0]; 1007 t = 0.0; 1008 u = 0.0; 1009 break; 994 1010 default: 995 1011 /* should never get here */ 996 1012 s = t = u = 0.0; 997 1013 gl_problem(ctx, "unexpected texcoord size in dist_atten_textured_rgba_points()"); 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1014 } 1015 1016 if (ctx->Texture.ReallyEnabled >= TEXTURE1_1D) { 1017 /* Multitextured! This is probably a slow enough path that 1018 there's no reason to specialize the multitexture case. */ 1019 switch (VB->TexCoordPtr[1]->size) { 1020 case 4: 1021 s1 = ( VB->TexCoordPtr[1]->data[i][0] / 1022 VB->TexCoordPtr[1]->data[i][3] ); 1023 t1 = ( VB->TexCoordPtr[1]->data[i][1] / 1024 VB->TexCoordPtr[1]->data[i][3] ); 1025 u1 = ( VB->TexCoordPtr[1]->data[i][2] / 1026 VB->TexCoordPtr[1]->data[i][3] ); 1027 break; 1028 case 3: 1029 s1 = VB->TexCoordPtr[1]->data[i][0]; 1030 t1 = VB->TexCoordPtr[1]->data[i][1]; 1031 u1 = VB->TexCoordPtr[1]->data[i][2]; 1032 break; 1033 case 2: 1034 s1 = VB->TexCoordPtr[1]->data[i][0]; 1035 t1 = VB->TexCoordPtr[1]->data[i][1]; 1036 u1 = 0.0; 1037 break; 1038 case 1: 1039 s1 = VB->TexCoordPtr[1]->data[i][0]; 1040 t1 = 0.0; 1041 u1 = 0.0; 1042 break; 1027 1043 default: 1028 1044 /* should never get here */ 1029 1045 s1 = t1 = u1 = 0.0; 1030 1046 gl_problem(ctx, "unexpected texcoord size in dist_atten_textured_rgba_points()"); 1031 1032 1047 } 1048 } 1033 1049 1034 1050 /* don't think this is needed … … 1099 1115 z = (GLint) (VB->Win.data[i][2] + ctx->PointZoffset); 1100 1116 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1117 red = VB->ColorPtr->data[i][0]; 1118 green = VB->ColorPtr->data[i][1]; 1119 blue = VB->ColorPtr->data[i][2]; 1120 1121 switch (VB->TexCoordPtr[0]->size) { 1122 case 4: 1123 s = (VB->TexCoordPtr[0]->data[i][0]/ 1124 VB->TexCoordPtr[0]->data[i][3]); 1125 t = (VB->TexCoordPtr[0]->data[i][1]/ 1126 VB->TexCoordPtr[0]->data[i][3]); 1127 u = (VB->TexCoordPtr[0]->data[i][2]/ 1128 VB->TexCoordPtr[0]->data[i][3]); 1129 break; 1130 case 3: 1131 s = VB->TexCoordPtr[0]->data[i][0]; 1132 t = VB->TexCoordPtr[0]->data[i][1]; 1133 u = VB->TexCoordPtr[0]->data[i][2]; 1134 break; 1135 case 2: 1136 s = VB->TexCoordPtr[0]->data[i][0]; 1137 t = VB->TexCoordPtr[0]->data[i][1]; 1138 u = 0.0; 1139 break; 1140 case 1: 1141 s = VB->TexCoordPtr[0]->data[i][0]; 1142 t = 0.0; 1143 u = 0.0; 1144 break; 1129 1145 default: 1130 1146 /* should never get here */ 1131 1147 s = t = u = 0.0; 1132 1148 gl_problem(ctx, "unexpected texcoord size in dist_atten_antialiased_rgba_points()"); 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1149 } 1150 1151 if (ctx->Texture.ReallyEnabled >= TEXTURE1_1D) { 1152 /* Multitextured! This is probably a slow enough path that 1153 there's no reason to specialize the multitexture case. */ 1154 switch (VB->TexCoordPtr[1]->size) { 1155 case 4: 1156 s1 = ( VB->TexCoordPtr[1]->data[i][0] / 1157 VB->TexCoordPtr[1]->data[i][3] ); 1158 t1 = ( VB->TexCoordPtr[1]->data[i][1] / 1159 VB->TexCoordPtr[1]->data[i][3] ); 1160 u1 = ( VB->TexCoordPtr[1]->data[i][2] / 1161 VB->TexCoordPtr[1]->data[i][3] ); 1162 break; 1163 case 3: 1164 s1 = VB->TexCoordPtr[1]->data[i][0]; 1165 t1 = VB->TexCoordPtr[1]->data[i][1]; 1166 u1 = VB->TexCoordPtr[1]->data[i][2]; 1167 break; 1168 case 2: 1169 s1 = VB->TexCoordPtr[1]->data[i][0]; 1170 t1 = VB->TexCoordPtr[1]->data[i][1]; 1171 u1 = 0.0; 1172 break; 1173 case 1: 1174 s1 = VB->TexCoordPtr[1]->data[i][0]; 1175 t1 = 0.0; 1176 u1 = 0.0; 1177 break; 1162 1178 default: 1163 1179 /* should never get here */ 1164 1180 s = t = u = 0.0; 1165 1181 gl_problem(ctx, "unexpected texcoord size in dist_atten_antialiased_rgba_points()"); 1166 1167 1182 } 1183 } 1168 1184 1169 1185 for (y=ymin;y<=ymax;y++) { … … 1231 1247 GLfloat dist2 = dx*dx + dy*dy; 1232 1248 if (dist2<rmax2) { 1233 1249 alpha = VB->ColorPtr->data[i][3]; 1234 1250 if (dist2>=rmin2) { 1235 1251 GLint coverage = (GLint) (256.0F-(dist2-rmin2)*cscale); … … 1239 1255 alpha = (GLint) (alpha * alphaf); 1240 1256 PB_WRITE_RGBA_PIXEL( PB, x, y, z, red, green, blue, alpha ) 1241 1257 ; 1242 1258 } 1243 1259 } 1244 1260 } 1245 1261 PB_CHECK_FLUSH(ctx,PB); 1246 1262 } 1247 1263 } 1248 1264 } … … 1265 1281 if (ctx->Driver.PointsFunc) { 1266 1282 /* Device driver will draw points. */ 1267 1268 1283 ctx->IndirectTriangles &= ~DD_POINT_SW_RASTERIZE; 1284 return; 1269 1285 } 1270 1286 … … 1275 1291 else if (ctx->Texture.ReallyEnabled) { 1276 1292 if (ctx->Texture.ReallyEnabled >= TEXTURE1_1D) { 1277 1293 ctx->Driver.PointsFunc = multitextured_rgba_points; 1278 1294 } 1279 1295 else { … … 1289 1305 } 1290 1306 else { 1291 1307 /* every other kind of point rendering */ 1292 1308 if (rgbmode) 1293 1309 ctx->Driver.PointsFunc = general_rgba_points;
Note:
See TracChangeset
for help on using the changeset viewer.