149 | | // get position of vertex where normal is being evaluated |
150 | | CVector3D basepos; |
151 | | CalcPosition(i, j, basepos); |
| 149 | CalcPosition(i-1, j, left); |
| 150 | CalcPosition(i+1, j, right); |
| 151 | CalcPosition(i, j-1, up); |
| 152 | CalcPosition(i, j+1, down); |
159 | | if (i < m_MapSize-1) { |
160 | | CalcPosition(i+1, j, right); |
161 | | right -= basepos; |
162 | | right.Normalize(); |
163 | | } |
164 | | |
165 | | if (j > 0) { |
166 | | CalcPosition(i, j-1, up); |
167 | | up -= basepos; |
168 | | up.Normalize(); |
169 | | } |
170 | | |
171 | | if (j < m_MapSize-1) { |
172 | | CalcPosition(i, j+1, down); |
173 | | down -= basepos; |
174 | | down.Normalize(); |
175 | | } |
176 | | |
177 | | CVector3D n0 = up.Cross(left); |
178 | | CVector3D n1 = left.Cross(down); |
179 | | CVector3D n2 = down.Cross(right); |
180 | | CVector3D n3 = right.Cross(up); |
181 | | |
182 | | // Compute the mean of the normals |
183 | | normal = n0 + n1 + n2 + n3; |
| 157 | // Normalize |
196 | | // get position of vertex where normal is being evaluated |
197 | | CFixedVector3D basepos; |
198 | | CalcPositionFixed(i, j, basepos); |
| 170 | CalcPositionFixed(i-1, j, left); |
| 171 | CalcPositionFixed(i+1, j, right); |
| 172 | CalcPositionFixed(i, j-1, up); |
| 173 | CalcPositionFixed(i, j+1, down); |
206 | | if (i < m_MapSize-1) { |
207 | | CalcPositionFixed(i+1, j, right); |
208 | | right -= basepos; |
209 | | right.Normalize(); |
210 | | } |
211 | | |
212 | | if (j > 0) { |
213 | | CalcPositionFixed(i, j-1, up); |
214 | | up -= basepos; |
215 | | up.Normalize(); |
216 | | } |
217 | | |
218 | | if (j < m_MapSize-1) { |
219 | | CalcPositionFixed(i, j+1, down); |
220 | | down -= basepos; |
221 | | down.Normalize(); |
222 | | } |
223 | | |
224 | | CFixedVector3D n0 = up.Cross(left); |
225 | | CFixedVector3D n1 = left.Cross(down); |
226 | | CFixedVector3D n2 = down.Cross(right); |
227 | | CFixedVector3D n3 = right.Cross(up); |
228 | | |
229 | | // Compute the mean of the normals |
230 | | normal = n0 + n1 + n2 + n3; |
| 178 | // Normalize |