mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-13 22:22:27 +00:00
[qfcc] Switch 2d PGA groups to be easily implemented
I guess Hamish's suggestion made sense at the time, but I found that with the current instructions, the reversed bivector wasn't so nice to implement it would need a swizzle as well as the cross-product.
This commit is contained in:
parent
8ff2c5a747
commit
c550ab6b86
1 changed files with 5 additions and 5 deletions
|
@ -304,16 +304,16 @@ algebra_init (algebra_t *a)
|
|||
basis_layout_init (&a->layout, 6, a->groups);
|
||||
} else if (p == 2 && m == 0 && z == 1) {
|
||||
// 2d PGA (w squares to 0, x y square to +1):
|
||||
// : 1 xy wx wy
|
||||
// : x y w wxy
|
||||
// : yw xw xy 1
|
||||
// : x y w wxy
|
||||
basis_blade_t pga_blades[8] = {
|
||||
blades[0], blades[6], blades[4], blades[5],
|
||||
blades[5], blades[4], blades[6], blades[0],
|
||||
blades[2], blades[3], blades[1], blades[7],
|
||||
};
|
||||
a->groups = malloc (sizeof (basis_group_t[4]));
|
||||
a->mvec_types = alloc_mvec_types (4);
|
||||
basis_group_init (&a->groups[0], 1, pga_blades + 0, a, 0);
|
||||
basis_group_init (&a->groups[1], 3, pga_blades + 1, a, 1);
|
||||
basis_group_init (&a->groups[0], 3, pga_blades + 0, a, 0);
|
||||
basis_group_init (&a->groups[1], 1, pga_blades + 3, a, 1);
|
||||
basis_group_init (&a->groups[2], 3, pga_blades + 4, a, 2);
|
||||
basis_group_init (&a->groups[3], 1, pga_blades + 7, a, 3);
|
||||
basis_layout_init (&a->layout, 4, a->groups);
|
||||
|
|
Loading…
Reference in a new issue