/[gzz]/manuscripts/AGPU/paper.txt
ViewVC logotype

Diff of /manuscripts/AGPU/paper.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.14 by tjl, Mon Apr 14 19:02:19 2003 UTC revision 1.15 by tjl, Mon Apr 14 19:03:55 2003 UTC
# Line 25  screen coordinates. Line 25  screen coordinates.
25    
26  Plain OpenGL 1.3 does not by itself provide enough flexibility in the  Plain OpenGL 1.3 does not by itself provide enough flexibility in the
27  fragment pipeline to allow for generating features nonlinearly from  fragment pipeline to allow for generating features nonlinearly from
28  the basis textures[Fig.3].  Because of this, and the availability of stable  the basis textures[Fig.3].  Because of this, and the availability of
29  Linux drivers, our main platforms are NV10, i.e., OpenGL 1.3 +  stable Linux drivers, our main platforms are NV10, i.e., OpenGL 1.3 +
30  GL_NV_register_combiners, and NV25, i.e., NV10 +  GL_NV_register_combiners, and NV25, i.e., NV10 + GL_NV_texture_shader3.
31  GL_NV_texture_shader3.  We will be  working on an implementation based on  We will be  working on an implementation based on GL_ARB_fragment_program
32  GL_ARB_fragment_program and GL_NV_fragment_program once we obtain  and GL_NV_fragment_program now that we have obtained our first  NV3X-based
33  NV3X-based cards.  card.
34    
35  For each unique background texture, a small palette of colors is selected  For each unique background texture, a small palette of colors is
36  randomly from a heuristic distribution.  The shapes of the final  selected randomly from a heuristic distribution.  The shapes of the
37  background texture are generated entirely from a small set of static  final background texture are generated entirely from a small set of
38  "basis textures" bound to texture units with randomly chosen affine  static "basis textures" bound to texture units with randomly chosen
39  texture coordinate mappings using vertex programs. Even though  affine texture coordinate mappings using vertex programs. Even though
40  the basis textures are RGB  the basis textures are RGB textures, they contain no color information:
41  textures, they contain no color information: they are simply treated  they are simply treated as 3- or 4-vectors and combined using the NVIDIA
42  as 3- or 4-vectors and combined using the NVIDIA register combiners  register combiners extension with the palette colors to produce the final
43  extension with the palette colors to produce the final fragment colors.  fragment colors.  
44    
45  The use of the combiners is rather unconventional: we want to lose most  The use of the combiners is rather unconventional: we want to lose most
46  of the original shapes of the basis textures in order to create new,  of the original shapes of the basis textures in order to create new,
47  different shapes from the interaction of the basis texture values and  different shapes from the interaction of the basis texture values and
48  combiner parameters chosen randomly from the seed number.  For this,  combiner parameters chosen randomly from the seed number.  For this,
49  we use dot products of texture values with each other and with random  we use dot products of texture values with each other and with random
50  constant vectors, and scale up with the register combiner output mappings  constant vectors, and scale up with the register combiner output
51  to sharpen the result [Fig.4].  The resulting values  mappings to sharpen the result [Fig.4].  The resulting values are used
52  are used for interpolating between the palette colors.  for interpolating between the palette colors.  
 On the NV25, we use offset textures to allow the creation of new  
 shapes by texture shading.  
53    
54  We realize that this is a rather off-the-wall GPU use but thought  On the NV25, we use offset textures to ease the creation of new shapes
55  you might be interested.  in the fragment pipeline.
56    
57  --- Figures  --- Figures
58    

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26