Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

OpenGLStipples.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr
00003  *cr            (C) Copyright 1995-2011 The Board of Trustees of the
00004  *cr                        University of Illinois
00005  *cr                         All Rights Reserved
00006  *cr
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: OpenGLStipples.h,v $
00013  *      $Author: johns $        $Locker:  $             $State: Exp $
00014  *      $Revision: 1.9 $       $Date: 2010/12/16 04:08:28 $
00015  *
00016  ***************************************************************************
00017  * DESCRIPTION:
00018  *  Stipple-based transparency rendering patterns
00019  ***************************************************************************/
00020 
00021 // does this material have transparency?
00022 // If so enable transparency via one of these methods:
00023 //  A) alpha blending with two-pass rendering and painter's algorithm
00024 //  B) alpha blending with two-pass rendering and alpha test
00025 //  C) screen-door transparency with polygon stipple trick
00026 //  Removed since we don't need to worry about changing transparency
00027 //  every triangle - it's done once per command list now (or thereabouts).
00028 
00029 // polygon stipple pattern
00030 static GLubyte eighthtone[] = {
00031  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00032  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
00033  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00034  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
00035  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00036  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
00037  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00038  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
00039  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00040  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
00041  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00042  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
00043  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00044  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
00045  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
00046  0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
00047 };
00048 
00049 static GLubyte quartertone[] = {
00050  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00051  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00052  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00053  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00054  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00055  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00056  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00057  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00058  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00059  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00060  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00061  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00062  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00063  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00064  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44,
00065  0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44
00066 };
00067 
00068 static GLubyte halftone[] = {
00069  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00070  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00071  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00072  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00073  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00074  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00075  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00076  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00077  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00078  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00079  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00080  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00081  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00082  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00083  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
00084  0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55
00085 };
00086 
00087 static GLubyte threequartertone[] = {
00088  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00089  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00090  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00091  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00092  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00093  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00094  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00095  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00096  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00097  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00098  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00099  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00100  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00101  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00102  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD,
00103  0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD
00104 };
00105 
00106 static GLubyte seveneighthtone[] = {
00107  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00108  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00109  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00110  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00111  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00112  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00113  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00114  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00115  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00116  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00117  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00118  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00119  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00120  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00121  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF,
00122  0xFE, 0xFE, 0xFE, 0xFE, 0xEF, 0xEF, 0xEF, 0xEF
00123 };
00124 
00125 static GLubyte ninesixteentone[] = {
00126  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00127  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
00128  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00129  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
00130  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00131  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
00132  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00133  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
00134  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00135  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
00136  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00137  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
00138  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00139  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,
00140  0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
00141  0xEF, 0xEF, 0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF
00142 };
00143 
00144 

Generated on Sat May 26 01:48:16 2012 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002