15bd8deadSopenharmony_ciXXX - Not complete yet!!! 25bd8deadSopenharmony_ciName 35bd8deadSopenharmony_ci 45bd8deadSopenharmony_ci SGIX_complex_polar 55bd8deadSopenharmony_ci 65bd8deadSopenharmony_ciName Strings 75bd8deadSopenharmony_ci 85bd8deadSopenharmony_ci GL_SGIX_complex_polar 95bd8deadSopenharmony_ci 105bd8deadSopenharmony_ciVersion 115bd8deadSopenharmony_ci 125bd8deadSopenharmony_ci $Date: 1996/06/12 03:45:06 $ $Revision: 1.2 $ 135bd8deadSopenharmony_ci 145bd8deadSopenharmony_ciNumber 155bd8deadSopenharmony_ci 165bd8deadSopenharmony_ci ?? 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciDependencies 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci SGIX_complex is required 215bd8deadSopenharmony_ci 225bd8deadSopenharmony_ciOverview 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ci This extension generates the magnitude and phase of a complex input 255bd8deadSopenharmony_ci source. Computing the spectrum (magnitude) and the phase of a 265bd8deadSopenharmony_ci fourier transform (a typical complex input source) is useful 275bd8deadSopenharmony_ci for signal and image processing applications. 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ciIssues 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ci - this extension is somewhat of hack to work around the problem 335bd8deadSopenharmony_ci of generating only 1 component from an input that has 2 components: 345bd8deadSopenharmony_ci real and imaginary. This extension is really computing 2 operations 355bd8deadSopenharmony_ci that, for generality, should be defined as atomic operations. 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ciNew Procedures and Functions 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ci None 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ciNew Tokens 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by the 445bd8deadSopenharmony_ci <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci COMPLEX_POLAR_EXT 0x???? 475bd8deadSopenharmony_ci 485bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 495bd8deadSopenharmony_ci 505bd8deadSopenharmony_ci None 515bd8deadSopenharmony_ci 525bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci****On RedTail we'll be implementing this through texture LUTs. However, 565bd8deadSopenharmony_ci the more natural fit would be to do it as a post blending operation. 575bd8deadSopenharmony_ci Thus, I'm unclear as to what chapter this description will fall in: 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci The specification of generating the magnitude and phase of a fourier 605bd8deadSopenharmony_ci signal is added to the GL Specification in section X.X.X. The resulting 615bd8deadSopenharmony_ci fragment will be: 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci C_real' = SQRT((Cs_real * Cs_real) + (Cd_imaginary * Cd_imaginary)) 645bd8deadSopenharmony_ci C_imaginary' = arctan(Cs_real / Cs_imaginary) 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ci where Cs_real and Cs_imaginary are the source fragment real and imaginary 675bd8deadSopenharmony_ci subcomponents and C_real' and C_imaginary' are the result fragment 685bd8deadSopenharmony_ci subcomponents. 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci In all cases the above equation is evaluated separately for each 715bd8deadSopenharmony_ci color component. 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 745bd8deadSopenharmony_ciand the Frame Buffer) 755bd8deadSopenharmony_ci 765bd8deadSopenharmony_ci None 775bd8deadSopenharmony_ci 785bd8deadSopenharmony_ciAdditions to Chapter 5 of the GL Specification (Special Functions) 795bd8deadSopenharmony_ci 805bd8deadSopenharmony_ci None 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ciAdditions to Chapter 6 of the GL Specification (State and State Requests) 835bd8deadSopenharmony_ci 845bd8deadSopenharmony_ci None 855bd8deadSopenharmony_ci 865bd8deadSopenharmony_ciAdditions to the GLX Specification 875bd8deadSopenharmony_ci 885bd8deadSopenharmony_ci None 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ciGLX Protocol 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci None 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ciErrors 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci None 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ciNew State 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci Get Value Get Command Type Initial Value Attribute 1015bd8deadSopenharmony_ci --------- ----------- ---- ------------- --------- 1025bd8deadSopenharmony_ci COMPLEX_POLAR_EXT IsEnabled B False color-buffer 1035bd8deadSopenharmony_ci 1045bd8deadSopenharmony_ciNew Implementation Dependent State 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ci None 107