Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1901 serge 1
 
2
 * Mesa 3-D graphics library
3
 * Version:  3.5
4
 *
5
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
6
 *
7
 * Permission is hereby granted, free of charge, to any person obtaining a
8
 * copy of this software and associated documentation files (the "Software"),
9
 * to deal in the Software without restriction, including without limitation
10
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11
 * and/or sell copies of the Software, and to permit persons to whom the
12
 * Software is furnished to do so, subject to the following conditions:
13
 *
14
 * The above copyright notice and this permission notice shall be included
15
 * in all copies or substantial portions of the Software.
16
 *
17
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20
 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
 */
24
25
 
26
 * New (3.1) transformation code written by Keith Whitwell.
27
 */
28
29
 
30
 
31
 */
32
static void TAG(dotprod_vec2)( GLfloat *out,
33
			       GLuint outstride,
34
			       const GLvector4f *coord_vec,
35
			       const GLfloat plane[4] )
36
{
37
   GLuint stride = coord_vec->stride;
38
   GLfloat *coord = coord_vec->start;
39
   GLuint count = coord_vec->count;
40
41
 
42
43
 
44
45
 
46
      *out = (coord[0] * plane0 +
47
	      coord[1] * plane1 +
48
	      plane3);
49
   }
50
}
51
52
 
53
			       GLuint outstride,
54
			       const GLvector4f *coord_vec,
55
			       const GLfloat plane[4] )
56
{
57
   GLuint stride = coord_vec->stride;
58
   GLfloat *coord = coord_vec->start;
59
   GLuint count = coord_vec->count;
60
61
 
62
63
 
64
   const GLfloat plane3 = plane[3];
65
66
 
67
      *out = (coord[0] * plane0 +
68
	      coord[1] * plane1 +
69
	      coord[2] * plane2 +
70
	      plane3);
71
   }
72
}
73
74
 
75
			       GLuint outstride,
76
			       const GLvector4f *coord_vec,
77
			       const GLfloat plane[4] )
78
{
79
   GLuint stride = coord_vec->stride;
80
   GLfloat *coord = coord_vec->start;
81
   GLuint count = coord_vec->count;
82
   GLuint i;
83
84
 
85
   const GLfloat plane3 = plane[3];
86
87
 
88
      *out = (coord[0] * plane0 +
89
	      coord[1] * plane1 +
90
	      coord[2] * plane2 +
91
	      coord[3] * plane3);
92
   }
93
}
94
95
 
96
 
97
{
98
   _mesa_dotprod_tab[2] = TAG(dotprod_vec2);
99
   _mesa_dotprod_tab[3] = TAG(dotprod_vec3);
100
   _mesa_dotprod_tab[4] = TAG(dotprod_vec4);
101
}
102