15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci NV_framebuffer_multisample_coverage 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_NV_framebuffer_multisample_coverage 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Mike Strauss, NVIDIA Corporation (mstrauss 'at' nvidia.com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciStatus 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Shipping in NVIDIA Release 95 drivers (November 2006) 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci Functionality supported by GeForce 8800 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciVersion 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci Last Modified Date: May 31, 2008 225bd8deadSopenharmony_ci Revision #9 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ciNumber 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ci 336 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ciDependencies 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci Requires GL_EXT_framebuffer_object. 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ci Requires GL_EXT_framebuffer_blit. 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ci Requires GL_EXT_framebuffer_multisample. 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ci Written based on the wording of the OpenGL 1.5 specification. 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ciOverview 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ci This extension extends the EXT_framebuffer_multisample 415bd8deadSopenharmony_ci specification by providing a new function, 425bd8deadSopenharmony_ci RenderBufferStorageMultisampleCoverageNV, that distinguishes 435bd8deadSopenharmony_ci between color samples and coverage samples. 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci EXT_framebuffer_multisample introduced the function 465bd8deadSopenharmony_ci RenderbufferStorageMultisampleEXT as a method of defining the 475bd8deadSopenharmony_ci storage parameters for a multisample render buffer. This function 485bd8deadSopenharmony_ci takes a <samples> parameter. Using rules provided by the 495bd8deadSopenharmony_ci specification, the <samples> parameter is resolved to an actual 505bd8deadSopenharmony_ci number of samples that is supported by the underlying hardware. 515bd8deadSopenharmony_ci EXT_framebuffer_multisample does not specify whether <samples> 525bd8deadSopenharmony_ci refers to coverage samples or color samples. 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ci This extension adds the function 555bd8deadSopenharmony_ci RenderbufferStorageMultisamplCoverageNV, which takes a 565bd8deadSopenharmony_ci <coverageSamples> parameter as well as a <colorSamples> parameter. 575bd8deadSopenharmony_ci These two parameters give developers more fine grained control over 585bd8deadSopenharmony_ci the quality of multisampled images. 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ciIP Status 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci No known IP issues. 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ciNew Procedures and Functions 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ci void RenderbufferStorageMultisampleCoverageNV( 675bd8deadSopenharmony_ci enum target, sizei coverageSamples, 685bd8deadSopenharmony_ci sizei colorSamples, enum internalformat, 695bd8deadSopenharmony_ci sizei width, sizei height); 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciNew Tokens 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetRenderbufferParameterivEXT: 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB 765bd8deadSopenharmony_ci RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 775bd8deadSopenharmony_ci 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetIntegerv: 805bd8deadSopenharmony_ci 815bd8deadSopenharmony_ci MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 825bd8deadSopenharmony_ci MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 835bd8deadSopenharmony_ci 845bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation) 855bd8deadSopenharmony_ci 865bd8deadSopenharmony_ci None. 875bd8deadSopenharmony_ci 885bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization) 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ci None. 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment 935bd8deadSopenharmony_ciOperations and the Frame Buffer) 945bd8deadSopenharmony_ci 955bd8deadSopenharmony_ci Modification to 4.4.2.1 (Renderbuffer Objects) 965bd8deadSopenharmony_ci 975bd8deadSopenharmony_ci Add, just above the definition of RenderbufferStorageMultisampleEXT: 985bd8deadSopenharmony_ci 995bd8deadSopenharmony_ci "The command 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci void RenderbufferStorageMultisampleCoverageNV( 1025bd8deadSopenharmony_ci enum target, sizei coverageSamples, 1035bd8deadSopenharmony_ci sizei colorSamples, enum internalformat, 1045bd8deadSopenharmony_ci sizei width, sizei height); 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ci establishes the data storage, format, dimensions, number of coverage 1075bd8deadSopenharmony_ci samples, and number of color samples of a renderbuffer object's 1085bd8deadSopenharmony_ci image. <target> must be RENDERBUFFER_EXT. <internalformat> must be 1095bd8deadSopenharmony_ci RGB, RGBA, DEPTH_COMPONENT, STENCIL_INDEX, or one of the internal 1105bd8deadSopenharmony_ci formats from table 3.16 or table 2.nnn that has a base internal 1115bd8deadSopenharmony_ci format of RGB, RGBA, DEPTH_COMPONENT, or STENCIL_INDEX. <width> 1125bd8deadSopenharmony_ci and <height> are the dimensions in pixels of the renderbuffer. If 1135bd8deadSopenharmony_ci either <width> or <height> is greater than 1145bd8deadSopenharmony_ci MAX_RENDERBUFFER_SIZE_EXT, the error INVALID_VALUE is generated. If 1155bd8deadSopenharmony_ci the GL is unable to create a data store of the requested size, the 1165bd8deadSopenharmony_ci error OUT_OF_MEMORY is generated. 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci Upon success, RenderbufferStorageMultisampleCoverageNV deletes any 1195bd8deadSopenharmony_ci existing data store for the renderbuffer image and the contents of 1205bd8deadSopenharmony_ci the data store after calling 1215bd8deadSopenharmony_ci RenderbufferStorageMultisampleCoverageNV are undefined. 1225bd8deadSopenharmony_ci RENDERBUFFER_WIDTH_EXT is set to <width>, RENDERBUFFER_HEIGHT_EXT 1235bd8deadSopenharmony_ci is set to <height>, and RENDERBUFFER_INTERNAL_FORMAT_EXT is set to 1245bd8deadSopenharmony_ci <internalformat>. 1255bd8deadSopenharmony_ci 1265bd8deadSopenharmony_ci If <coverageSamples> is zero, then RENDERBUFFER_COVERAGE_SAMPLES_NV 1275bd8deadSopenharmony_ci is set to zero. Otherwise <coverageSamples> represents a request 1285bd8deadSopenharmony_ci for a desired minimum number of coverage samples. Since different 1295bd8deadSopenharmony_ci implementations may support different coverage sample counts for 1305bd8deadSopenharmony_ci multisampled rendering, the actual number of coverage samples 1315bd8deadSopenharmony_ci allocated for the renderbuffer image is implementation dependent. 1325bd8deadSopenharmony_ci However, the resulting value for RENDERBUFFER_COVERAGE_SAMPLES_NV is 1335bd8deadSopenharmony_ci guaranteed to be greater than or equal to <coverageSamples> and no 1345bd8deadSopenharmony_ci more than the next larger coverage sample count supported by the 1355bd8deadSopenharmony_ci implementation. 1365bd8deadSopenharmony_ci 1375bd8deadSopenharmony_ci If <colorSamples> is zero then RENDERBUFFER_COLOR_SAMPLES_NV is set 1385bd8deadSopenharmony_ci to zero. Otherwise, <colorSamples> represents a request for a 1395bd8deadSopenharmony_ci desired minimum number of colors samples. Since different 1405bd8deadSopenharmony_ci implementations may support different color sample counts for 1415bd8deadSopenharmony_ci multisampled rendering, the actual number of color samples 1425bd8deadSopenharmony_ci allocated for the renderbuffer image is implementation dependent. 1435bd8deadSopenharmony_ci Furthermore, a given implementation may support different color 1445bd8deadSopenharmony_ci sample counts for each supported coverage sample count. The 1455bd8deadSopenharmony_ci resulting value for RENDERBUFFER_COLOR_SAMPLES_NV is determined 1465bd8deadSopenharmony_ci after resolving the value for RENDERBUFFER_COVERAGE_SAMPLES_NV. 1475bd8deadSopenharmony_ci If the requested color sample count exceeds the maximum number of 1485bd8deadSopenharmony_ci color samples supported by the implementation given the value of 1495bd8deadSopenharmony_ci RENDERBUFFER_COVERAGE_SAMPLES_NV, the implementation will set 1505bd8deadSopenharmony_ci RENDERBUFFER_COLOR_SAMPLES_NV to the highest supported value. 1515bd8deadSopenharmony_ci Otherwise, the resulting value for RENDERBUFFER_COLOR_SAMPLES_NV is 1525bd8deadSopenharmony_ci guaranteed to be greater than or equal to <colorSamples> and no 1535bd8deadSopenharmony_ci more than the next larger color sample count supported by the 1545bd8deadSopenharmony_ci implementation given the value of RENDERBUFFER_COVERAGE_SAMPLES_NV. 1555bd8deadSopenharmony_ci 1565bd8deadSopenharmony_ci If <colorSamples> is greater than <coverageSamples>, the error 1575bd8deadSopenharmony_ci INVALID_VALUE is generated. 1585bd8deadSopenharmony_ci 1595bd8deadSopenharmony_ci If <coverageSamples> or <colorSamples> is greater than 1605bd8deadSopenharmony_ci MAX_SAMPLES_EXT, the error INVALID_VALUE is generated. 1615bd8deadSopenharmony_ci 1625bd8deadSopenharmony_ci If <coverageSamples> is greater than zero, and <colorSamples> is 1635bd8deadSopenharmony_ci zero, RENDERBUFFER_COLOR_SAMPLES_NV is set to an implementation 1645bd8deadSopenharmony_ci dependent value based on RENDERBUFFER_COVERAGE_SAMPLES_NV. 1655bd8deadSopenharmony_ci 1665bd8deadSopenharmony_ci An implementation may only support a subset of the possible 1675bd8deadSopenharmony_ci combinations of coverage samples and color samples. Requests for 1685bd8deadSopenharmony_ci combinations not supported by the implementation are resolved to 1695bd8deadSopenharmony_ci a supported combination using the rules above. The number of 1705bd8deadSopenharmony_ci supported combinations is MAX_MULTISAMPLE_COVERAGE_MODES_NV. 1715bd8deadSopenharmony_ci MULTISAMPLE_COVERAGE_MODES_NV is an array of 1725bd8deadSopenharmony_ci MAX_MULTISAMPLE_COVERAGE_MODES_NV pairs of integers representing 1735bd8deadSopenharmony_ci the combinations of coverage samples and color samples supported 1745bd8deadSopenharmony_ci by the implementation. The first integer in each pair corresponds 1755bd8deadSopenharmony_ci to coverage samples, while the second corresponds to color samples. 1765bd8deadSopenharmony_ci 1775bd8deadSopenharmony_ci Modify the definition of RenderbufferStorageMultisampleEXT as 1785bd8deadSopenharmony_ci follows: 1795bd8deadSopenharmony_ci 1805bd8deadSopenharmony_ci "The command 1815bd8deadSopenharmony_ci 1825bd8deadSopenharmony_ci void RenderbufferStorageMultisampleEXT( 1835bd8deadSopenharmony_ci enum target, sizei samples, 1845bd8deadSopenharmony_ci enum internalformat, 1855bd8deadSopenharmony_ci sizei width, sizei height); 1865bd8deadSopenharmony_ci 1875bd8deadSopenharmony_ci is equivalent to calling 1885bd8deadSopenharmony_ci 1895bd8deadSopenharmony_ci RenderbufferStorageMultisampleCoverageNV(target, samples, 0, 1905bd8deadSopenharmony_ci internalforamt, width, height). 1915bd8deadSopenharmony_ci 1925bd8deadSopenharmony_ci Modification to 4.4.4.2 (Framebuffer Completeness) 1935bd8deadSopenharmony_ci 1945bd8deadSopenharmony_ci Modify the RENDERBUFFER_SAMPLES_EXT entry in the bullet list: 1955bd8deadSopenharmony_ci 1965bd8deadSopenharmony_ci * The value of RENDERBUFFER_COVERAGE_SAMPLES_NV is the same for all 1975bd8deadSopenharmony_ci attached images. 1985bd8deadSopenharmony_ci { FRAMEBUFFER_INCOMPLETE_MULTISAMPLE } 1995bd8deadSopenharmony_ci 2005bd8deadSopenharmony_ci Add an entry to the bullet list: 2015bd8deadSopenharmony_ci 2025bd8deadSopenharmony_ci * The value of RENDERBUFFER_COLOR_SAMPLES_NV is the same for all 2035bd8deadSopenharmony_ci attached images. 2045bd8deadSopenharmony_ci { FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT } 2055bd8deadSopenharmony_ci 2065bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions) 2075bd8deadSopenharmony_ci 2085bd8deadSopenharmony_ci None. 2095bd8deadSopenharmony_ci 2105bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 2.0 Specification (State and 2115bd8deadSopenharmony_ciState Requests) 2125bd8deadSopenharmony_ci 2135bd8deadSopenharmony_ci None. 2145bd8deadSopenharmony_ci 2155bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 2.0 Specification (Invariance) 2165bd8deadSopenharmony_ci 2175bd8deadSopenharmony_ci None. 2185bd8deadSopenharmony_ci 2195bd8deadSopenharmony_ciErrors 2205bd8deadSopenharmony_ci 2215bd8deadSopenharmony_ci The error INVALID_OPERATION is generated if 2225bd8deadSopenharmony_ci RenderbufferStorageMultisampleCoverageNV is called and 2235bd8deadSopenharmony_ci <colorSamples> is greater than <coverageSamples> 2245bd8deadSopenharmony_ci 2255bd8deadSopenharmony_ci The error INVALID_VALUE is generated if 2265bd8deadSopenharmony_ci RenderbufferStorageMultisampleCoverageNV is called and 2275bd8deadSopenharmony_ci <coverageSamples> is greater than MAX_SAMPLES_EXT. 2285bd8deadSopenharmony_ci 2295bd8deadSopenharmony_ci The error INVALID_VALUE is generated if 2305bd8deadSopenharmony_ci RenderbufferStorageMultisampleCoverageNV is called and 2315bd8deadSopenharmony_ci <colorSamples> is greater than MAX_SAMPLES_EXT. 2325bd8deadSopenharmony_ci 2335bd8deadSopenharmony_ciNew State 2345bd8deadSopenharmony_ci 2355bd8deadSopenharmony_ci(add to table 8.nnn, "Renderbuffers (state per renderbuffer object)") 2365bd8deadSopenharmony_ci 2375bd8deadSopenharmony_ci Initial 2385bd8deadSopenharmony_ci Get Value Type Get Command Value Description Section Attribute 2395bd8deadSopenharmony_ci -------------------------------- ---- ----------------------------- ------- ------------------- ------------ --------- 2405bd8deadSopenharmony_ci RENDERBUFFER_COVERAGE_SAMPLES_NV Z+ GetRenderbufferParameterivEXT 0 Number of coverage 4.4.2.1 - 2415bd8deadSopenharmony_ci samples used by the 2425bd8deadSopenharmony_ci renderbuffer 2435bd8deadSopenharmony_ci RENDERBUFFER_COLOR_SAMPLES_NV Z+ GetRenderbufferParameterivEXT 0 Number of color 4.4.2.1 - 2445bd8deadSopenharmony_ci samples used by the 2455bd8deadSopenharmony_ci renderbuffer 2465bd8deadSopenharmony_ci 2475bd8deadSopenharmony_ci(modify RENDERBUFFER_SAMPLES_EXT entry in table 8.nnn) 2485bd8deadSopenharmony_ci 2495bd8deadSopenharmony_ci Initial 2505bd8deadSopenharmony_ci Get Value Type Get Command Value Description Section Attribute 2515bd8deadSopenharmony_ci ------------------------ ---- ----------------------------- ------ ------------------- ------------ --------- 2525bd8deadSopenharmony_ci RENDERBUFFER_SAMPLES_EXT Z+ GetRenderbufferParameterivEXT 0 Alias for 4.4.2.1 - 2535bd8deadSopenharmony_ci RENDERBUFFER_- 2545bd8deadSopenharmony_ci COVERAGE_SAMPLES_NV 2555bd8deadSopenharmony_ci 2565bd8deadSopenharmony_ciNew Implementation Dependent State 2575bd8deadSopenharmony_ci 2585bd8deadSopenharmony_ci Minimum 2595bd8deadSopenharmony_ci Get Value Type Get Command Value Description Section Attribute 2605bd8deadSopenharmony_ci --------------------------------- --------- ----------- ------- ------------------------------------ ------- --------- 2615bd8deadSopenharmony_ci MAX_MULTISAMPLE_COVERAGE_MODES_NV Z+ GetIntegerv 0 Number of unique combinations of 4.4.2.1 - 2625bd8deadSopenharmony_ci <coverageSamples> and <colorSamples> 2635bd8deadSopenharmony_ci supported by the implementation. 2645bd8deadSopenharmony_ci MULTISAMPLE_COVERAGE_MODES_NV n * 2 x Z+ GetIntegerv - MAX_MULTISAMPLE_COVERAGE_MODES_NV (n) 4.4.2.1 - 2655bd8deadSopenharmony_ci pairs of integers. Each pair is 2665bd8deadSopenharmony_ci a unique combination of 2675bd8deadSopenharmony_ci <coverageSamples> and <colorSamples> 2685bd8deadSopenharmony_ci supported by the implementation. 2695bd8deadSopenharmony_ci 2705bd8deadSopenharmony_ciIssues 2715bd8deadSopenharmony_ci 2725bd8deadSopenharmony_ci (1) How should RenderbufferStorageMultisampleEXT be layered on top 2735bd8deadSopenharmony_ci of RenderbufferStorageMultisampleCoverageNV? 2745bd8deadSopenharmony_ci 2755bd8deadSopenharmony_ci RESOLVED. NVIDIA will expose this extension at the same time 2765bd8deadSopenharmony_ci that EXT_framebuffer_multisample is exposed, so there will not 2775bd8deadSopenharmony_ci be any issues with backward compatibility. However, some 2785bd8deadSopenharmony_ci developers choose not to use vendor specific extensions. These 2795bd8deadSopenharmony_ci developers should be able to make use of current and future 2805bd8deadSopenharmony_ci hardware that differentiates between color and coverage 2815bd8deadSopenharmony_ci samples. Since color samples are a subset of coverage samples, 2825bd8deadSopenharmony_ci the <samples> parameter to RenderbufferStorageMultisampleEXT 2835bd8deadSopenharmony_ci should be treated as a request for coverage samples. The 2845bd8deadSopenharmony_ci implementation is free to choose the number of color samples 2855bd8deadSopenharmony_ci used by the renderbuffer. 2865bd8deadSopenharmony_ci 2875bd8deadSopenharmony_ci (2) <coverageSamples> is rounded up to the next highest 2885bd8deadSopenharmony_ci number of samples supported by the implementation. How 2895bd8deadSopenharmony_ci should <colorSamples> be rounded given that an implementation 2905bd8deadSopenharmony_ci may not support all combinations of <coverageSamples> and 2915bd8deadSopenharmony_ci <colorSamples>? 2925bd8deadSopenharmony_ci 2935bd8deadSopenharmony_ci RESOLVED: It is a requirement that <coverageSamples> be 2945bd8deadSopenharmony_ci compatible with the <samples> parameter to 2955bd8deadSopenharmony_ci RenderbufferStorageMultisampleEXT. While it is desirable for 2965bd8deadSopenharmony_ci <colorSamples> to resolve the same way as <coverageSamples>, 2975bd8deadSopenharmony_ci this may not always be possible. An implementation may support 2985bd8deadSopenharmony_ci a different maximum number of color samples for each coverage 2995bd8deadSopenharmony_ci sample count. It would be confusing to set an error when 3005bd8deadSopenharmony_ci <colorSamples> exceeds the maximum supported number of color 3015bd8deadSopenharmony_ci samples for a given coverage sample count, because there 3025bd8deadSopenharmony_ci is no mechanism to query or predict this behavior. Therefore, 3035bd8deadSopenharmony_ci the implementation should round <colorSamples> down when it 3045bd8deadSopenharmony_ci exceeds the maximum number of color samples supported with the 3055bd8deadSopenharmony_ci given coverage sample count. Otherwise, <colorSamples> is 3065bd8deadSopenharmony_ci rounded up to the next highest number of color samples 3075bd8deadSopenharmony_ci supported by the implementation. 3085bd8deadSopenharmony_ci 3095bd8deadSopenharmony_ci (3) EXT_framebuffer_multisample provides a way to query the maximum 3105bd8deadSopenharmony_ci number of samples supported by an implementation. Should a new 3115bd8deadSopenharmony_ci query mechanism be added so that an application can determine 3125bd8deadSopenharmony_ci the maximum number of color samples supported with a given 3135bd8deadSopenharmony_ci number of coverage samples? 3145bd8deadSopenharmony_ci 3155bd8deadSopenharmony_ci RESOLVED: Yes. An application can use GetIntegerv to query 3165bd8deadSopenharmony_ci MAX_MULTISAMPLE_COVERAGE_MODES_NV. The result is the number of 3175bd8deadSopenharmony_ci unique combinations of <coverageSamples> and <colorSamples> that 3185bd8deadSopenharmony_ci are supported by the implementation. GetIntegerv can be used 3195bd8deadSopenharmony_ci with MULTISAMPLE_COVERAGE_MODES_NV to query these combinations. 3205bd8deadSopenharmony_ci The integer array is populated with 3215bd8deadSopenharmony_ci MAX_MULTISAMPLE_COVERAGE_MODES_NV pairs of integers, where each 3225bd8deadSopenharmony_ci pair describes a unique multisample coverage mode. The first 3235bd8deadSopenharmony_ci integer in each pair is the number of coverage samples and the 3245bd8deadSopenharmony_ci second integer is the number of color samples. An example is 3255bd8deadSopenharmony_ci below: 3265bd8deadSopenharmony_ci 3275bd8deadSopenharmony_ci // Get the number of unique multisample coverage modes 3285bd8deadSopenharmony_ci glGetIntegerv(GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV, &numModes); 3295bd8deadSopenharmony_ci 3305bd8deadSopenharmony_ci // Allocate enough memory to store the array of modes 3315bd8deadSopenharmony_ci GLint *modes = (GLint*)malloc(2*numModes*sizeof(GLint)); 3325bd8deadSopenharmony_ci 3335bd8deadSopenharmony_ci // Get the list of modes 3345bd8deadSopenharmony_ci glGetIntegerv(GL_MULTISAMPLE_COVERAGE_MODES_NV, modes); 3355bd8deadSopenharmony_ci 3365bd8deadSopenharmony_ci // Print out all of the modes 3375bd8deadSopenharmony_ci for (i = 0; i < numModes; i++) { 3385bd8deadSopenharmony_ci printf("%d coverage samples, %d color samples\n", 3395bd8deadSopenharmony_ci modes[i*2+0], // coverage samples for mode i 3405bd8deadSopenharmony_ci modes[i*2+1]); // color samples for mode i 3415bd8deadSopenharmony_ci } 3425bd8deadSopenharmony_ci 3435bd8deadSopenharmony_ciRevision History 3445bd8deadSopenharmony_ci 3455bd8deadSopenharmony_ci Rev. Date Author Changes 3465bd8deadSopenharmony_ci ---- -------- -------- -------------------------------------------- 3475bd8deadSopenharmony_ci 7-9 05/31/08 mjk Miscellaneous typo fixes. 3485bd8deadSopenharmony_ci 3495bd8deadSopenharmony_ci 6 mstrauss Internal spec development. 350