1Name 2 3 3DFX_tbuffer 4 5Name Strings 6 7 GL_3DFX_tbuffer 8 9Contact 10 11 Paula Womack, 3dfx Interactive (paulaw 'at' 3dfx.com) 12 13Status 14 15 Complete 16 17Version 18 19 Date: April 13, 2000; Revision: 1.0 20 21Number 22 23 208 24 25Dependencies 26 27 OpenGL 1.1 is required. 28 Either SGIS_multisample or 3DFX_multisample is required. 29 This specification is written against OpenGL 1.2. 30 31Overview 32 33 This extension allows a write mask to be defined for the fragment 34 mask which is created during multisample rendering. This can be used 35 to create effects such as motion blur and depth of field. 36 37IP Status 38 39 3DFX has filed for patent protection for some of the techniques 40 described in this extension document. 41 42Issues 43 44 None. 45 46New Procedures and Functions 47 48 void TbufferMask3DFX(uint mask); 49 50New Tokens 51 52 None. 53 54Additions to Chapter 2 of the 1.2 Specification (OpenGL Operation) 55 56 None 57 58Additions to Chapter 3 of the 1.2 Specification (Rasterization) 59 60 The value of TBUFFER_WRITE_MASK_3DFX is specified by calling 61 TbufferMask3DFX, with mask set to the desired mask value. If 62 multisample rendering is enabled then the n least significant bits 63 of TBUFFER_WRITE_MASK_3DFX are bitwise ANDed with the fragment 64 sample mask, where n is equal to SAMPLES_3DFX. 65 66Additions to 3.3.2 Point Multisample Rasterization: 67 68 Following the sentence "Mask bits that correspond to sample points 69 that intersect the circular region are 1, other mask bits are 0." 70 add "The fragment mask thus computed, is then bitwise ANDed with the 71 SAMPLES_3DFX least significant bits of TBUFFER_WRITE_MASK_3DFX. 72 73Additions to 3.4.4 Line Multisample Rasterization: 74 75 Following the sentence "Mask bits that correspond to sample points 76 that intersect a retained rectangle are 1, other mask bits are 0." 77 add "The fragment mask thus computed, is then bitwise ANDed with the 78 SAMPLES_3DFX least significant bits of TBUFFER_WRITE_MASK_3DFX. 79 80Additions to 3.5.6 Polygon Multisample Rasterization: 81 82 Following the sentence "Mask bits that correspond to sample points 83 that satisfy the point sampling criteria are 1, other mask bits are 84 0." add "The fragment mask thus computed, is then bitwise ANDed with 85 the SAMPLES_3DFX least significant bits of TBUFFER_WRITE_MASK_3DFX. 86 87Additions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations and 88the Frame Buffer) 89 90 None 91 92Additions to Chapter 5 of the 1.2 Specification (Special Functions) 93 94 None 95 96Additions to Chapter 6 of the 1.2 Specification (State and State Requests) 97 98 An additional group of multisample state variables is defined by the 99 SGIS_multitexture and 3DFX_multitexture extensions. When PushAttrib 100 is called with bit MULTISAMPLE_BIT_SGIS or MULTISAMPLE_BIT_3DFX set, 101 the multisample group of state variables is pushed onto the 102 attribute stack. When PopAttrib is called, these state variables are 103 restored to their previous values if they were pushed. This 104 extension adds state to the multisample group of state variables. 105 106Additions to the GLX Specification 107 108 None. 109 110Errors 111 112 INVALID_OPERATION is generated if TbufferWriteMask3DFX is called 113 between the execution of Begin and the execution of the 114 corresponding End. 115 116New State 117 118 Get Value Get Command Type Initial Value Attribute 119 --------- ----------- ---- ------------- --------- 120 TBUFFER_WRITE_MASK_3DFX GetIntegerv Z+ 1's multisample 121 122Revision History 123